IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社BLOCKSMITH&Co.の特許一覧

<>
  • 特許-生体認証を用いる秘密情報分散システム 図1
  • 特許-生体認証を用いる秘密情報分散システム 図2
  • 特許-生体認証を用いる秘密情報分散システム 図3
  • 特許-生体認証を用いる秘密情報分散システム 図4
  • 特許-生体認証を用いる秘密情報分散システム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-08-08
(45)【発行日】2024-08-19
(54)【発明の名称】生体認証を用いる秘密情報分散システム
(51)【国際特許分類】
   H04L 9/08 20060101AFI20240809BHJP
   G06F 21/32 20130101ALI20240809BHJP
   H04L 9/32 20060101ALI20240809BHJP
【FI】
H04L9/08 A
G06F21/32
H04L9/08 F
H04L9/32 200B
H04L9/32 200E
【請求項の数】 6
(21)【出願番号】P 2023208713
(22)【出願日】2023-12-11
【審査請求日】2023-12-11
【早期審査対象出願】
(73)【特許権者】
【識別番号】523002910
【氏名又は名称】株式会社BLOCKSMITH&Co.
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100110135
【弁理士】
【氏名又は名称】石井 裕一郎
(74)【代理人】
【識別番号】100132883
【弁理士】
【氏名又は名称】森川 泰司
(74)【代理人】
【識別番号】100148633
【弁理士】
【氏名又は名称】桜田 圭
(74)【代理人】
【識別番号】100148149
【弁理士】
【氏名又は名称】渡邉 幸男
(74)【代理人】
【識別番号】100180312
【弁理士】
【氏名又は名称】早川 牧子
(72)【発明者】
【氏名】佐藤 賢
(72)【発明者】
【氏名】真田 哲弥
(72)【発明者】
【氏名】藤好 俊
(72)【発明者】
【氏名】森川 達也
(72)【発明者】
【氏名】井上 克彦
(72)【発明者】
【氏名】倪 麗云
【審査官】小林 秀和
(56)【参考文献】
【文献】特開2019-028940(JP,A)
【文献】特開2020-155911(JP,A)
【文献】国際公開第2013/065135(WO,A1)
【文献】国際公開第2022/039095(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
G06F 21/32
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
暗号資産ウォレットとして機能する端末と、鍵サーバと、を備える秘密情報分散システムにおいて、
前記秘密情報分散システムは、前記端末が
k個の分散秘密鍵をランダムに生成し、
n-of-k(n<k)秘密分散により、前記生成されたk個の分散秘密鍵から、マスター秘密鍵を秘匿したまま、マスター検証鍵を求め、
前記求められたマスター検証鍵を前記鍵サーバを介して公開し、
前記生成されたk個の分散秘密鍵のうち、(k-1)個の分散秘密鍵を、前記鍵サーバにて保管される復号鍵にて復号可能に、それぞれ暗号化した(k-1)個の断片を生成し、
前記生成された(k-1)個の断片を、前記秘密情報分散システムがさらに備える(k-1)台のファイルサーバに、それぞれ保管させ、
前記(k-1)個の分散秘密鍵を前記端末から消去し、
前記生成されたk個の分散秘密鍵のうち、前記消去された(k-1)個の分散秘密鍵以外の分散秘密鍵を前記端末に保管する
ことにより、初期化され、
前記端末は、
前記(k-1)台のファイルサーバのうちいずれか(n-1)台のファイルサーバから(n-1)個の断片を取得し、前記鍵サーバから前記復号鍵を取得し、前記取得された(n-1)個の断片を前記取得された復号鍵にて(n-1)個の分散秘密鍵に復号することにより、前記端末に保管された分散秘密鍵と、前記復号された(n-1)個の分散秘密鍵と、からなるn個の分散秘密鍵を取得する取得部、
前記取得されたn個の分散秘密鍵を用いて、前記公開されたマスター検証鍵により検証可能なマスター署名をすることにより、前記暗号資産ウォレットに係るトランザクションを実行する実行部
を備え、
前記端末が前記鍵サーバから前記復号鍵を取得するには、前記端末を介してなされる生体認証を要する
ことを特徴とする秘密情報分散システム。
【請求項2】
前記端末にかわって前記暗号資産ウォレットとして機能する他の端末をさらに備え、
前記他の端末は、
前記(k-1)台のファイルサーバのうちいずれかn台のファイルサーバからn個の断片を取得し、前記他の端末を介して生体認証をなすことにより前記鍵サーバから前記復号鍵を取得し、前記取得されたn個の断片を前記取得された復号鍵にてn個の分散秘密鍵に復号し、
前記取得されたn個の分散秘密鍵を用いて、前記公開されたマスター検証鍵により検証可能なマスター署名をすることにより、前記暗号資産ウォレットに係るトランザクションを実行する
ことを特徴とする請求項1に記載の秘密情報分散システム。
【請求項3】
前記n-of-k秘密分散は、楕円曲線を用いたBLS署名技術によりなされる
ことを特徴とする請求項1または2に記載の秘密情報分散システム。
【請求項4】
暗号資産ウォレットとして機能する端末であって、
k個の分散秘密鍵をランダムに生成する手段、
n-of-k(n<k)秘密分散により、前記生成されたk個の分散秘密鍵から、マスター秘密鍵を秘匿したまま、マスター検証鍵を求める手段、
前記求められたマスター検証鍵を、鍵サーバを介して公開する手段、
前記生成されたk個の分散秘密鍵のうち、(k-1)個の分散秘密鍵を、前記鍵サーバにて保管される復号鍵にて復号可能に、それぞれ暗号化した(k-1)個の断片を生成する手段、
前記生成された(k-1)個の断片を、(k-1)台のファイルサーバに、それぞれ保管させる手段、
前記(k-1)個の分散秘密鍵を前記端末から消去する手段、
前記生成されたk個の分散秘密鍵のうち、前記消去された(k-1)個の分散秘密鍵以外の分散秘密鍵を前記端末に保管する手段、
前記(k-1)台のファイルサーバのうちいずれか(n-1)台のファイルサーバから(n-1)個の断片を取得する手段、
前記端末を介して生体認証をすることにより、前記鍵サーバから前記復号鍵を取得する手段、
前記取得された(n-1)個の断片を前記取得された復号鍵にて(n-1)個の分散秘密鍵に復号することにより、前記端末に保管された分散秘密鍵と、前記復号された(n-1)個の分散秘密鍵と、からなるn個の分散秘密鍵を取得する手段、
前記取得されたn個の分散秘密鍵を用いて、前記公開されたマスター検証鍵により検証可能なマスター署名をすることにより、前記暗号資産ウォレットに係るトランザクションを実行する手段
を備えることを特徴とする端末。
【請求項5】
暗号資産ウォレットとして機能する端末が実行する方法であって、
k個の分散秘密鍵をランダムに生成するステップ、
n-of-k(n<k)秘密分散により、前記生成されたk個の分散秘密鍵から、マスター秘密鍵を秘匿したまま、マスター検証鍵を求めるステップ、
前記求められたマスター検証鍵を、鍵サーバを介して公開するステップ、
前記生成されたk個の分散秘密鍵のうち、(k-1)個の分散秘密鍵を、前記鍵サーバにて保管される復号鍵にて復号可能に、それぞれ暗号化した(k-1)個の断片を生成するステップ、
前記生成された(k-1)個の断片を、(k-1)台のファイルサーバに、それぞれ保管させるステップ、
前記(k-1)個の分散秘密鍵を前記端末から消去するステップ、
前記生成されたk個の分散秘密鍵のうち、前記消去された(k-1)個の分散秘密鍵以外の分散秘密鍵を前記端末に保管するステップ、
前記(k-1)台のファイルサーバのうちいずれか(n-1)台のファイルサーバから(n-1)個の断片を取得するステップ、
前記端末を介して生体認証をすることにより、前記鍵サーバから前記復号鍵を取得するステップ、
前記取得された(n-1)個の断片を前記取得された復号鍵にて(n-1)個の分散秘密鍵に復号することにより、前記端末に保管された分散秘密鍵と、前記復号された(n-1)個の分散秘密鍵と、からなるn個の分散秘密鍵を取得するステップ、
前記取得されたn個の分散秘密鍵を用いて、前記公開されたマスター検証鍵により検証可能なマスター署名をすることにより、前記暗号資産ウォレットに係るトランザクションを実行するステップ
を備えることを特徴とする方法。
【請求項6】
コンピュータを、暗号資産ウォレットとして機能させるプログラムであって、前記プログラムは、前記コンピュータに、
k個の分散秘密鍵をランダムに生成し、
n-of-k(n<k)秘密分散により、前記生成されたk個の分散秘密鍵から、マスター秘密鍵を秘匿したまま、マスター検証鍵を求め、
前記求められたマスター検証鍵を、鍵サーバを介して公開し、
前記生成されたk個の分散秘密鍵のうち、(k-1)個の分散秘密鍵を、前記鍵サーバにて保管される復号鍵にて復号可能に、それぞれ暗号化した(k-1)個の断片を生成し、
前記生成された(k-1)個の断片を、(k-1)台のファイルサーバに、それぞれ保管させ、
前記(k-1)個の分散秘密鍵を前記コンピュータから消去し、
前記生成されたk個の分散秘密鍵のうち、前記消去された(k-1)個の分散秘密鍵以外の分散秘密鍵を前記コンピュータに保管し、
前記(k-1)台のファイルサーバのうちいずれか(n-1)台のファイルサーバから(n-1)個の断片を取得し、
前記コンピュータを介して生体認証をすることにより、前記鍵サーバから前記復号鍵を取得し、
前記取得された(n-1)個の断片を前記取得された復号鍵にて(n-1)個の分散秘密鍵に復号することにより、前記コンピュータに保管された分散秘密鍵と、前記復号された(n-1)個の分散秘密鍵と、からなるn個の分散秘密鍵を取得し、
前記取得されたn個の分散秘密鍵を用いて、前記公開されたマスター検証鍵により検証可能なマスター署名をすることにより、前記暗号資産ウォレットに係るトランザクションを実行する
処理を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末とファイルサーバとを用いる秘密情報分散システムに関する。
【背景技術】
【0002】
重要な処理(トランザクション)を実行しようとする者が、正当な権限を有するか否かを判定するために、秘密情報を用いることが広く行われている。たとえば、秘密情報として各種のパスワードを採用する技術がある。
【0003】
また、秘密情報として秘密鍵を採用し、メッセージに対して当該秘密鍵により署名を行い、当該秘密鍵と鍵ペアをなす公開鍵により当該署名の検証をすることで、当該メッセージに署名をした者が正当であるか否かを確認することができる。
【0004】
このような本人確認のための署名技術は、暗号資産のウォレットにおいて、暗号資産(仮想通貨)を出金するなどの重要な処理(トランザクション)を実行する際にも利用されている。
【0005】
一方で、秘密情報を複数の断片に分散させて、各断片からは元の秘密情報を知得できないようにし、断片を集めることで元の秘密情報を用いた場合と同様の役割を果たす秘密分散技術が提案されている。秘密情報をk個の断片に分散し、そのうちのn個(n<k)を集めることで元の秘密情報を用いた場合と同様の役割を果たすことができるような態様を、n-of-k秘密分散と呼ぶ。
【0006】
たとえば、Shamirの秘密分散技術では、
1つの秘密情報をk個の断片に分割し、
そのうちのn個の断片から元の秘密情報を復元する
ことができる(非特許文献1)。
【0007】
一方、楕円曲線上の点Pを用いるBLS(Boneh-Lynn-Shacham)署名等の準同形暗号による署名技術を用いた秘密分散によると、
1つのマスター秘密鍵sからk個の分散秘密鍵s1, s2, ..., skを生成し、
そのうちのn個の分散秘密鍵s1, s2, ..., snのそれぞれと、ハッシュ関数Hと、を用いて、1つのメッセージmに対して署名をすることにより、n個の分散署名s1H(m), s2H(m), ..., snH(m)を得て、
マスター秘密鍵sにより当該1つのメッセージに対してされるべきマスター署名sH(m)、すなわち、マスター秘密鍵sに呼応する検証鍵(マスター公開鍵)sPにより検証が可能なマスター署名sH(m)を、当該n個の分散署名s1H(m), s2H(m), ..., snH(m)から復元する
ことができる(非特許文献2)。なお、復元の際には、当該マスター秘密鍵そのものを使用する必要がないため、秘密分散がなされた後は、マスター秘密鍵そのものを破棄、消去することができる。
【0008】
これを拡張して、k個の分散秘密鍵s1, s2, ..., skをランダムに生成し、これらから検証鍵sPを直接求める技術も提案されている(非特許文献3)。この技術によれば、秘密情報であるマスター秘密鍵sそのものは一切生成されないので、第三者はもちろん、使用者の誰に対しても秘匿されたままとなる。
【0009】
このような、秘密情報の分散は、ブロックチェーンにおける多数決やシャーディングにも利用されている。
【先行技術文献】
【非特許文献】
【0010】
【文献】Pavol Rusnak, Andrew Kozlik, Ondrej Vejpustek, Tomas Susanka, Marek Palatinus, and Jochen Hoenicke, "SLIP-0039: Shamir's Secret-Sharing for Mnemonic Codes", https://github.com/satoshilabs/slips/blob/master/slip-0039.md, 2017年12月18日, (2023年11月29日にダウンロード)
【文献】Dan Boneh, Manu Drijvers, and Gregory Neven, "BLS Multi-Signatures With Public-Key Aggregation", https://crypto.stanford.edu/~dabo/pubs/papers/BLSmultisig.html, 2018年3月24日, (2023年11月29日にダウンロード)
【文献】J. Doerner, Y. Kondi, E. Lee, and A. Shelat, "Secure Two-party Threshold ECDSA from ECDSA Assumptions", 2018 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA, pp. 980-997, https://doi.org/10.1109/SP.2018.00036, 2018年5月, (2023年12月4日にダウンロード)
【発明の概要】
【発明が解決しようとする課題】
【0011】
秘密情報をバックアップする際には、バックアップ先として、他者が運営しているネットストレージなどのファイルサーバを利用できるようにしたいという要望がある。
【0012】
また、ファイルサーバにバックアップされた情報が何らかの事故・事件により漏洩してしまった場合であっても、元の秘密情報が直ちに第三者に渡ってしまうような事態を防止する必要がある。
【0013】
一方で、所有する端末を紛失等して、バックアップからの復旧により元の秘密情報に基づくトランザクションをする場合の手間を減らしたい、という要望もある。
【0014】
本発明は、上記の課題を解決するもので、生体認証を用いる秘密情報分散システム、当該秘密情報分散システムにおける端末、当該端末が実行する方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明に係る秘密情報分散システムは、
n-of-k秘密分散(n<k)により秘密情報を分散したk個の断片を、端末と(k-1)台のファイルサーバにそれぞれ保管し、
前記端末は、
n個の断片を、前記端末と、前記(k-1)台のファイルサーバのうちいずれか(n-1)台のファイルサーバと、から取得し、
前記取得されたn個の断片により、前記秘密情報に基づくトランザクションを実行し、
前記(k-1)台のファイルサーバの一部又は全部から断片を取得するには、生体認証を要する
ように構成する。
【発明の効果】
【0016】
本発明によれば、生体認証を用いる秘密情報分散システム、当該秘密情報分散システムにおける端末、当該端末が実行する方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【0017】
図1】本発明の実施形態に係る秘密情報分散システムの構成を示す説明図である。
図2】本発明の実施形態に係る秘密情報分散システムの端末の構成を示す説明図である。
図3】本発明の実施形態において、マスター秘密鍵sを生成する分散処理の制御の流れを示すフローチャートである。
図4】本発明の実施形態において、マスター秘密鍵sを誰に対しても秘匿する分散処理の制御の流れを示すフローチャートである。
図5】本発明の実施形態に係る署名処理の制御の流れを示すフローチャートである。
【発明を実施するための形態】
【0018】
以下に、本発明の実施形態を説明する。なお、本実施形態は、説明のためのものであり、本発明の範囲を制限するものではない。したがって、当業者であれば、本実施形態の各要素もしくは全要素を、これと均等なものに置換した実施形態を採用することが可能である。また、各実施例にて説明する要素は、用途に応じて適宜省略することも可能である。このように、本発明の原理にしたがって構成された実施形態は、いずれも本発明の範囲に含まれる。
【0019】
(秘密情報分散システム)
図1は、本発明の実施形態に係る秘密情報分散システムの構成を示す説明図である。以下、本図を参照して説明する。
【0020】
本実施形態に係る秘密情報分散システム11は、インターネット等のコンピュータ通信網12を介して、端末13aと、当該端末が各種の情報を保管するファイルサーバ14と、を備え、付加的な要素として、鍵サーバ15を備えることもできる。また、ユーザが端末13aを紛失等した場合には、当該ユーザが使用する他の端末13bを端末13aのかわりの構成要素として使用することもできる。以下、ユーザが使用する端末13a, 13bを総称して、適宜「端末13」と呼ぶこととする。
【0021】
秘密情報分散システム11を構成する端末13、ファイルサーバ14、鍵サーバ15は、典型的には、プログラムをコンピュータが実行することによって実現される。当該コンピュータは、各種の出力装置や入力装置に接続され、これらの機器と情報を送受する。
【0022】
各コンピュータにて実行されるプログラムは、当該コンピュータが通信可能に接続されたウェブサーバ等により配布、販売することができるほか、CD-ROM(Compact Disk Read Only Memory)やフラッシュメモリ、EEPROM(Electrically Erasable Programmable ROM)などの非一時的(non-transitory)な情報記録媒体に記録した上で、当該情報記録媒体を配布、販売等することも可能である。
【0023】
プログラムは、コンピュータが有するハードディスク、ソリッドステートドライブ、フラッシュメモリ、EEPROM等などの非一時的な情報記録媒体にインストールされる。すると、当該コンピュータにより、本実施形態における端末やサーバが実現されることになる。
【0024】
一般的には、コンピュータのCPU(Central Processing Unit)は、コンピュータのOS(Operating System)による管理の下、情報記録媒体からRAM(Random Access Memory)へプログラムを読み出してから、当該プログラムに含まれるコードを解釈、実行する。ただし、CPUがアクセス可能なメモリ空間内に情報記録媒体をマッピングできるようなアーキテクチャでは、RAMへの明示的なプログラムのロードは不要なこともある。なお、プログラムの実行の過程で必要とされる各種情報は、RAM内に一時的(temporary)に記録しておくことができる。
【0025】
なお、汎用のコンピュータにより本実施形態の情報処理装置を実現するのではなく、専用の電子回路を用いて本実施形態の情報処理装置を構成することも可能である。この態様では、プログラムを電子回路の配線図やタイミングチャート等を生成するための素材として利用することもできる。このような態様では、プログラムに定められる仕様を満たすような電子回路がFPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)により構成され、当該電子回路は、当該プログラムに定められた機能を果たす専用機器として機能して、本実施形態の情報処理装置を実現する。
【0026】
典型的には、端末13は、スマートフォンにより構成される。スマートフォンは、アプリストアからダウンロードされてインストールされたアプリケーションプログラムを実行することにより、本実施形態に係る端末13の機能を果たす。
【0027】
また、ファイルサーバ14や鍵サーバ15は、情報を保管するサービスを提供するサーバコンピュータにより構成される。本実施形態に係る秘密情報分散システムでは、ファイルサーバ14や鍵サーバ15は、専用のサーバを利用することも可能であるが、ソーシャルログインが可能な汎用のネットストレージにより構成すると、ユーザにとっての利便性を維持することができる。
【0028】
以下では、理解を容易にするため、端末13、ファイルサーバ14、鍵サーバ15が、コンピュータがプログラムを実行することによって実現される態様を想定して説明する。
【0029】
さて、本実施形態に係る秘密情報分散システム11では、
1つの秘密情報をn-of-k秘密分散によりk個の断片に分散し、
当該k個の断片を、端末13と(k-1)台のファイルサーバ14にそれぞれ保管する。
【0030】
ここで、ファイルサーバ14は、断片を暗号化して保管することができる。
【0031】
また、ファイルサーバ14に断片を保管するにあたって、ファイルサーバ14に共通する復号鍵で復号可能な暗号化を施すことができる。
【0032】
当該共通する復号鍵は、鍵サーバ15が保管することができる。
【0033】
ここで、端末13aからファイルサーバ14および鍵サーバ15に対しては、特定のウェブサービスのアカウントを利用してソーシャルログインできるように構成しておくと、端末13aを紛失した場合であっても、他の端末13bをかわりに使用することが容易になる。
【0034】
さて、本実施形態では、ファイルサーバ14に保管される断片を端末13から取得するには、生体認証を要することを、特徴の一つとしている。
【0035】
これを実現する第1の手法は、
ファイルサーバ14へのサインインに際して、ソーシャルログインによる認証に加えて、
端末13にて撮影したユーザの顔写真画像や端末13にて取得したユーザの指紋情報等の生体情報をファイルサーバ14に送り、
ファイルサーバ14が生体認証をする、
というものである。
【0036】
当該第1の手法は、各ファイルサーバ14が鍵サーバ15を利用しない態様に好適である。すなわち、各ファイルサーバ14は、断片をそのまま暗号化せずに保管しても良い。また、ファイルサーバ14は、それぞれが採用する(他のファイルサーバ14とは必ずしも共通しない)暗号化技術により断片を暗号化し、サインインに成功することによって断片を復号できることとしても良い。
【0037】
第2の手法は、
端末13にて撮影したユーザの顔写真画像や端末13にて取得したユーザの指紋情報等の生体情報をファイルサーバ14に送り、
鍵サーバ15では、ソーシャルログインによる認証に加えて、生体認証を行い、
生体認証が成功した場合に限って、端末13が鍵サーバ15から復号鍵を取得できる、
とするものである。
【0038】
当該第2の手法では、各ファイルサーバ14に保管されるものは、復号鍵で復号可能な暗号化が施された暗号化ずみの断片であり、端末13は、ファイルサーバ14から、暗号化された断片を読み出して、鍵サーバ15から取得された復号鍵を使用することにより、元の断片を復号することになる。
【0039】
本実施形態では、n-of-k秘密分散を利用しているため、端末13aが1つの断片を保管している場合には、端末13aが(n-1)台のファイルサーバ14から(n-1)個の断片を取得し、n個の断片を揃えることで、元の秘密情報に基づくトランザクションを実行する。
【0040】
一方、ユーザが端末13aを紛失等してしまった場合は、端末13bは、n台のファイルサーバ14からn個の断片を取得することで、元の秘密情報に基づくトランザクションが実行できることになる。このように、本実施形態では、秘密情報のバックアップが秘密分散によりなされる。
【0041】
(端末)
図2は、本発明の実施形態に係る秘密情報分散システムの端末の構成を示す説明図である。以下、本図を参照して説明する。
【0042】
端末13は、取得部101と、実行部102と、を備える。
【0043】
ここで、取得部101は、端末13が1つの断片を保管していれば、
当該端末13から1個の断片を、
(k-1)台のファイルサーバ14のうちいずれか(n-1)台のファイルサーバ14から(n-1)個の断片を、
それぞれ取得することにより、n個の断片を揃える。
【0044】
一方、取得部101は、端末13が断片を保管していなければ、
(k-1)台のファイルサーバ14のうちいずれかn-台のファイルサーバ14からn個の断片を、
それぞれ取得することにより、n個の断片を揃える。
【0045】
そして、実行部102は、取得されたn個の断片により、秘密情報に基づくトランザクションを実行する。
【0046】
以下では、理解を容易にするため、端末13にてBLS署名をする態様を例にあげて説明する。BLS署名は、楕円曲線へのハッシュ関数Hと、当該楕円曲線上の点Pと、を用いるもので、暗号資産ウォレットにて使用される各種のトランザクション等で署名を施す際に適用可能である。
【0047】
(分散処理)
まず、端末13とファイルサーバ14に秘密情報を分散した断片を保管させる初期化を行う分散処理について説明する。図3は、本発明の実施形態において、マスター秘密鍵sを生成する分散処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【0048】
端末13は、まず、トランザクションのためのマスター秘密鍵sを生成し(ステップS300)、当該マスター秘密鍵に基づくマスター検証鍵sPを求める(ステップS301)。当該マスター秘密鍵が、本実施形態における秘密情報に相当する。
【0049】
そして、端末13は、当該マスター秘密鍵sに基づいて、k個の分散秘密鍵s1, s2, ..., skを生成する(ステップS302)。分散秘密鍵s1, s2, ..., skからは、これに相応する分散検証鍵s1P, s2P, ..., skPをそれぞれ生成することができる。分散秘密鍵s1, s2, ..., skが、本実施形態における断片に相当する。
【0050】
ついで、端末13は、k個の分散秘密鍵に適用する暗号方式における復号鍵e-1
(および、必要があれば、暗号鍵e)を生成する(ステップS303)。当該暗号方式として公開鍵暗号を採用する場合には、公開鍵eと秘密鍵e-1とを含む鍵ペアを生成し、当該秘密鍵e-1を復号鍵とし、当該公開鍵eを暗号鍵とする。共通鍵暗号を採用する場合には、暗号鍵と復号鍵は一致し、e = e-1となる。
【0051】
そして、端末13は、k個の分散秘密鍵s1, s2, ..., skをステップS303で生成された暗号鍵により暗号化して、暗号化済断片e(s1), e(s2), ..., e(sk)とする(ステップS304)。
【0052】
ついで、端末13は、鍵サーバ15にサインインして復号鍵e-1を保管し(ステップS305)、マスター検証鍵sPを公開する(ステップS306)。ここで、マスター検証鍵sPを公開するには、鍵サーバ15を用いても良いし、ブロックチェーンで用いられる鍵公開技術等を利用しても良い。
【0053】
なお、復号鍵e-1は、秘匿すべき情報であり、復号鍵e-1を取得するには、端末13にて取得された生体情報により鍵サーバ15における生体認証が成功することが必要である。
【0054】
さらに、端末13は、(k-1)個のファイルサーバ14にサインインして、(k-1)個の暗号化済断片e(s2), ..., e(sk)をそれぞれ保管させる(ステップS306)。
【0055】
ついで、端末13は、自身の不揮発な記憶領域に、暗号化済断片e(s1)もしくは暗号化していない元の断片s1を保管する(ステップS307)。本フローチャートでは、暗号化済断片e(s1)を保管するように図示している。なお、端末13に元の断片s1を保管する態様では、ステップS304においてs1に対する暗号化は不要である。
【0056】
そして、端末13は、少なくとも、
マスター秘密鍵s、
分散秘密鍵s2, ..., sk
分散秘密鍵s1を暗号化して端末13に保管する態様では、元の分散秘密鍵s1
暗号化済断片e(s2), ..., e(sk)、
元の分散秘密鍵s1をそのまま端末13に保管する態様で、s1に対する暗号化をしていれば、暗号化済断片e(s1)
のような秘匿すべき情報を、メモリや記録媒体から消去して、破棄し(ステップS308)、本処理を終了する。
【0057】
このようにして、秘密情報であるマスター秘密鍵sが、端末13および(k-1)台のファイルサーバ14に秘密分散されて保管され、マスター秘密鍵sそのものはどこにも残らないことになる。
【0058】
上記処理では、マスター秘密鍵sを生成しているが、非特許文献3等に開示される通り、マスター秘密鍵sを秘匿したまま、マスター検証鍵sPを求めることができる。図4は、本発明の実施形態において、マスター秘密鍵sを誰に対しても秘匿する分散処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。なお、本図においては、図3に示すものと同様の処理については、同じ符号を付している。
【0059】
端末13は、まず、k個の分散秘密鍵s1, s2, ..., skをランダムに生成し(ステップS400)、当該k個の分散秘密鍵s1, s2, ..., skに秘密分散されたマスター秘密鍵sに対応するマスター検証鍵sPを、たとえば非特許文献3に開示される技術により求める(ステップS401)。
【0060】
すなわち、k個の分散秘密鍵s1, s2, ..., skは、マスター検証鍵sPに対応するマスター秘密鍵sを秘密分散したものであるが、本処理では、マスター秘密鍵sを直接生成することはない。すなわち、マスター秘密鍵sを端末13を含め、誰に対しても秘匿されたままとなる。
【0061】
これ以降は、端末13は、図3に示す処理と同様に、
復号鍵e-1を生成し(ステップS303)、
暗号化済断片e(s1), e(s2), ..., e(sk)を求め、(ステップS304)。
鍵サーバ15に復号鍵e-1を保管し(ステップS305)、
マスター検証鍵sPを公開し(ステップS306)、
(k-1)個のファイルサーバ14に(k-1)個の暗号化済断片e(s2), ..., e(sk)をそれぞれ保管させ(ステップS306)、
自身に、暗号化済断片e(s1)もしくは暗号化していない元の断片s1を保管する(ステップS307)。
【0062】
最後に、
分散秘密鍵s2, ..., sk
分散秘密鍵s1を暗号化して端末13に保管する態様では、元の分散秘密鍵s1
暗号化済断片e(s2), ..., e(sk)、
元の分散秘密鍵s1をそのまま端末13に保管する態様で、s1に対する暗号化をしていれば、暗号化済断片e(s1)
のような秘匿すべき情報を、メモリや記録媒体から消去して、破棄し(ステップS408)、本処理を終了する。
【0063】
上記のように、本処理では、端末13は、マスター秘密鍵sは生成しておらず、端末13に対しても秘匿されているので、図3に示す処理とは異なり、マスター秘密鍵sを消去、破棄する必要はない。
【0064】
このように、本実施形態に係る分散処理では、署名を検証するためのマスター公開鍵に呼応するマスター秘密鍵を秘密分散した分散秘密鍵に基づく断片を、端末13やファイルサーバ14にそれぞれ保管する。また、マスター秘密鍵そのものを端末13で生成した場合には、端末13から破棄・消去すれば良いが、分散秘密鍵からマスター公開鍵を生成する場合には、マスター秘密鍵そのものは、端末13に対しても秘匿された秘密情報となる。
【0065】
さて、以下の説明では、理解を容易にするため、端末13およびファイルサーバ14は、元の断片s1, s2, ..., skではなく暗号化済断片e(s1), e(s2), ..., e(sk)を保管するものとして説明するが、端末13やファイルサーバ14の一部においては、暗号化を省略することも可能である。
【0066】
(署名処理)
以下では、上記の分散処理によって端末13とファイルサーバ14に秘密分散されてあらかじめ保管された断片を、生体認証を用いて取得し、元のマスター秘密鍵sに基づく署名を行う署名処理について説明する。本実施形態では、すでにこの世から消えているマスター秘密鍵sに基づく署名をすることができ、この署名は、公開された検証鍵sPで検証することができる。図5は、本発明の実施形態に係る署名処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【0067】
まず、端末13は、署名を施すべきメッセージmを取得する(ステップS401)。
【0068】
ついで、端末13は、鍵サーバ15へのサインインを試行し(ステップS402)、サインインに成功したら(ステップS402;成功)、端末13の使用者の生体情報を取得して(ステップS403)、鍵サーバ15へ送信し、生体認証を試行する(ステップS404)。
【0069】
そして、鍵サーバへのサインインに失敗したり(ステップS402;失敗)、生体認証に失敗したら(ステップS404;失敗)、端末13は、署名ができない旨を出力して(ステップS405)、本処理を終了する。
【0070】
一方、生体認証に成功したら(ステップS404;成功)、端末13は、鍵サーバ15が保管していた復号鍵e-1を鍵サーバ15から受信する(ステップS406)。
【0071】
そして、端末13は、自身が暗号化済断片を保管していれば(ステップS407;している)、当該暗号化済断片e(s1)を取得し(ステップS408)、さらに必要な断片数Nをn-1に設定する(ステップS409)。
【0072】
一方、端末13が暗号化済断片を保管していなければ(ステップS407;していない)、必要な断片数Nをnに設定する(ステップS410)。これは、元々使用していた端末13aを紛失してしまい、新たな端末13bを使用してバックアップからの復旧を図る場合に相当する。
【0073】
ついで、端末13は、(k-1)台のファイルサーバ14からN個の暗号化断片が取得されるまで、もしくは、(k-1)台のファイルサーバ14のすべてについて以下の処理を実行してしまうまで、以下の処理を繰り返す(ステップS416)。
【0074】
すなわち、端末13は、(k-1)台のファイルサーバ14からいずれかを選択し(ステップS417)、選択されたファイルサーバ14へのサインインを試行し(ステップS418)、サインインに成功したら(ステップS418;成功)、選択されたファイルサーバ14から送信された暗号化断片を取得する(ステップS419)処理を繰り返す(ステップS420)。
【0075】
なお、ファイルサーバ14へのサインインに失敗したら(ステップS418;失敗)、端末13は、制御をステップS420に進める。
【0076】
なお、(k-1)台のファイルサーバ14からどの(n-1)台を選択するかは、あらかじめ定めた順序にしたがっても良いし、ランダムに定めても良いし、ファイルサーバ14に故障等が生じている場合には、適宜他のファイルサーバ14を選択することとしても良い。
【0077】
そして、端末13は、ステップS416-S420の繰り返しにより、N個の暗号化済断片の取得ができたか否かを判定し、(ステップS430)、取得できていなければ(ステップS430;失敗)、ステップS405へ制御を進めて署名ができない旨を出力し、本処理を終了する。
【0078】
一方、N個の暗号化済断片の取得ができた場合(ステップS430;成功)、端末13では、n個の暗号化済断片e(s1), e(s2), ..., e(sn)が取得できたことになるので、以下の処理を実行する(分散処理をした際の分散秘密鍵に対する添字は任意に入れ換えることが可能であるため、取得できた断片をe(s1), e(s2), ..., e(sn)と考えても、一般性を失わない)。
【0079】
すなわち、端末13は、取得された暗号化済断片e(s1), e(s2), ..., e(sn)を、復号鍵e-1によりそれぞれ復号して、分散秘密鍵s1, s2, ..., snを得る(ステップS432)。
【0080】
そして、端末13は、メッセージmにハッシュ関数Hを施して、ハッシュ値H(m)を求める(ステップS433)。
【0081】
ついで、端末13は、計算されたハッシュ値H(m)に、復号された分散秘密鍵s1, s2, ..., snをそれぞれ施して、分散署名s1H(m), s2H(m), ..., snH(m)を求める(ステップS434)。
【0082】
さらに、端末13は、元のマスター秘密鍵sから得られるはずのsH(m)を、分散署名s1H(m), s2H(m), ..., snH(m)から算定する(ステップS435)。上記のように、本実施形態では、マスター秘密鍵sは破棄・消去されるか、一切生成されることがないが、非特許文献2, 3に開示される技術や、これと同様の機能を果たす技術により、端末13は、sH(m)を計算することができる。
【0083】
そして、端末13は、sH(m)をメッセージmに対するマスター署名として出力して(ステップS435)、本処理を終了する。
【0084】
なお、端末13が暗号化済断片e(s1)ではなく、元の断片s1を保管している場合には、ステップS434においては、暗号化済断片e(s1)に対する復号を省略すれば良い。
【0085】
上記処理によって得られた署名sH(m)は、公開済の検証鍵sPで検証が可能である。また、元のマスター秘密鍵sはどこにも残っておらず、端末13と(k-1)台のファイルサーバ14によって秘密分散がされており、ファイルサーバ14には、暗号化された断片が保管されているだけであるので、かりにいずれかのファイルサーバ14から断片が漏洩したとしても、第三者にトランザクションを実行されてしまう事態を防止することができる。
【0086】
なお、自身に断片を保管する端末13aを紛失してしまい、新しい端末13bの使用を開始する場合には、上記の制御において、(n-1)台のファイルサーバ14からではなく、n台のファイルサーバ14から、n個の暗号化された断片e(s2), ..., e(sn), e(sn+1)を取得し、e(sn+1)をe(s1)のかわりに使用すれば良い。このように、本実施形態では、バックアップからの復旧も容易である。
【0087】
上記実施形態では、BLS署名技術等を用いることで、元のマスター秘密鍵sを直接復元せずに、マスター秘密鍵sによる署名sH(m)を得ることができる。なお、BLS署名以外の種々の準同形暗号技術に対しても、本実施形態を適用することができる。たとえば、BLS署名ではなく、Shamirの(t,n)閾値法、ベダーセンの検証可能な秘密分散法、Schnorr署名と検証可能な秘密分散法を利用したm-of-nマルチシグスキーム等、楕円曲線を用いた閾値法による秘密分散を採用することもできる。
【0088】
上記実施形態では、署名の際には、元のマスター秘密鍵sを直接復元しないまま署名をしていたが、n個の断片から元のマスター秘密鍵を直接復元し、復元されたマスター秘密鍵によって署名をするという態様を採用することもできる。これを一般化すると、n個の断片から、任意の秘密情報を復元し、復元された秘密情報に基づいて、種々のトランザクションを実行することとしても良い。このような態様では、Shamir秘密分散を含む任意の秘密分散技術を利用することができる。
【0089】
トランザクションとしては、たとえば暗号資産ウォレットからの仮想通貨の出金などのほか、紛失した端末13aに係るマスター秘密鍵の更新に先立って、新たな端末13bにて本人確認をする処理等も含まれる。
【0090】
また、上記のように、端末13や一部のファイルサーバ14から断片を取得する際には、生体認証を必要としない、という態様を採用することも可能である。たとえば、
端末13や一部のファイルサーバ14については、暗号化を省略する、
当該一部のファイルサーバ14には、暗号化された断片を保管しておくが、この断片を復号するための復号鍵は、生体認証を必要とせずにソーシャルログインが可能な他の鍵サーバに保管しておく、
等の態様である。
【0091】
この態様であっても、残りのファイルサーバ14について鍵サーバ15が保管する復号鍵で暗号化を施すこととすれば、残りのファイルサーバ14については、断片を取得するために生体認証が必要、ということになる。
【0092】
これらの態様は、任意の組み合わせ、ならびに、省略が可能であり、そのような態様も、本実施形態の技術的範囲に含まれる。
【0093】
(まとめ)
以上説明した本実施形態に係る秘密情報分散システム、当該秘密情報分散システムにおける端末、当該端末が実行する方法、ならびに、プログラムについて、以下に付記する。
【0094】
(付記1)
n-of-k秘密分散(n<k)により秘密情報を分散したk個の断片を、端末と(k-1)台のファイルサーバにそれぞれ保管する秘密情報分散システムにおいて、
前記端末は、
n個の断片を、前記端末と、前記(k-1)台のファイルサーバのうちいずれか(n-1)台のファイルサーバと、から取得する取得部、
前記取得されたn個の断片により、前記秘密情報に基づくトランザクションを実行する実行部、
を備え、
前記(k-1)台のファイルサーバの一部又は全部から断片を取得するには、生体認証を要する
ことを特徴とする秘密情報分散システム。
【0095】
(付記2)
前記(k-1)台のファイルサーバは、前記断片をそれぞれ暗号化して保管する
ことを特徴とする付記1の秘密情報分散システム。
【0096】
(付記3)
前記(k-1)台のファイルサーバにそれぞれ保管される断片は、前記(k-1)台のファイルサーバに共通する復号鍵で復号可能な暗号化が施され、
前記共通する復号鍵を保管する鍵サーバをさらに備え、
前記鍵サーバに保管された復号鍵を取得するには、前記生体認証を要し、
前記(n-1)台のファイルサーバから、(n-1)個の暗号化された断片を読み出し、
前記取得された復号鍵を使用することにより、前記(n-1)個の暗号化された断片から、(n-1)個の断片を復号する
ことを特徴とする付記1または2の秘密情報分散システム。
【0097】
(付記4)
前記鍵サーバに対する前記生体認証は前記端末を介してなされ、
前記端末が、
前記鍵サーバから前記復号鍵を取得し、
前記(n-1)台のファイルサーバから前記(n-1)個の暗号化された断片を読み出し、
前記取得された復号鍵により、前記読み出された(n-1)個の暗号化された断片から前記断片を復号する
ことを特徴とする付記3の秘密情報分散システム。
【0098】
(付記5)
前記端末にかわる他の端末をさらに備え、
前記他の端末は、
前記n個の断片を、前記(k-1)台のファイルサーバのうちいずれかn台のファイルサーバから取得する
ことを特徴とする付記1から4のいずれかの秘密情報分散システム。
【0099】
(付記6)
前記秘密情報は、マスター秘密鍵であり、
前記k個の断片は、前記マスター秘密鍵を秘密分散したk個の分散秘密鍵であり、
前記端末は、
メッセージに対して、前記n個の断片であるn個の分散秘密鍵のそれぞれを用いて署名をすることにより、n個の分散署名を得て、
前記得られたn個の分散署名から、前記メッセージに対して前記マスター秘密鍵を用いてされるマスター署名を復元し、
前記復元されたマスター署名により、前記トランザクションを実行する
ことを特徴とする付記1から5のいずれかの秘密情報分散システム。
【0100】
(付記7)
前記マスター秘密鍵は、前記端末と、前記(k-1)台のファイルサーバと、のいずれからも消去される
ことを特徴とする付記6の秘密情報分散システム。
【0101】
(付記8)
前記n-of-k秘密分散は、楕円曲線を用いた署名技術(BLS署名技術を含む。)によりなされる
ことを特徴とする付記7の秘密情報分散システム。
【0102】
(付記9)
前記端末は、
前記k個の分散秘密鍵をランダムに生成し、
前記k個の分散秘密鍵から、前記マスター署名を検証するための検証鍵であるマスター公開鍵を、前記マスター秘密鍵を秘匿したまま、生成する
ことを特徴とする付記9に記載の秘密情報分散システム。
【0103】
(付記10)
前記端末は、
前記n個の断片から前記秘密情報を復元し、
前記復元された秘密情報により、前記トランザクションを実行する
ことを特徴とする付記1から5のいずれかの秘密情報分散システム。
【0104】
(付記11)
n-of-k秘密分散(n<k)により秘密情報を分散したk個の断片を、端末と(k-1)台のファイルサーバにそれぞれ保管する秘密情報分散システムにおける端末において、
n個の断片を、前記端末と、前記(k-1)台のファイルサーバのうちいずれか(n-1)台のファイルサーバと、から取得する取得部、
前記取得されたn個の断片により、前記秘密情報に基づくトランザクションを実行する実行部
を備え、
前記(k-1)台のファイルサーバの一部又は全部から断片を取得するには、生体認証を要する
ことを特徴とする端末。
【0105】
(付記12)
n-of-k秘密分散(n<k)により秘密情報を分散したk個の断片を、端末と(k-1)台のファイルサーバにそれぞれ保管する秘密情報分散システムにおける端末が実行する方法であって、
前記端末が、n個の断片を、前記端末と、前記(k-1)台のファイルサーバのうちいずれか(n-1)台のファイルサーバと、から取得する取得ステップ、
前記端末が、前記取得されたn個の断片により、前記秘密情報に基づくトランザクションを実行する実行ステップ
を備え、
前記(k-1)台のファイルサーバの一部又は全部から断片を取得するには、生体認証を要する
ことを特徴とする方法。
【0106】
(付記13)
n-of-k秘密分散(n<k)により秘密情報を分散したk個の断片を、端末と(k-1)台のファイルサーバにそれぞれ保管する秘密情報分散システムにおける端末としてコンピュータを機能させるプログラムであって、前記プログラムは、前記コンピュータを、
n個の断片を、前記端末と、前記(k-1)台のファイルサーバのうちいずれか(n-1)台のファイルサーバと、から取得する取得部、
前記取得されたn個の断片により、前記秘密情報に基づくトランザクションを実行する実行部
として機能させ、
前記(k-1)台のファイルサーバの一部又は全部から断片を取得するには、生体認証を要する
ことを特徴とするプログラム。
【0107】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【産業上の利用可能性】
【0108】
本発明によれば、生体認証を用いる秘密情報分散システム、当該秘密情報分散システムにおける端末、当該端末が実行する方法、ならびに、プログラムを提供することができる。
【符号の説明】
【0109】
11 秘密情報分散システム
12 コンピュータ通信網
13, 13a, 13b 端末
14 ファイルサーバ
15 鍵サーバ
101 取得部
102 実行部
【要約】
【課題】生体認証を用いる秘密情報分散システムを提供する。
【解決手段】秘密情報分散システム11は、n-of-k秘密分散により秘密情報を分散したk個の断片を、端末13と(k-1)台のファイルサーバ14にそれぞれ保管する。端末13は、n個の断片を、端末13と、(k-1)台のファイルサーバ14のうちいずれか(n-1)台のファイルサーバ14と、から取得し、取得されたn個の断片により、秘密情報に基づくトランザクションを実行する。ここで、各ファイルサーバ14から断片を取得するには、生体認証を要する。各ファイルサーバ14は、共通する復号鍵で復号可能な暗号化を施してから断片を保管し、当該復号鍵は鍵サーバ15に保管され、端末13を介して生体認証をすることにより、端末13が当該復号鍵を取得して、各ファイルサーバ14から読み出された暗号化済みの断片を復号しても良い。
【選択図】 図1
図1
図2
図3
図4
図5