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

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

▶ 株式会社レアゾン・ホールディングスの特許一覧

特開2024-168129端末装置、管理装置、情報処理方法、およびプログラム
<>
  • 特開-端末装置、管理装置、情報処理方法、およびプログラム 図1
  • 特開-端末装置、管理装置、情報処理方法、およびプログラム 図2
  • 特開-端末装置、管理装置、情報処理方法、およびプログラム 図3
  • 特開-端末装置、管理装置、情報処理方法、およびプログラム 図4
  • 特開-端末装置、管理装置、情報処理方法、およびプログラム 図5
  • 特開-端末装置、管理装置、情報処理方法、およびプログラム 図6
  • 特開-端末装置、管理装置、情報処理方法、およびプログラム 図7
  • 特開-端末装置、管理装置、情報処理方法、およびプログラム 図8
  • 特開-端末装置、管理装置、情報処理方法、およびプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024168129
(43)【公開日】2024-12-05
(54)【発明の名称】端末装置、管理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
   G09C 1/00 20060101AFI20241128BHJP
   H04L 9/32 20060101ALI20241128BHJP
【FI】
G09C1/00 650Z
H04L9/32 100A
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023084562
(22)【出願日】2023-05-23
(71)【出願人】
【識別番号】523191580
【氏名又は名称】株式会社レアゾン・ホールディングス
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(72)【発明者】
【氏名】山田 泰光
(57)【要約】
【課題】従来技術においては、ソフトウェアウォレットの秘密鍵の紛失等に対して、秘密鍵を安全に復元できなかったという課題があった。
【解決手段】ソフトウェアウォレットの秘密鍵を生成する秘密鍵生成部133と、復号コードを生成する復号コード生成部134と、秘密鍵に対して、復号コードを用いて、可逆暗号化し、復元フレーズを生成する復元フレーズ生成部135と、復元フレーズを、ユーザ識別子に対応付けて管理装置2に送信する復元フレーズ送信部141と、復号コードに基づく利用情報を出力する利用情報出力部161とを具備する端末装置1により、ソフトウェアウォレットの秘密鍵の紛失等に対して、秘密鍵を安全に復元できる。できる。
【選択図】図2
【特許請求の範囲】
【請求項1】
ソフトウェアウォレットの秘密鍵を生成する秘密鍵生成部と、
復号コードを生成する復号コード生成部と、
前記秘密鍵に対して、前記復号コードを用いて、可逆暗号化し、復元フレーズを生成する復元フレーズ生成部と、
前記復元フレーズを、ユーザ識別子に対応付けて管理装置に送信する復元フレーズ送信部と、
前記復号コードに基づく利用情報を出力する利用情報出力部とを具備する端末装置。
【請求項2】
ユーザ識別子に対応する復元指示を前記管理装置に送信する復元指示送信部と、
前記復元指示の送信に応じて、前記管理装置から、前記ユーザ識別子に対応する復元フレーズを受信する復元フレーズ受信部と、
前記利用情報を取得する利用情報取得部と、
前記復元フレーズ受信部が受信した前記復元フレーズと、前記利用情報に対応する前記復号コードとを用いて、前記秘密鍵を取得する秘密鍵取得部と、
前記秘密鍵取得部が取得した前記秘密鍵を出力する秘密鍵出力部とをさらに具備する請求項1記載の端末装置。
【請求項3】
端末装置から、ユーザ識別子に対応付けて復元フレーズを受信する第一サーバ受信部と、
前記復元フレーズを前記ユーザ識別子に対応付けて蓄積するサーバ蓄積部と、
前記端末装置から、ユーザ識別子に対応する復元指示を受信する第二サーバ受信部と、
前記復元指示に対応する前記ユーザ識別子に対応する前記復元フレーズを取得するサーバ取得部と、
前記復元フレーズを前記端末装置に送信するサーバ送信部とを具備する管理装置。
【請求項4】
秘密鍵生成部と、復号コード生成部と、復元フレーズ生成部と、復元フレーズ送信部とにより実現される情報処理方法であって、
前記秘密鍵生成部が、ソフトウェアウォレットの秘密鍵を生成する秘密鍵生成ステップと、
前記復号コード生成部が、復号コードを生成する復号コード生成ステップと、
前記復元フレーズ生成部が、前記秘密鍵に対して、前記復号コードを用いて、可逆暗号化し、復元フレーズを生成する復元フレーズ生成ステップと、
前記復元フレーズ送信部が、前記復元フレーズを、ユーザ識別子に対応付けて管理装置に送信する復元フレーズ送信ステップとを具備する情報処理方法。
【請求項5】
第一サーバ受信部と、サーバ蓄積部と、第二サーバ受信部と、サーバ取得部と、サーバ送信部とにより実現される情報処理方法であって、
前記第一サーバ受信部が、端末装置から、ユーザ識別子に対応付けて復元フレーズを受信する第一サーバ受信ステップと、
前記サーバ蓄積部が、前記復元フレーズを前記ユーザ識別子に対応付けて蓄積するサーバ蓄積ステップと、
前記第二サーバ受信部が、前記端末装置から、ユーザ識別子に対応する復元指示を受信する第二サーバ受信ステップと、
前記サーバ取得部が、前記復元指示に対応する前記ユーザ識別子に対応する前記復元フレーズを取得するサーバ取得ステップと、
前記サーバ送信部が、前記復元フレーズを前記端末装置に送信するサーバ送信ステップとを具備する情報処理方法。
【請求項6】
コンピュータを、
ソフトウェアウォレットの秘密鍵を生成する秘密鍵生成部と、
復号コードを生成する復号コード生成部と、
前記秘密鍵に対して、前記復号コードを用いて、可逆暗号化し、復元フレーズを生成する復元フレーズ生成部と、
前記復元フレーズを、ユーザ識別子に対応付けて管理装置に送信する復元フレーズ送信部として機能させるためのプログラム。
【請求項7】
コンピュータを、
端末装置から、ユーザ識別子に対応付けて復元フレーズを受信する第一サーバ受信部と、
前記復元フレーズを前記ユーザ識別子に対応付けて蓄積するサーバ蓄積部と、
前記端末装置から、ユーザ識別子に対応する復元指示を受信する第二サーバ受信部と、
前記復元指示に対応する前記ユーザ識別子に対応する前記復元フレーズを取得するサーバ取得部と、
前記復元フレーズを前記端末装置に送信するサーバ送信部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェアウォレットの秘密鍵を安全に復元させる端末装置等に関するものである。
【背景技術】
【0002】
従来、秘密鍵を複数に分割し、分割された秘密鍵を自律分散ネットワーク上の複数の匿名のノードに格納し、外部からのハッキングに対して高いデータ流出耐性を持つ電子割符型格納方法およびその運用システムを実現する、としている技術があった(特許文献1参照)。
また、従来、ソフトウェアウォレットの秘密鍵の管理の方法として、ユーザは、秘密鍵、または秘密鍵を英単語に符号化したコードを紙に書き写したりする必要があった。なお、サーバで、ソフトウェアウォレットの秘密鍵を預かれないのは、ウォレットユーザーの資産コントロール権を預かってしまうことになってしまうためである。
上記の課題に対する解決策として、秘密鍵を分散して複数の人格のサーバに分けて預ける、という方法があった。
しかし、この方法の問題点は、復元時の本人認証としてSNSやメールアドレスなどの認証方法に頼ることになるが、それらの認証方法はたびたび乗っ取られる被害が報告されていて安全性に欠ける、
また、事業者において複数の人格に分けて預けているということが客観的に証明できなかったり、十分に複数人格での預託と言えなかったり、複数人格が結託して秘密鍵を入手する可能性を排除しきれない等の問題もあった。
そこで本発明では、例えば、秘密鍵の復元に必要な2つの要素のうち1つをサーバ(管理装置)に預けてそれを引き出す際には、例えば、電話番号・メールアドレス・SNSなどの認証を使い、もう1つは画像などの形でユーザーに保管させることにより、安全性と透明性とを確保しつつ利便性を提供しようとするものである。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-155911号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術において、ソフトウェアウォレットの秘密鍵の紛失等に対して、秘密鍵を安全に復元できなかった。
【課題を解決するための手段】
【0005】
本第一の発明の端末装置は、ソフトウェアウォレットの秘密鍵を生成する秘密鍵生成部と、復号コードを生成する復号コード生成部と、秘密鍵に対して、復号コードを用いて、可逆暗号化し、復元フレーズを生成する復元フレーズ生成部と、復元フレーズを、ユーザ識別子に対応付けて管理装置に送信する復元フレーズ送信部と、復号コードに基づく利用情報を出力する利用情報出力部とを具備する端末装置である。
【0006】
かかる構成により、ソフトウェアウォレットの秘密鍵の紛失等に対して、秘密鍵を安全に復元できる端末を提供できる。
【0007】
また、本第二の発明の端末装置は、第一の発明に対して、ユーザ識別子に対応する復元指示を管理装置に送信する復元指示送信部と、復元指示の送信に応じて、管理装置から、ユーザ識別子に対応する復元フレーズを受信する復元フレーズ受信部と、利用情報を取得する利用情報取得部と、復元フレーズ受信部が受信した復元フレーズと、利用情報に対応する復号コードとを用いて、秘密鍵を取得する秘密鍵取得部と、秘密鍵取得部が取得した秘密鍵を出力する秘密鍵出力部とをさらに具備する端末装置である。
【0008】
かかる構成により、ソフトウェアウォレットの秘密鍵の紛失等に対して、秘密鍵を安全に復元できる端末を提供できる。
【0009】
また、本第三の発明の管理装置は、第一または第二の発明に対して、端末装置から、ユーザ識別子に対応付けて復元フレーズを受信する第一サーバ受信部と、復元フレーズをユーザ識別子に対応付けて蓄積するサーバ蓄積部と、端末装置から、ユーザ識別子に対応する復元指示を受信する第二サーバ受信部と、復元指示に対応するユーザ識別子に対応する復元フレーズを取得するサーバ取得部と、復元フレーズを端末装置に送信するサーバ送信部とを具備する管理装置である。
【0010】
かかる構成により、ソフトウェアウォレットの秘密鍵の紛失等に対して、秘密鍵を安全に復元することを支援できるサーバを提供できる。
【発明の効果】
【0011】
本発明による端末装置によれば、ソフトウェアウォレットの秘密鍵の紛失等に対して、秘密鍵を安全に復元できる。
【図面の簡単な説明】
【0012】
図1】実施の形態1における情報システムAの概念図
図2】同情報システムAのブロック図
図3】同端末装置1の動作例について説明するフローチャート
図4】同利用情報生成処理の例について説明するフローチャート
図5】同復元処理の例について説明するフローチャート
図6】同管理装置2の動作例について説明するフローチャート
図7】同ユーザ情報管理表を示す図
図8】同コンピュータシステムの概観図
図9】同コンピュータシステムのブロック図
【発明を実施するための形態】
【0013】
以下、端末装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0014】
(実施の形態1)
本実施の形態において、ソフトウェアウォレットの秘密鍵を紛失等した場合でも、当該秘密鍵を安全に復元できる情報システムについて説明する。
【0015】
本明細書において、情報Xが情報Yに対応付いていることは、情報Xから情報Yを取得できること、または情報Yから情報Xを取得できることであり、その対応付けの方法は問わない。情報Xと情報Yとがリンク付いていても良いし、同じバッファに存在していても良いし、情報Xが情報Yに含まれていても良いし、情報Yが情報Xに含まれている等でも良い。
【0016】
図1は、本実施の形態における情報システムAの概念図である。情報システムAは、1または2以上の端末装置1、および管理装置2を備える。
【0017】
端末装置1は、ソフトウェアウォレットの秘密鍵の紛失等に対して、秘密鍵を安全に復元できる端末である。端末装置1は、例えば、いわゆるパソコン、スマートフォン、タブレット端末であるが、その種類は問わない。
【0018】
管理装置2とは、後述する復元フレーズをユーザ識別子に対応付けて管理する装置である。管理装置2は、
【0019】
1または2以上の各端末装置1と管理装置2とは、インターネット等のネットワークにより通信可能である。
【0020】
図2は、本実施の形態における情報システムAのブロック図である。
【0021】
端末装置1は、格納部11、受付部12、処理部13、送信部14、受信部15、および出力部16を備える。格納部11は、利用情報格納部111を備える。処理部13は、インストール部131、アドレス生成部132、秘密鍵生成部133、復号コード生成部134、復元フレーズ生成部135、利用情報取得部136、および秘密鍵取得部137を備える。送信部14は、復元フレーズ送信部141、および復元指示送信部142を備える。受信部15は、復元フレーズ受信部151を備える。出力部16は、利用情報出力部161、および秘密鍵出力部162を備える。
【0022】
管理装置2は、サーバ格納部21、サーバ受信部22、サーバ処理部23、およびサーバ送信部24を備える。サーバ受信部22は、第一サーバ受信部221、および第二サーバ受信部222を備える。サーバ処理部23は、サーバ蓄積部231、およびサーバ取得部232を備える。
【0023】
端末装置1を構成する格納部11には、各種の情報が格納される。各種の情報は、例えば、ウォレットアプリ、後述する利用情報、ユーザ識別子である。ウォレットアプリが格納されていることは、ウォレットアプリのインストーラが格納されていることでも良い。
【0024】
ウォレットアプリとは、ソフトウェアウォレットのアプリケーションである。ウォレットアプリは、ここでは、例えば、暗号資産のソフトウェアウォレットのアプリケーションである。ただし、ウォレットアプリは、クレジットカード・デビットカード・ショップカード・搭乗券・映画のチケット・クーポン・ポイントカードなどをまとめて管理できるアプリケーション等でも良く、広く解する。
【0025】
ユーザ識別子とは、ユーザを識別する情報である。ユーザ識別子は、例えば、メールアドレス、電話番号、ユーザID、セッションID、または端末識別子である。端末識別子とは、端末装置1を識別する情報であり、例えば、端末装置1のIDである。
【0026】
利用情報格納部111には、利用情報が格納される。利用情報とは、秘密鍵を復元する際に使用される情報である。利用情報は、復号コードに基づく情報である。利用情報は、例えば、復号コードが埋め込まれた画像情報である。ただし、利用情報は、電子透かし、文字列等の画像情報以外の情報でも良い。画像情報は、例えば、コード画像である。コード画像は、例えば、バーコード、またはQRコード(登録商標)等の二次元コードである。利用情報は、復号コードそのものでも良い。
【0027】
復号コードとは、復元フレーズを生成するための情報である。復号コードは、通常、ランダムに生成された情報である。復号コードは、推測不能な十分な強度の情報であることは好適である。復号コードは、例えば、ハッシュ関数に生成した乱数を与えて取得された情報である。
【0028】
復元フレーズとは、ここでは、秘密鍵の紛失等の際に使用されるフレーズである。フレーズとは、情報である。復元フレーズは、復号コードを使って暗号鍵を可逆暗号化し、生成された情報である。復元フレーズは、通常、文字列であるが、データタイプは問わない。
【0029】
受付部12は、各種の指示や情報を受け付ける。各種の指示や情報は、例えば、インストール指示、管理指示、復元指示、各種の操作である。
【0030】
インストール指示とは、ウォレットアプリのインストールの指示である。管理指示とは、秘密鍵の復元のための利用情報を出力する指示である。管理指示は、例えば、ユーザ識別子を有する。復元指示とは、秘密鍵の復元の指示である。復元指示は、例えば、ユーザ識別子を有する。復元指示は、例えば、利用情報に対応付いている。
【0031】
各種の操作は、例えば、ウォレットアドレスを用いた、ウォレットへのアクセスである。ただし、各種の操作の内容は問わない。
【0032】
各種の指示や情報の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
【0033】
処理部13は、各種の処理を行う。各種の処理とは、例えば、インストール部131、アドレス生成部132、秘密鍵生成部133、復号コード生成部134、復元フレーズ生成部135、利用情報取得部136、および秘密鍵取得部137が行う処理である。
【0034】
また、処理部13は、例えば、受付部12が受け付けた各種の指示や情報を送信するデータ構造にする。処理部13は、例えば、受信部15が受信した情報を出力するデータ構造にする。
【0035】
インストール部131は、ウォレットアプリを端末装置1にインストールする。インストール部131は、通常、インストール指示の受け付けに応じて、ウォレットアプリをインストールする。インストール部131は、例えば、格納部11に存在するウォレットアプリをインストールする。インストール部131は、例えば、格納部11にウォレットアプリが存在しない場合には、管理装置2または図示しない他の装置からウォレットアプリを取得し、インストールする。
【0036】
アドレス生成部132は、ウォレットアドレスを生成する。なお、ウォレットアドレスとは、ウォレットに紐づく文字列である。ウォレットアドレスは、ブロックチェーンウォレットに紐づく文字列であり、ランダムに生成された文字列であることは好適である。アドレス生成部132は、例えば、インストール部131がウォレットアプリを端末装置1にインストールしたことをトリガーとして、ウォレットアドレスを生成する。アドレス生成部132は、例えば、後述する秘密鍵生成部133が生成した秘密鍵から公開鍵を生成する。なお、この場合、公開鍵が、例えば、ウォレットアドレスである。
【0037】
秘密鍵生成部133は、ソフトウェアウォレットの秘密鍵を生成する。ここでの秘密鍵は、ウォレットにアクセスするための情報である。
【0038】
復号コード生成部134は、復号コードを生成する。復号コード生成部134は、通常、ランダムに復号コードを生成する。復号コード生成部134は、例えば、乱数を発生させ、当該乱数をハッシュ関数に与え、当該ハッシュ関数を実行し、復号コードを取得する。
【0039】
復元フレーズ生成部135は、秘密鍵に対して、復号コードを用いて、可逆暗号化し、復元フレーズを生成する。なお、可逆暗号化とは、可逆的なデータに変換する暗号化である。可逆暗号化は公知の処理であるので、詳細な説明は省略する。
【0040】
利用情報取得部136は、復号コード生成部134が生成した復号コードに基づく利用情報を取得する。利用情報取得部136は、例えば、復号コードを埋め込んだ画像情報を生成する。画像情報は、例えば、コード画像である。コード画像は、例えば、バーコード、またはQRコード(登録商標)等の二次元コードである。
【0041】
秘密鍵取得部137は、復元フレーズ受信部151が受信した復元フレーズと、利用情報に対応する復号コードとを用いて、秘密鍵を取得する。秘密鍵取得部137は、通常、利用情報に対応する復号コードを、復元フレーズ受信部151が受信した復元フレーズで復号化し、秘密鍵を取得する。なお、利用情報に対応する復号コードは、例えば、利用情報に埋め込まれている復号コードまたは、利用情報である。
【0042】
送信部14は、各種の情報や指示を送信する。送信部14は、通常、各種の情報や指示を管理装置2に送信する。各種の情報や指示は、例えば、インストール指示、管理指示、復元指示、復元フレーズである。復元指示とは、秘密鍵の復元の指示である。復元指示は、例えば、ユーザ識別子を有する。
【0043】
復元フレーズ送信部141は、復元フレーズ生成部135が生成した復元フレーズを、ユーザ識別子に対応付けて管理装置2に送信する。
【0044】
復元指示送信部142は、ユーザ識別子に対応する復元指示を管理装置2に送信する。復元指示送信部142は、例えば、受付部12が復元指示を受け付けた場合に、当該復元指示が有するユーザ識別子または格納部11のユーザ識別子を取得する。次に、復元指示送信部142は、例えば、当該ユーザ識別子を有する復元指示を管理装置2に送信する。
【0045】
受信部15は、各種の情報等を受信する。各種の情報等は、例えば、ウォレットアプリ、復元フレーズである。
【0046】
復元フレーズ受信部151は、復元指示の送信に応じて、管理装置2から、ユーザ識別子に対応する復元フレーズを受信する。
【0047】
出力部16は、各種の情報を出力する。各種の情報は、例えば、利用情報、秘密鍵である。
【0048】
利用情報出力部161は、利用情報を出力する。利用情報出力部161は、復号コードに基づく利用情報を出力する。
【0049】
ここで出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【0050】
秘密鍵出力部162は、秘密鍵取得部137が取得した秘密鍵を出力する。秘密鍵出力部162は、例えば、秘密鍵を表示する。秘密鍵出力部162は、例えば、秘密鍵を印刷する。秘密鍵出力部162は、例えば、秘密鍵をウォレットアプリに渡す。
【0051】
管理装置2を構成するサーバ格納部21には、各種の情報等が格納される。各種の情報等は、1または2以上のユーザ情報、ウォレットアプリである。ユーザ情報とは、ウォレットアプリのユーザに関する情報である。ユーザ情報は、例えば、ユーザ識別子と復元フレーズとを有する。
【0052】
サーバ受信部22は、各種の情報を受信する。各種の情報は、例えば、復元フレーズ、復元指示、インストール指示である。
【0053】
第一サーバ受信部221は、端末装置1から、ユーザ識別子に対応付けて復元フレーズを受信する。
【0054】
第二サーバ受信部222は、端末装置1から、ユーザ識別子に対応する復元指示を受信する。
【0055】
サーバ処理部23は、各種の処理を行う。各種の処理は、例えば、サーバ蓄積部231、サーバ取得部232が行う処理である。
【0056】
サーバ蓄積部231は、第一サーバ受信部221が受信した復元フレーズをユーザ識別子に対応付けて蓄積する。サーバ蓄積部231は、通常、サーバ格納部21に、復元フレーズとユーザ識別子とを有するユーザ情報を蓄積するが、ユーザ情報を図示しない装置に蓄積しても良い。
【0057】
サーバ取得部232は、第二サーバ受信部222が受信した復元指示に対応するユーザ識別子を取得する。サーバ取得部232は、当該ユーザ識別子に対応する復元フレーズを取得する。サーバ取得部232は、例えば、第二サーバ受信部222が受信した復元指示に対応するユーザ識別子に対応する復元フレーズをサーバ格納部21から取得する。
【0058】
サーバ送信部24は、サーバ取得部232が取得した復元フレーズを端末装置1に送信する。サーバ送信部24は、端末装置1から送信されたインストール指示の受信に応じて、サーバ格納部21のウォレットアプリを当該端末装置1に送信しても良い。
【0059】
格納部11、利用情報格納部111、およびサーバ格納部21は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0060】
格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
【0061】
受付部12は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0062】
処理部13、インストール部131、アドレス生成部132、秘密鍵生成部133、復号コード生成部134、復元フレーズ生成部135、利用情報取得部136、秘密鍵取得部137、サーバ処理部23、サーバ蓄積部231、およびサーバ取得部232は、通常、プロセッサやメモリ等から実現され得る。処理部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
【0063】
送信部14、復元フレーズ送信部141、復元指示送信部142、およびサーバ送信部24は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【0064】
受信部15、復元フレーズ受信部151、サーバ受信部22、第一サーバ受信部221、および第二サーバ受信部222は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【0065】
出力部16、利用情報出力部161、および秘密鍵出力部162は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部16は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0066】
次に、端末装置1の動作例について、図3のフローチャートを用いて説明する。
【0067】
(ステップS301)受付部12は、インストール指示を受け付けたか否かを判断する。インストール指示を受け付けた場合はステップS302に行き、インストール指示を受け付けなかった場合はステップS306に行く。
【0068】
(ステップS302)インストール部131は、格納部11にウォレットアプリが存在するか否かを判断する。アプリが存在する場合はステップS304に行き、アプリが存在しない場合はステップS303に行く。なお、ウォレットアプリが存在する場合は、通常、ウォレットアプリのインストーラが存在する場合である。
【0069】
(ステップS303)インストール部131は、管理装置2または図示しない装置からウォレットアプリを取得する。
【0070】
(ステップS304)インストール部131は、格納部11のウォレットアプリまたはステップS303で取得したウォレットアプリをインストールする。
【0071】
(ステップS305)処理部13等は、利用情報生成処理を行う。ステップS301に戻る。利用情報生成処理の例について、図4のフローチャートを用いて説明する。なお、利用情報生成処理とは、利用情報を生成し、出力する処理である。
【0072】
(ステップS306)受付部12は、管理指示を受け付けたか否かを判断する。管理指示を受け付けた場合はステップS305に行き、管理指示を受け付けなかった場合はステップS307に行く。なお、管理指示を受け付けてから利用情報生成処理を行う場合は、ウォレットアプリのインストールに応じて、自動的に利用情報生成処理を行わない場合である。
【0073】
(ステップS307)受付部12は、復元指示を受け付けたか否かを判断する。復元指示を受け付けた場合はステップS308に行き、復元指示を受け付けなかった場合はステップS309に行く。
【0074】
(ステップS308)秘密鍵取得部137等は、復元処理を行う。ステップS301に戻る。復元処理の例について、図5のフローチャートを用いて説明する。なお、復元処理とは、秘密鍵を復元する処理である。
【0075】
(ステップS309)受付部12は、その他の操作を受け付けたか否かを判断する。その他の操作を受け付けた場合はステップS310に行き、その他の操作を受け付けなかった場合はステップS301に戻る。なお、その他の操作は、例えば、ウォレットアプリに対する操作である。
【0076】
(ステップS310)処理部13等は、その他の操作に応じた処理を行う。ステップS301に戻る。なお、その他の操作に応じた処理は、例えば、ウォレットアプリが行う処理である。
【0077】
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0078】
次に、ステップS305の利用情報生成処理の例について、図4のフローチャートを用いて説明する。
【0079】
(ステップS401)処理部13は、ユーザ識別子等を取得する。ユーザ識別子等とは、例えば、ユーザ識別子と端末装置1の識別子(例えば、IPアドレス)である。ユーザ識別子等とは、ユーザ識別子だけでも良い。
【0080】
(ステップS402)送信部14は、ステップS401で取得されたユーザ識別子等を管理装置2に送信する。
【0081】
(ステップS404)秘密鍵生成部133は、秘密鍵を生成する。
【0082】
(ステップS403)アドレス生成部132は、ウォレットアドレスを生成し、格納部11に、少なくとも一時蓄積する。
【0083】
(ステップS405)復号コード生成部134は、復号コードを生成する。
【0084】
(ステップS406)復元フレーズ生成部135は、ステップS404で生成された秘密鍵に対して、ステップS405で生成された復号コードを用いて可逆暗号化し、復元フレーズを生成する。
【0085】
(ステップS407)復元フレーズ送信部141は、ステップS406で生成された復元フレーズを、ユーザ識別子に対応付けて、管理装置2に送信する。
【0086】
(ステップS408)利用情報取得部136は、ステップS405で生成された復号コードに基づく利用情報を取得する。
【0087】
(ステップS409)利用情報出力部161は、ステップS408で取得された利用情報を出力する。上位処理にリターンする。
【0088】
次に、ステップS308の復元処理の例について、図5のフローチャートを用いて説明する。
【0089】
(ステップS501)復元指示送信部142は、格納部11からユーザ識別子を取得する。
【0090】
(ステップS502)復元指示送信部142は、ユーザ識別子を含む復元指示を構成する。
【0091】
(ステップS503)復元指示送信部142は、ステップS502で構成した復元指示を管理装置2に送信する。
【0092】
(ステップS504)復元フレーズ受信部151は、管理装置2から復元フレーズを受信したか否かを判断する。復元フレーズを受信した場合はステップS506に行き、復元フレーズを受信しなかった場合はステップS505に行く。
【0093】
(ステップS505)処理部13は、タイムアウトか否かを判断する。タイムアウトであれば上位処理にリターンし、タイムアウトでなければステップS504に戻る。なお、タイムアウトとは、復元指示が送信された後、所定時間以上経過したことである。
【0094】
(ステップS506)秘密鍵取得部137は、格納部11から利用情報を取得する。なお、利用情報は、例えば、ユーザにより選択された利用情報である。
【0095】
(ステップS507)秘密鍵取得部137は、ステップS506で取得した利用情報から復号コードを取得する。
【0096】
(ステップS508)秘密鍵取得部137は、ステップS507で取得した復号コードを、ステップS504で受信された復元フレーズで復号化し、秘密鍵を取得する。
【0097】
(ステップS509)秘密鍵出力部162は、ステップS508で取得された秘密鍵を出力する。上位処理にリターンする。
【0098】
次に、管理装置2の動作例について、図6のフローチャートを用いて説明する。
【0099】
(ステップS601)サーバ受信部22は、端末装置1からインストール指示を受信したか否かを判断する。インストール指示を受信した場合はステップS602に行き、インストール指示を受信しなかった場合はステップS603に行く。
【0100】
(ステップS602)サーバ送信部24は、サーバ格納部21のウォレットアプリを、インストール指示を送信してきた端末装置1に送信する。ステップS601に戻る。なお、送信されるウォレットアプリは、通常、ウォレットアプリのインストーラである。
【0101】
(ステップS603)サーバ受信部22は、端末装置1からユーザ識別子等を受信したか否かを判断する。ユーザ識別子等を受信した場合はステップS604に行き、ユーザ識別子等を受信しなかった場合はステップS607に行く。
【0102】
(ステップS604)サーバ蓄積部231は、ステップS603で受信されたユーザ識別子等をサーバ格納部21に蓄積する。
【0103】
(ステップS605)第一サーバ受信部221は、端末装置1から、ユーザ識別子に対応付けて復元フレーズを受信したか否かを判断する。復元フレーズを受信した場合はステップS606に行き、復元フレーズを受信しなかった場合はステップS605に戻る。
【0104】
(ステップS606)サーバ蓄積部231は、ユーザ識別子に対応付けて、ステップS605で受信された復元フレーズをサーバ格納部21に蓄積する。ステップS601に戻る。
【0105】
(ステップS607)第二サーバ受信部222は、端末装置1からユーザ識別子に対応する復元指示を受信したか否かを判断する。復元指示を受信した場合はステップS608に行き、復元指示を受信しなかった場合はステップS601に戻る。
【0106】
(ステップS608)サーバ取得部232は、ステップS607で受信された復元指示に対応するユーザ識別子を取得する。
【0107】
(ステップS609)サーバ取得部232は、ステップS608で取得されたユーザ識別子と対になる復元フレーズをサーバ格納部21から取得する。
【0108】
(ステップS610)サーバ送信部24は、ステップS609で取得された復元フレーズを、復元指示を送信してきた端末装置1に送信する。ステップS601に戻る。
【0109】
なお、図6のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0110】
以下、本実施の形態における情報システムAの具体的な動作について説明する。情報システムAの概念図は図1である。
【0111】
管理装置2のサーバ格納部21には、図7に示す構造を有するユーザ情報管理表が格納されている、とする。ユーザ情報管理表は、「ID」「ユーザ識別子」「復元フレーズ」を有する1以上のレコードを管理する。「ID」は、レコードを識別する情報である。「ユーザ識別子」は、ここでは、メールアドレスまたは電話番号である。「復元フレーズ」は、ここでは、閾値以上の文字数の文字列である。かかる状況において、以下、2つの具体例について説明する。具体例1は。利用情報を生成する場合である。具体例2は、秘密鍵を復元する場合である。
【0112】
(具体例1)
ユーザAの端末装置1の格納部11には、暗号資産のソフトウェアウォレットのアプリケーション(ウォレットアプリ)のインストーラが格納されている、とする。そして、ユーザAは、端末装置1にインストール指示を入力した、とする。
【0113】
すると、端末装置1の受付部12は、インストール指示を受け付ける。インストール部131は、格納部11の暗号資産のウォレットアプリのインストーラを実行し、ウォレットアプリをインストールする。
【0114】
暗号資産のウォレットアプリのインストールに応じて、処理部13等は、以下のように利用情報生成処理を行う。つまり、処理部13は、ユーザにメールアドレスの入力を促す画面を端末装置1に出力する。そして、ユーザは、当該画面に対して、メールアドレス「abc@x.com」を入力する。次に、送信部14は、入力されたメールアドレス「abc@x.com」を管理装置2に送信する。
【0115】
次に、管理装置2のサーバ受信部22は、端末装置1からメールアドレス「abc@x.com」を受信する。次に、サーバ蓄積部231は、当該メールアドレスをサーバ格納部21のユーザ情報管理表(図7)に蓄積する。
【0116】
また、端末装置1のアドレス生成部132は、ウォレットアドレス「アドレス1」を生成する。また、秘密鍵生成部133は、秘密鍵を生成する。さらに、復号コード生成部134は、復号コードを生成する。次に、復元フレーズ生成部135は、秘密鍵に対して、生成された復号コードを用いて可逆暗号化し、復元フレーズ「XXXyyy0123」を生成した、とする。次に、復元フレーズ送信部141は、生成された復元フレーズ「XXXyyy0123」を、メールアドレス「abc@x.com」に対応付けて、管理装置2に送信する。
【0117】
次に、利用情報取得部136は、生成された復号コードを埋め込んだQRコードを構成する。次に、利用情報出力部161は、取得されたQRコードを利用情報格納部111に蓄積する。また、利用情報出力部161は、取得されたQRコードを、端末装置1の画面に表示する。
【0118】
また、管理装置2の第一サーバ受信部221は、端末装置1から、メールアドレス「abc@x.com」に対応付けて復元フレーズ「XXXyyy0123」を受信する。次に、サーバ蓄積部231は、メールアドレス「abc@x.com」に対応付けて、受信された復元フレーズ「XXXyyy0123」をユーザ情報管理表(図7)に蓄積する。以上の処理により蓄積されたレコードは、ユーザ情報管理表(図7)の「ID=1」のレコードである。
【0119】
以上、具体例1によれば、ウォレットアプリのインストールに応じて、自動的に、秘密鍵を安全に復元するための利用情報を取得できる。つまり、具体例1によれば、ユーザが、万が一、秘密鍵を紛失した場合でも、秘密鍵を安全に復元できる環境を提供できる。
【0120】
(具体例2)
ユーザAは、利用しているウォレットアプリの秘密鍵を紛失してしまった、とする。そして、ユーザAは、格納部11に格納されている1以上のQRコードから、ウォレットアプリのQRコードを選択する。また、ユーザAは、端末装置1に、メールアドレス「abc@x.com」を含む復元指示を入力する。すると、端末装置1の受付部12は、メールアドレス「abc@x.com」を含む復元指示を受け付ける。また、秘密鍵取得部137は、格納部11からQRコードを取得する。
【0121】
次に、復元指示送信部142は、入力されたメールアドレス「abc@x.com」を取得する。次に、復元指示送信部142は、当該メールアドレスを含む復元指示「<復元依頼>abc@x.com」を構成する。次に、復元指示送信部142は、当該復元指示を管理装置2に送信する。
【0122】
次に、管理装置2の第二サーバ受信部222は、端末装置1から復元指示「<復元依頼>abc@x.com」を受信する。次に、サーバ取得部232は、受信された復元指示に含まれるメールアドレス「abc@x.com」を取得する。次に、サーバ取得部232は、取得されたメールアドレスと対になる復元フレーズ「XXXyyy0123」をユーザ情報管理表(図7)から取得する。次に、サーバ送信部24は、復元フレーズ「XXXyyy0123」を、ユーザAの端末装置1に送信する。
【0123】
次に、端末装置1の復元フレーズ受信部151は、管理装置2から復元フレーズ「XXXyyy0123」を受信する。
【0124】
次に、秘密鍵取得部137は、取得しているQRコードに埋め込まれている復号コードを取得する。次に、秘密鍵取得部137は、取得した復号コードを、受信された復元フレーズ「XXXyyy0123」で復号化し、秘密鍵を取得する。次に、秘密鍵出力部162は、取得された秘密鍵を出力する。なお、秘密鍵出力部162は、例えば、取得された秘密鍵を、格納部11に少なくとも一時蓄積する。
【0125】
以上、具体例2によれば、ユーザが、万が一、秘密鍵を紛失した場合でも、秘密鍵を安全に復元できる。
【0126】
以上、本実施の形態によれば、ソフトウェアウォレットの秘密鍵の紛失等に対して、秘密鍵を安全に復元できる。さらに具体的には、本実施の形態によれば、管理装置2では秘密鍵や秘密鍵を復元に必要な要素を受け取らずに、秘密鍵を安全に復元できる。また、本実施の形態によれば、秘密鍵を復元する場合に、2つ以上の要素が必要になる。なお、2つ以上の要素とは、ユーザ識別子、利用情報、復元フレーズである。
【0127】
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における端末装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、ソフトウェアウォレットの秘密鍵を生成する秘密鍵生成部と、復号コードを生成する復号コード生成部と、前記秘密鍵に対して、前記復号コードを用いて、可逆暗号化し、復元フレーズを生成する復元フレーズ生成部と、前記復元フレーズを、ユーザ識別子に対応付けて管理装置に送信する復元フレーズ送信部として機能させるためのプログラムである。
【0128】
また、本実施の形態における管理装置2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、端末装置から、ユーザ識別子に対応付けて復元フレーズを受信する第一サーバ受信部と、前記復元フレーズを前記ユーザ識別子に対応付けて蓄積するサーバ蓄積部と、前記端末装置から、ユーザ識別子に対応する復元指示を受信する第二サーバ受信部と、前記復元指示に対応する前記ユーザ識別子に対応する前記復元フレーズを取得するサーバ取得部と、前記復元フレーズを前記端末装置に送信するサーバ送信部として機能させるためのプログラムである。
【0129】
また、図8は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の端末装置1、管理装置2を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図8は、このコンピュータシステム300の概観図であり、図9は、システム300のブロック図である。
【0130】
図8において、コンピュータシステム300は、CD-ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
【0131】
図9において、コンピュータ301は、CD-ROMドライブ3012に加えて、MPU3013と、CD-ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
【0132】
コンピュータシステム300に、上述した実施の形態の端末装置1等の機能を実行させるプログラムは、CD-ROM3101に記憶されて、CD-ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD-ROM3101またはネットワークから直接、ロードされても良い。
【0133】
プログラムは、コンピュータ301に、上述した実施の形態の端末装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
【0134】
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
【0135】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0136】
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
【0137】
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0138】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【0139】
以上のように、本発明にかかる端末装置1は、ソフトウェアウォレットの秘密鍵の紛失等に対して、秘密鍵を安全に復元できるという効果を有し、暗号資産のソフトウェアウォレットのアプリケーションが動作する端末等として有用である。
【符号の説明】
【0140】
A 情報システム
1 端末装置
2 管理装置
11 格納部
12 受付部
13 処理部
14 送信部
15 受信部
16 出力部
21 サーバ格納部
22 サーバ受信部
23 サーバ処理部
24 サーバ送信部
111 利用情報格納部
131 インストール部
132 アドレス生成部
133 秘密鍵生成部
134 復号コード生成部
135 復元フレーズ生成部
136 利用情報取得部
137 秘密鍵取得部
141 復元フレーズ送信部
142 復元指示送信部
151 復元フレーズ受信部
161 利用情報出力部
162 秘密鍵出力部
221 第一サーバ受信部
222 第二サーバ受信部
231 サーバ蓄積部
232 サーバ取得部
図1
図2
図3
図4
図5
図6
図7
図8
図9