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

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

▶ ビットフォールド アーゲーの特許一覧

特許7332087エアギャッピングされた秘密鍵を用いてトランザクションに署名するためのシステムおよび方法
<>
  • 特許-エアギャッピングされた秘密鍵を用いてトランザクションに署名するためのシステムおよび方法 図1
  • 特許-エアギャッピングされた秘密鍵を用いてトランザクションに署名するためのシステムおよび方法 図2
  • 特許-エアギャッピングされた秘密鍵を用いてトランザクションに署名するためのシステムおよび方法 図3
  • 特許-エアギャッピングされた秘密鍵を用いてトランザクションに署名するためのシステムおよび方法 図4
  • 特許-エアギャッピングされた秘密鍵を用いてトランザクションに署名するためのシステムおよび方法 図5
  • 特許-エアギャッピングされた秘密鍵を用いてトランザクションに署名するためのシステムおよび方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-15
(45)【発行日】2023-08-23
(54)【発明の名称】エアギャッピングされた秘密鍵を用いてトランザクションに署名するためのシステムおよび方法
(51)【国際特許分類】
   H04L 9/10 20060101AFI20230816BHJP
   G06F 21/64 20130101ALI20230816BHJP
   H04L 9/32 20060101ALI20230816BHJP
【FI】
H04L9/10 A
G06F21/64
H04L9/32 200Z
【請求項の数】 13
(21)【出願番号】P 2021501022
(86)(22)【出願日】2019-07-12
(65)【公表番号】
(43)【公表日】2021-11-04
(86)【国際出願番号】 EP2019068923
(87)【国際公開番号】W WO2020020674
(87)【国際公開日】2020-01-30
【審査請求日】2022-07-08
(31)【優先権主張番号】18461588.8
(32)【優先日】2018-07-21
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】522279483
【氏名又は名称】ビットフォールド アーゲー
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】ガンカルツ、カミル ラファル
【審査官】行田 悦資
(56)【参考文献】
【文献】特開2003-110544(JP,A)
【文献】国際公開第2017/112469(WO,A1)
【文献】米国特許第06268789(US,B1)
【文献】特開2018-093434(JP,A)
【文献】米国特許出願公開第2010/0318785(US,A1)
【文献】特開2017-208085(JP,A)
【文献】特開2018-112827(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/10
G06F 21/64
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
トランザクションに署名するためのシステムであって、
パブリックネットワークへの通信インタフェースと、
ブロックチェーンネットワーク、または前記パブリックネットワークにおいてアクセス可能なトランザクションサーバを用いてトランザクションを処理するように構成されたコントローラ(105)と、
前記コントローラ(105)と通信するためのデータインタフェース(106)と
を有する第1のモジュールと、
ランダムシーケンスを生成するための乱数生成器と、
シードワードおよび秘密鍵を前記乱数生成器により生成される前記ランダムシーケンスに基づいて生成し、前記シードワードおよび前記秘密鍵を格納し、かつ、署名されたトランザクションを生成することにより前記トランザクションに署名するように構成されたセキュアコントローラと、
前記セキュアコントローラと通信するためのデータインタフェース(206、207)と
を有する第2のモジュールと、
ブリッジモジュールであって、
コントローラ(305)と、
前記コントローラ(305)と通信するためのデータインタフェース(309)と、
前記第1のモジュールの前記データインタフェース(106)が前記第2のモジュールの前記データインタフェース(206、207)に決して接続されないように、前記ブリッジモジュールの前記データインタフェース(309)を前記第1のモジュールの前記データインタフェース(106)または前記第2のモジュールの前記データインタフェース(206、207)のいずれかに選択的に接続するように構成されたスイッチと
を有する、ブリッジモジュールと
を備え、
前記コントローラ(305)は、前記第1のモジュールからトランザクション要求を受信し、前記トランザクション要求を前記第2のモジュールに渡しし、前記第2のモジュールから前記署名されたトランザクションを受信し、かつ、前記署名されたトランザクションを前記第1のモジュールに渡すように構成される、
システム。
【請求項2】
前記スイッチは、単極双投(SPDT)スイッチである、請求項1に記載のシステム。
【請求項3】
前記第2のモジュールの前記セキュアコントローラはさらに、バイオメトリックデータを格納するように構成される、請求項1または2に記載のシステム。
【請求項4】
前記第2のモジュールは、トランザクション認証のために人のバイオメトリックトレイルを電気信号へ変換するように構成されたバイオメトリックセンサを有する、請求項1から3のいずれか一項に記載のシステム。
【請求項5】
前記スイッチはさらに、前記ブリッジモジュールの前記データインタフェース(309)が前記第2のモジュールの前記データインタフェース(206、207)と接続されている場合にのみ前記第2のモジュールに電力を提供するように構成される、請求項1から4のいずれか一項に記載のシステム。
【請求項6】
前記第2のモジュールにおいてワイプ機能を呼び出して、格納された前記シードワードおよび前記秘密鍵を削除し、かつ、前記第1のモジュールからの全てのトランザクションデータおよび財務データをワイプするように構成されたワイプモジュールをさらに備える、請求項1から5のいずれか一項に記載のシステム。
【請求項7】
前記第2のモジュールは、共通ハウジング内で前記ブリッジモジュールと統合される、請求項1から6のいずれか一項に記載のシステム。
【請求項8】
前記第1のモジュールは、共通ハウジング内で前記第2のモジュールおよび前記ブリッジモジュールと統合される、請求項1から7のいずれか一項に記載のシステム。
【請求項9】
前記第2のモジュールの前記データインタフェース(206、207)は、入力データバッファと出力データバッファとを含む、請求項1から8のいずれか一項に記載のシステム。
【請求項10】
前記第2のモジュールの前記乱数生成器は、ハードウェアエントロピー生成器である、請求項1から9のいずれか一項に記載のシステム。
【請求項11】
前記第2のモジュールの前記乱数生成器は、ソフトウェアエントロピー生成器である、請求項1から9のいずれか一項に記載のシステム。
【請求項12】
請求項1から11のいずれか一項に記載のシステムを用いてトランザクションに署名するための方法であって、
前記第1のモジュールを前記パブリックネットワークに接続する段階と、
トランザクションの詳細をセットアップする段階と、
前記トランザクションが認証されるという承諾を受信する段階と、
前記トランザクション要求を前記ブリッジモジュールへ送信する段階と、
前記第1のモジュールを前記ブリッジモジュールから切断する段階と、
前記ブリッジモジュールを前記第2のモジュールに接続する段階と、
前記トランザクション要求を前記ブリッジモジュールから前記第2のモジュールへ送信する段階と、
前記第2のモジュールを介して前記トランザクションを認証する段階と、
前記第2のモジュールに格納された前記秘密鍵を用いて前記トランザクションに署名して、署名された前記トランザクションを生成する段階と、
署名された前記トランザクションを前記第2のモジュールから前記ブリッジモジュールへ送信する段階と、
前記第2のモジュールを前記ブリッジモジュールから切断する段階と、
前記第1のモジュールを前記ブリッジモジュールに接続する段階と、
署名された前記トランザクションを前記ブリッジモジュールから前記第1のモジュールへ送信する段階と、
署名された前記トランザクションを前記第1のモジュールから前記ブロックチェーンネットワークまたは前記トランザクションサーバへ送信する段階と
を備える、方法。
【請求項13】
前記第2のモジュールにおける予め定義された回数の連続した試みの間にユーザがトランザクションを認証しない場合、前記第2のモジュールにおいてワイプ機能を呼び出して、格納された前記シードワードおよび前記秘密鍵を削除し、かつ、前記第1のモジュールからの全てのトランザクションデータおよび財務データをワイプする段階をさらに備える、請求項12に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、トランザクションに署名するためのシステムおよび方法に関する。本開示は特に、暗号通貨またはブロックチェーン(または同様のシステム)が格納されたコンテンツなどのデジタルアセットを管理する場合における電子デバイス内でのエアギャッピングのための、ユーザの視点からの簡便な方法に関する。
【背景技術】
【0002】
「エアギャッピング」は、コンピューティングマシンのあらゆるネットワーク接続の切断、または少なくともインターネットなどのパブリックネットワークの切断に関連する公知の手順である。言い換えると、エアギャップ、エアウォールまたはエアギャッピングは、パブリックインターネットまたは安全でないローカルエリアネットワークなど、安全でないネットワークからセキュアコンピュータネットワークが物理的に分離されることを保証するために1または複数のコンピュータ上で使用されるネットワークセキュリティ措置である。
【0003】
結果として、エアギャッピングされたコンピューティングマシンは、リモートエンティティにアクセス不可能であり、かつ、ユーザ(オペレータ)によってのみ手動で動作させられ得る、(情報、信号等に関して)閉じたシステムである。
【0004】
エアギャッピングの欠点は、エアギャッピングされたコンピューティングマシンとリモートエンティティとの間の情報の転送が、労力集中型であり、エアギャッピングされたマシンに入れられる期待されるソフトウェアアプリケーションまたはデータについての人間によるセキュリティ解析、場合によっては、セキュリティ解析後のデータの人間による手動での再入力さえ伴うことが多いということである。
【0005】
さらに、エアギャッピングされたマシンは、典型的には、2つのシステムを動作させて維持する必要がある完全に分離されたハードウェアシステムであり、これは、特に、いわゆる電子ウォレットの場合に不便であり、当該電子デバイス、または当該ウォレットとして機能するコンピュータプログラムに加え、ユーザは、別個のエアギャッピングされたトランザクション署名デバイス(例えば、ネットワーク接続がないコード生成トークン、またはブロックチェーンに格納されたコンテンツへのアクセスもしくは暗号通貨などのデジタルアセットの消費を可能にする秘密鍵を格納したセキュアな冷蔵ハードウェアウォレット)を携帯しなければならない。
【0006】
「仮想エアギャップ-VAGシステム」と題された米国特許第US8984275B2号は、仮想エアギャップと、内部セキュリティコンポーネントと、外部セキュリティコンポーネントと、内部および外部セキュリティコンポーネントと共有メモリとの間に配置されたシステムコンポーネントのメッセージ転送メカニズムとを備えるシステムを開示している。内部システムは、それを内部ネットワークに接続する当該システムに含まれる内部セキュリティコンポーネントおよび他のコンポーネントとから成る。外部システムは、それを外部ネットワークに接続する当該システムに含まれる外部セキュリティコンポーネントおよび他のコンポーネントから成る。
【0007】
上記を考慮すると、特に電子ウォレット用途必で使用可能なシステムを設計する必要があり、これは、2つの別個のデバイスを必要としないであろうし、使用がより簡便であろう。仮想エアギャップを介してトランザクションに署名するための改善されたシステムおよび方法を提供することも必要である。
【発明の概要】
【0008】
本発明は、トランザクションに署名するためのシステムに関する。システムは、パブリックネットワークへの通信インタフェースと、ブロックチェーンネットワーク、またはパブリックネットワークにおいてアクセス可能なトランザクションサーバを用いてトランザクションを処理するように構成されたコントローラと、コントローラとの通信のためのデータインタフェースとを有する第1のモジュールを備える。システムは、ランダムシーケンスを生成するための乱数生成器と、シードワードおよび秘密鍵を乱数生成器により生成されるランダムシーケンスに基づいて生成し、シードワードおよび秘密鍵を格納し、かつ、署名されたトランザクションを生成することによりトランザクション要求に署名するように構成されたセキュアコントローラと、セキュアコントローラと通信するためのデータインタフェースとを有する第2のモジュールをさらに備える。システムは、コントローラと、コントローラとの通信のためのデータインタフェースと、第1のモジュールのデータインタフェースが第2のモジュールのデータインタフェースに決して接続されないように、第1のモジュールのデータインタフェースまたは第2のモジュールのデータインタフェースのいずれかにブリッジモジュールのデータインタフェースを選択的に接続するように構成されたスイッチとを有するブリッジモジュールをさらに備える。コントローラは、第1のモジュールからトランザクション要求を受信し、トランザクション要求を第2のモジュールに渡し、署名されたトランザクションを第2のモジュールから受信し、かつ、署名されたトランザクションを第1のモジュールに渡すように構成される。スイッチは、単極双投(SPDT)スイッチであってよい。第2のモジュールのセキュアコントローラはさらに、バイオメトリックデータを格納するように構成され得る。
【0009】
第2のモジュールは、トランザクション認証のために人のバイオメトリックトレイルを電気信号へ変換するように構成されたバイオメトリックセンサを備え得る。
【0010】
スイッチはさらに、ブリッジモジュールのデータインタフェースが第2のモジュールのデータインタフェースと接続されている場合にのみ第2のモジュールに電力を提供するように構成され得る。
【0011】
システムは、第2のモジュールにおいてワイプ機能を呼び出して、格納されたシードワードおよび秘密鍵を削除し、かつ、第1のモジュールからの全てのトランザクションデータおよび財務データをワイプするように構成されたワイプモジュールをさらに備え得る。第2のモジュールは、共通ハウジング内でブリッジモジュールと統合され得る。
【0012】
第1のモジュールは、共通ハウジング内で第2のモジュールおよびブリッジモジュールと統合され得る。
【0013】
第2のモジュールのデータインタフェースは、入力データバッファと出力データバッファとを備え得る。第2のモジュールの乱数生成器は、ハードウェアエントロピー生成器であってよい。第2のモジュールの乱数生成器は、ソフトウェアエントロピー生成器であってよい。
【0014】
本発明は、本明細書において説明するトランザクションに署名するためのシステムを用いてトランザクションに署名するための方法にも関する。方法は、第1のモジュールをパブリックネットワークに接続する段階と、トランザクションの詳細をセットアップする段階と、上記トランザクションが認証されるという承諾を受信する段階と、トランザクション要求をブリッジモジュールへ送信する段階と、第1のモジュールをブリッジモジュールから切断する段階と、ブリッジモジュールを第2のモジュールに接続する段階と、トランザクション要求をブリッジモジュールから第2のモジュールへ送信する段階と、第2のモジュールを介してトランザクションを認証する段階と、第2のモジュールに格納された秘密鍵を用いてトランザクションに署名して、署名されたトランザクションを生成する段階と、署名されたトランザクションを第2のモジュールからブリッジモジュールへ送信する段階と、第2のモジュールをブリッジモジュールから切断する段階と、第1のモジュールをブリッジモジュールに接続する段階と、署名されたトランザクションをブリッジモジュールから第1のモジュールへ送信する段階と、署名されたトランザクションを第1のモジュールからブロックチェーンネットワークまたはトランザクションサーバへ送信する段階とを備える。
【0015】
方法は、第2のモジュールにおける予め定義された回数の連続した試みの間にユーザがトランザクションを認証しない場合、第2のモジュールにおいてワイプ機能を呼び出して、格納されたシードワードおよび秘密鍵を削除し、かつ、第1のモジュールからの全てのトランザクションデータおよび財務データをワイプする段階をさらに備え得る。
【図面の簡単な説明】
【0016】
本明細書において提示されるこれらの目的および他の目的は、エアギャッピングされた秘密鍵を用いて仮想エアギャップを介してトランザクションに署名するためのシステムおよび方法を提供することにより達成される。本開示のさらなる詳細および特徴、その性質および様々な利点は、図面に示される好ましい実施形態の以下の詳細な説明からより明らかになるであろう。
図1】本明細書において提示されるシステムのインターネット接続された第1のモジュールの図を示す。
図2】本明細書において提示されるシステムの第2のモジュールの図を示す。
図3】第1のモジュールと第2のモジュールとの間で動作するブリッジモジュールを示す。
図4】第1のモジュールと、第2のモジュールと、ブリッジとを備えるシステムの概要を示す。
図5図4のシステムを構成するプロセスを示す。
図6】トランザクション認証の方法を示す。 [表記および用語]以下の詳細な説明のいくつかの部分は、コンピュータメモリ上で実行され得るデータ処理手順、段階またはデータビットに対するオペレーションの他の記号表現に関して提示されている。したがって、コンピュータは、そのような論理段階を実行するので、物理量についての物理操作を必要とする。これらの量は通常、コンピュータシステムにおいて格納され、転送され、組み合わされ、比較され、そうでなければ操作されることが可能な電気信号または磁気信号の形態を取る。一般的に用いられていることを理由として、これらの信号は、ビット、パケット、メッセージ、値、要素、記号、文字、用語、番号等と称される。加えて、これらの用語および同様の用語の全ては、適切な物理量に関連しており、これらの量に適用される簡便な符号に過ぎない。例えば、「処理」または「生成」または「転送」または「実行」または「決定」または「検出」または「取得」または「選択」または「計算」または「生成」等の用語は、物理(電子)量として表されるデータを、コンピュータのレジスタおよびメモリ内で、そのようなメモリもしくはレジスタまたは他のそのような情報ストレージ内の物理量として同様に表される他のデータへと操作および変換するコンピュータシステムの動作および処理を指す。本明細書において言及されるものなど、コンピュータ可読(記憶)媒体は、典型的には、非一時的なものであってよく、および/または非一時的デバイスを備えてよい。この文脈において、非一時的記憶媒体は、有形であり得るデバイスを含んでよい。これは、当該デバイスが具体的な物理形態を有するが、当該デバイスがその物理状態を変え得ることを意味する。したがって、例えば、非一時的は、状態の変化にもかかわらず有形のままであるデバイスを指す。本明細書において利用される場合、「例」という用語は、非限定的な例、事例または例示として機能することを意味する。本明細書において利用される場合、「例えば(for example)」という用語および「例えば(e.g.)」という用語は、1または複数の非限定的な例、事例または例示のリストを導入する。
【発明を実施するための形態】
【0017】
図4に示される全体構造を有する、本明細書において提示されるシステムは、暗号通貨(暗号通貨用の電子ウォレット)を用いて効果的、簡便かつ迅速なリアルタイムの支払いを提供するように特に構成され得るか、または、エアギャッピングされたマシンにとって典型的なセキュリティ措置を同時に提供しつつ、例えばトランザクションへの署名のための外部デバイスを必要としないよう、ブロックチェーン(もしくは同様のシステム)ベースの分散リーダーに格納されたコンテンツに署名するために、当該コンテンツをアップロードするために、もしくは当該コンテンツにアクセスするために構成され得る。
【0018】
システムは、暗号通貨との使用に特に有用であるが、特に、ブロックチェーンベースのレジャーまたは同様のシステムにトークン化されている場合、通常の通貨(例えば、ユーロ、米国ドルの電子ウォレット)にも用いられ得る。
【0019】
システムは、専用コンポーネントまたはカスタムメイドのFPGA(フィールドプログラマブルゲートアレイ)回路もしくはASIC(特定用途向け集積回路)回路を用いて実現され得る。
【0020】
図1は、インターネット(または概して、任意のパブリックネットワーク)に接続されたシステムの第1のモジュール100の図を示す。第1のモジュール100は、暗号通貨または他のブロックチェーン(または同様のシステム)ベースのサービスを用いた支払いまたはトランザクションの処理に関連する任意の外部サービスとの通信を担う。言い換えると、当該モジュールは通信モジュールである。
【0021】
第1のモジュール100は、フラッシュメモリ104に通信可能に結合されたデータバス101を備える。加えて、システムの他のコンポーネントは、それらがコントローラ105により効果的に管理され得るように、データバス101に通信可能に結合される。
【0022】
フラッシュメモリ104は、以下で説明する方法の段階を実行すべくコントローラ105により実行される1または複数のコンピュータプログラムを格納し得る。さらに、フラッシュメモリ104は、第1のモジュール100の構成パラメータを格納し得る。
【0023】
通信インタフェースモジュール102(例えば、Wi-Fi(登録商標)、GSM(登録商標)、3G、LTE、NFC等)は、外部パブリックネットワークとの通信を管理するように構成される。通信モジュール102は、ユーザが自分の操作を自ら制御し得るように、専用オン/オフスイッチを有し得る。
【0024】
コントローラ105は、メモリを急速に操作および変更してディスプレイデバイスへの出力向けのフレームバッファ内での画像の生成を加速させるように設計された専門電子回路であるグラフィックス処理ユニット(GPU)105Aと、ランダムアクセスメモリ(RAM)105Bと、コンピュータプログラムの命令により指定される基本的な演算オペレーション、論理オペレーション、制御オペレーションおよび入力/出力(I/O)オペレーションを実行することにより当該命令を実行するコンピュータ内の電子回路である中央処理装置(CPU)105Cと、第1のモジュール100の他のコンポーネントとの間でのデータの受信および/または伝送を担うデータインタフェース105Dとを備えるシステムオンチップであってよい。
【0025】
典型的には、第1のモジュール100は、ひとたび準備が整うとセキュアに確認されるトランザクションをユーザがセットアップすることを可能にすべく、通信インタフェース102を介して、リモートサーバ、例えば、電子サービスプロバイダのサーバ、エレクトロニックバンキングシステムもしくはブロックチェーン(または同様のシステム)ベースの分散リーダーおよびネットワークとの通信を確立するように構成される。
【0026】
任意選択的に、第1のモジュールは、トランザクションの特定の変数をユーザが手動で挿入またはそうでなければ定義することから解放されるように、トランザクションデータを指定するコンテナとして用いられ得るQRコード(登録商標)の画像などの画像を取得および処理するように構成されたカメラ103を備え得る。カメラ103は、ユーザが自分の操作を自ら制御し得るように、専用オン/オフスイッチを有し得る。
【0027】
データバス101へのアクセスを可能にするデータインタフェース106上でI2C(集積回路間)もしくはSPI(シリアルペリフェラルインタフェース)または別のプロプライエタリインタフェースを介して、モジュール100とモジュール300との間で、データが暗号化形式で伝送され得る。
【0028】
第1のモジュール100は、専用デバイスを生成することにより実装され得る。あるいは、第1のモジュール100のコンポーネントは、典型的なスマートフォンまたは同様のデバイスを適合させることでそのモジュールを上述のように動作するよう構成することにより実装され得る。
【0029】
図2は、本明細書において提示されるシステムの第2のモジュール200の図を示す。第2のモジュール200は、トランザクションの認証を担い、パブリックネットワークに決して接続されない(インターネットなど、または、さらにいかなるネットワークにも接続されない)。
【0030】
システムは、第2のモジュール200のオペレーティングシステム(ROMに格納されていることに起因して、修正される傾向がない)と、任意選択的に、例えば、ブリッジモジュール300のソフトウェアの修正に基づくハッキングの試みを防止するためなど、ブリッジモジュール300内のソフトウェアの真正性を検証するための認証鍵とを格納するROMメモリ202に通信可能に結合されたデータバス201を備える。加えて、システムの他のコンポーネントは、それらがセキュアコントローラ205により管理され得るように、データバス201に通信可能に結合される。
【0031】
第2のモジュール200は、人のバイオメトリックトレイルを電気信号へ変換するように構成されたバイオメトリックセンサ203も(オプションとして)備え得る。バイオメトリックトレイルは主に、バイオメトリックフィンガープリントデータ、虹彩データ、顔画像、音声サンプル等を含む。このデータは、追加のトランザクション認証メカニズムとして機能し得る。
【0032】
乱数生成器204は、統計的にランダムである、すなわち、いかなる特性および区別可能な特徴も生成スキームも有しないランダム数シーケンスを生成するように構成された真の乱数生成器である。これらのランダムシーケンスは、データを暗号化して、秘密鍵の生成に用いられるシードワード(辞書ワード)を生成するために用いられる。好ましくは、乱数生成器204は、ハードウェアエントロピー生成器である。ランダム数は、スタンドアロンチップではないコンピュータプログラム(すなわち、ソフトウェアエントロピー生成器)によっても生成され得る。
【0033】
セキュアコントローラ205は、第2のモジュール200のコンポーネントを管理するように、特に、セキュアトランザクションを認証するように構成される。セキュアコントローラ205は、プロセッサ205Aと、フラッシュメモリ205Bと、動作RAMメモリ205Cとを備える。これは、秘密鍵およびバイオメトリックデータ、すなわち、セキュアトランザクションを認証するために必要な全ての要素を格納する。秘密鍵は、暗号化され得る。秘密鍵の解読には、フラッシュメモリ205B内に格納された参照バイオメトリックデータと、バイオメトリックセンサ203などのバイオメトリックセンサから読み取られたバイオメトリックデータとを用いたバイオメトリック認証が必要となる。データインタフェース205Dは、第2のモジュール200の他のコンポーネントとの間でのデータの受信および/または伝送を担う。
【0034】
データは、好ましくはSPDTスイッチ310を介してブリッジモジュール300のインタフェース309と通信するように構成されたデータバッファ206、207の形態のデータインタフェースを介して、モジュール200とモジュール300との間で伝送され得る。入力バッファ206は、そこからデータを読み取るための第2のモジュールと、その内部にデータを格納するためのブリッジモジュールとによりアクセス可能である。出力バッファ207は、その内部にデータを格納するための第2のモジュールによりアクセス可能であり、かつ、そこからデータを読み取るためのブリッジモジュールによりアクセス可能である。データバッファ206、207の各々は、SPDTスイッチ310を介してデータバス201およびセキュアコントローラ205ならびにブリッジモジュール300のデータインタフェース309との通信を処理するための独自の内部処理ユニットと、フラッシュメモリと、データインタフェースとを備え得る。
【0035】
第2のモジュール200は、専用コンポーネントまたはカスタムメイドのFPGA回路もしくはASIC回路を用いて実現され得る。第2のモジュール200は、ブリッジモジュール300と共に、好ましくは、USBインタフェースなどの外部インタフェースを介して第1のモジュールに(ブリッジモジュールのみを介して)接続可能である専用デバイスを形成するように共通ハウジング内で統合される(そのような場合、第1のモジュールの機能は、スマートフォンまたはラップトップコンピュータなどの汎用デバイスにインストールされるアプリケーションにより提供され得る)。あるいは、モジュール100、200、300の全てが、完全に機能するデバイスを形成するように共通ハウジング内で統合され得る。
【0036】
図3は、第1のモジュール100と第2のモジュール200との間で動作するブリッジモジュール300を示す。ブリッジモジュール300の目的は、トランザクション要求を規定して第1のモジュール100から第2のモジュール200に渡すこと、および、署名されたトランザクションまたはトランザクションの拒否を受信することである。
【0037】
第2のモジュール200と統合されたブリッジモジュール300は、専用コンポーネントまたはカスタムメイドのFPGA回路もしくはASIC回路を用いて実現され得る。モジュール200、300は、第1のモジュール100に接続可能である追加のモジュールを構成し得るか、または第1のモジュール100と統合され得る。
【0038】
ブリッジモジュール300は、メモリ303に通信可能に結合されたデータバス301を備える。加えて、システムの他のコンポーネントは、それらがコントローラ305により管理され得るように、データバス301に通信可能に結合される。
【0039】
第1のモジュール100とブリッジ300との間または第2のモジュール200とブリッジ300との間のいずれかで所定の時間に、データが伝送され得る。最大限のセキュリティのために、システムは、データの伝送、また、任意選択的に電力の供給を制御するSPDTスイッチ310の使用によって3つのモジュール100、200、300の全てがいつでも同時にアクティブになることが可能にならないように構成される。
【0040】
コントローラ305は、コントローラ105と同じまたは同様のサブコンポーネントを備えるシステムオンチップであってよい。
【0041】
オン/オフスイッチ304は、ユーザにより操作された場合にデバイスのオンまたはオフを切り替えるように構成される。他の典型的なコンポーネントは、好ましくはタッチセンサ式ディスプレイであるディスプレイ306と、ユーザとの通信のためのコンポーネントを形成するスピーカ302とを含む。
【0042】
ブリッジモジュール300は、モバイルデバイスとして動作するよう意図されているので、好ましくは、バッテリ307から電力を供給される。典型的なバッテリ充電手段(無線充電(例えば、)Qi規格によるもの)および典型的なプラグチャージャ接続など)も、ブリッジモジュール300の電源307内に存在し得る。BMS(バッテリ管理システム)モジュール308は、例えば、バッテリの長い耐用期間を維持するために、バッテリの充電、放電およびオペレーション全体を管理するように構成される。
【0043】
ブリッジモジュール300は、第1のモジュール100のインタフェース106または第2のモジュール200のデータバッファ206、207の両方とSPDTスイッチ310を介して通信するように構成されたデータインタフェース309を備える。
【0044】
SPDT(単極双投スイッチ)モジュール310は、電力およびデータ伝送機能をこれらのモジュールのうちの1つだけに、つまり、第1のモジュール100または第2のモジュール200のいずれかに一度に提供するように構成される。モジュール310は、一方が電力用で他方がデータ伝送用である、単一のアクチュエータにより常に共に切り替えられる2つのSPDTスイッチを含み得る。ハードウェアスイッチにより、第1のモジュールを電力から完全に切断されるようにするか、または、少なくともその通信インタフェース102を電力から完全に切断されるようにすることにより、侵入者または悪意のあるソフトウェアからの追加のレベルのセキュリティが提供される。なぜなら、それは、第2のモジュールへのアクセスがなく、第2のモジュールにより署名されるようにトランザクション要求を改ざんする可能性がないからである。
【0045】
他のタイプの切り替えモジュールは、第1のモジュール100のデータインタフェース106が第2のモジュール200のデータインタフェース206、207に決して接続されないようにする機能をそれらが提供する限り、SPDTスイッチの場所において用いられ得る。
【0046】
図4は、第1のモジュール100と、第2のモジュール200と、ブリッジモジュール300とを備えるシステムの概要を示す。ブリッジモジュール300は、SPDTスイッチ310を介して、任意の所定の時間に、第1のモジュール100または第2のモジュール200のいずれかに選択的に接続される。SPDTスイッチ310は、(少なくとも第2のモジュールへの)データの伝送および電力の供給を制御する。
【0047】
ワイプモジュール401もシステム内に任意選択的に存在してよく、セキュリティ上の理由で「デバイスをワイプする」機能を即座に呼び出すように構成されてよい。ひとたびワイプモジュール401がアクティブ化されると、第2のモジュールがアクティブ化され、データをパーソナライズすることなくその工場設定を復元すべく、そこからの秘密鍵、シードワードおよびバイオメトリックデータを削除するためにコマンドが第2のモジュールへ送信される。次に、第1のモジュールがアクティブ化され、トランザクション履歴、連絡先アドレスおよび任意の他のアドレスまたは財務データが削除される。ワイプモジュール401は、専用の「パニックボタン」の形態を有し得る。あるいは、ワイプモジュール401は、ユーザが特定の一連の他のボタンを押すことによりアクティブ化され得る。
【0048】
したがって、システム400は、第1のモジュール100、第2のモジュール200およびブリッジモジュール300という少なくとも3つのモジュールへ分割されることにより、トランザクションのセキュリティ問題を解決でき、これにより、モジュール100とモジュール200との間で情報を渡すことが可能になる共に、それらが互いに無関係に動作することが可能になる。第2のモジュール200は、パブリックネットワーク(インターネットなど)に決して接続されずに、秘密鍵を用いて(特に、パスワードもしくはPINコードまたはバイオメトリックデータ等を提供することにより)トランザクションを認証して署名するように構成される。
【0049】
特に、第2のモジュール200は、パブリックネットワークに決して接続されない。なぜなら、任意の所与の事例におけるブリッジモジュール300は、第1のモジュール100または第2のモジュール200のいずれかに接続され得るからである。したがって、リモートエンティティ(スパイソフトウェアを動作させるハッカーまたはマシン)が、本明細書において提示されるデバイスから認証データをキャプチャすることは不可能である。また、第1のモジュール100は、第2のモジュール200のデータおよびコンテンツに対するいかなる形態のアクセスも有しない。
【0050】
図5は、システム400の構成プロセスを示す。段階501において、システム400は、パブリックネットワークから切断されたままである。なぜなら、第1のモジュールがオフにされているからである。次に、段階502において、ユーザの認証の方法、例えば、PIN、パスワード、バイオメトリックスキャン等が選択される。認証および関連応答のパラメータが、第2のモジュール200のセキュアコントローラ205に格納される。続いて、段階503において、一連のキーワード(シード)が、特に暗号通貨用の確定的なウォレットの処理に関連して、公知の方法に従って生成される。シードは、秘密鍵がリセットされた場合にデバイスへのアクセスを復元するために用いられ得る。例えば、第2のモジュール200は、一連のキーワードをランダム方式で生成することを可能にする、例えばBIP-39規格による辞書をROMメモリ202内に備え得る。一連のキーワードは、24個または36個ものキーワードを含み得る。これにより、キーワードの同じランダムシーケンスがある2つのデバイスを有するリスクが軽減される。次に、段階504において、秘密鍵または鍵のセットが、シードに基づいて生成される。秘密鍵および一連のキーワードは、第2のモジュール200のセキュアコントローラ205のフラッシュメモリに格納され(505)、加えて、デバイスに対するセキュリティのレベルの向上を保証するために、パスワード、PINまたはバイオメトリックトレイルを用いて暗号化され得る。図5のプロセスが実行された後に、システム400は、インターネットなどの外部パブリックネットワークとの通信モジュール102の接続と共に、第1のモジュール100を構成および起動し得る。
【0051】
図6は、本明細書において提示されるデバイスを用いたトランザクション認証の方法を示す。まず、段階601において、第2のモジュール200がオンに切り替えられ、段階602において、ユーザが、デバイスへのさらなるアクセスを可能にすべくパスワード、PINまたはバイオメトリックデータを入力することにより、デバイスへのアクセスを認証する。入力されたパスワードが承認された場合、第2のモジュール200はオフに切り替えられ、第1のモジュール100はオンに切り替えられる。
【0052】
次に、段階604において、第1のモジュール100がパブリックネットワーク(例えば、オンラインサービス、銀行、通貨交換サービス、ブロックチェーンネットワーク、インターネットネットワーク)に接続され、段階605において、トランザクションの詳細(受信者データ、目的等など)がセットアップされ、段階606において、トランザクションの量が与えられる。この目的で、外部パブリックネットワークのリモートサーバ、または第1のモジュール100においてインストールされたアプリケーションは、典型的には、トランザクションをセットアップするために必要とされる任意の関連情報の入力を可能にする適切なユーザインタフェースを提供する。
【0053】
次に、段階607において、暗号通貨において典型的な、いわゆるマイニング手数料が決定され得る(通常の通貨の場合、この段階において、他のトランザクション手数料が決定され得る)。続いて、段階608において、上記トランザクションが適切に定義され、上記トランザクションが認証されるべきであることをユーザが確認し得る(第1のモジュール100がユーザから確認を受信する)。
【0054】
ユーザが上記トランザクションを認証することを望んでいる場合、トランザクションの詳細を既に所有している第1のモジュール100は、段階609において、トランザクション要求をブリッジモジュールへ送信し、段階610において、上記パブリックネットワークから切断される。次に、第1のモジュール100は、SPDTスイッチ310により、ブリッジからも通信可能に切断される。
【0055】
次に、第2のモジュール200は、段階611において、(上記SPDTスイッチ310を用いて)オンに切り替えられ、段階612において、ブリッジモジュールからトランザクション要求を受信する。段階613において、ユーザは、パスワード、PINおよび/またはバイオメトリックデータなどの入力データを用いて、第2のモジュール200を介してトランザクションを認証する。ユーザは、その認証情報を提供する前に、トランザクションの詳細を第2のモジュールモードにおいてダブルチェックする可能性があり、これは、スクリーン上に表示される。したがって、それは、セキュリティの別の層であり、「見た(署名した)ままのものが得られる(トランザクション)」としてまとめられ得る。既に論じたように、認証は、デバイスが外部パブリックネットワークから切断された場合に行われ、第1のモジュールは、いかなるデータへのアクセスも有しない。
【0056】
さらに、段階614において、トランザクションは、第2のモジュールのセキュアコントローラ205に格納された秘密鍵を用いて署名される。次に、段階615において、第2のモジュール200は、署名されたトランザクションをブリッジモジュール300へ送信する。
【0057】
次に、段階616において、第2のモジュール200は、オフに切り替えられ、第1のモジュール100は、オンに切り替えられ、通信インタフェース102を介してパブリックネットワークに接続される。段階617において、ブリッジモジュール300は、署名されたトランザクションを第1のモジュール100へ送信し、段階618において、第1のモジュール100は、署名されたトランザクションをブロックチェーンネットワークまたはリモートサーバへ送信する。
【0058】
任意選択的に、予め定義された回数の連続した試み(例えば、3回または5回の試み)の間にユーザがトランザクションを認証できない場合、第2のモジュールは、ワイプモジュール401の機能に関して論じたワイプオペレーションを実行し得ると共に、前述の一連のキーワードを用いて新しいアクティブ化を待機し得る(図5を参照のこと)。
【0059】
提示された方法およびシステムにより、使用の容易さを損なうことなく電子ウォレットのセキュリティを改善することが可能になる。したがって、それらは、有用、具体的かつ有形の結果を提供する。
【0060】
本開示によれば、暗号通貨および他のブロックチェーンベースのまたは格納されたコンテンツなどの電子通貨でのトランザクションにアクセスして当該トランザクションを実行するための秘密鍵のセキュアな格納を担うデバイスが提示される。したがって、当該概念が抽象的ではないことのマシン試験または変換試験が遂行される。
【0061】
本明細書において開示される方法の少なくとも一部は、コンピュータで実装され得る。したがって、システムは、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、または全てが本明細書において概して「回路」、「モジュール」または「システム」と称され得るソフトウェア態様とハードウェア態様とを組み合わせた実施形態の形態を取り得る。
【0062】
さらに、本システムは、コンピュータプログラム製品の形態を取ってよく、当該コンピュータプログラム製品は、表現としての任意の有形の媒体であって、当該媒体において具現化されるコンピュータ使用可能プログラムコードを有する、媒体で具現化される。
【0063】
当業者であれば、こ仮想エアギャップを介してトランザクションに署名するための前述の方法が1または複数のコンピュータプログラムにより実行および/または制御され得ることを容易に認識し得る。そのようなコンピュータプログラムは、典型的には、コンピューティングデバイス内のコンピューティングリソースを利用することにより実行される。アプリケーションが非一時的媒体に格納される。非一時的媒体の例は、例えばフラッシュメモリなどの不揮発性メモリであるが、揮発性メモリの例はRAMである。コンピュータ命令は、プロセッサにより実行される。これらのメモリは、コンピュータで実装される方法の全ての段階を本明細書において提示される技術的概念に従って実行するコンピュータ実行可能命令を含むコンピュータプログラムを格納するための例示的な記録媒体である。
【0064】
特定の好ましい実施形態を参照して、本明細書において提示されるシステムおよび方法を示し、説明し、かつ、定義したが、前述の明細書における実装のそのような参照および例は、当該方法または当該システムに対するいかなる限定も示唆していない。しかしながら、技術的概念のより広い範囲から逸脱することなく、それらに対して様々な修正および変更が行われ得ることは明らかであろう。提示された好ましい実施形態は、例示的なものに過ぎず、本明細書において提示された技術的概念の範囲を網羅したものではない。
【0065】
したがって、保護範囲は、本明細書において説明した好ましい実施形態に限定されないが、以下の特許請求の範囲によってのみ限定される。
図1
図2
図3
図4
図5
図6