(58)【調査した分野】(Int.Cl.,DB名)
前記ユーザに関連付けられた前記生体情報が、前記ICCの前記メモリに記憶されているID検証アルゴリズムを使用して、前記ICCの前記メモリに事前に記憶されている前記生体情報と比較され、
前記コンピュータで実行される方法が、
前記ICCの前記メモリに記憶されている暗号動作アルゴリズムを使用して、前記1つまたは複数の暗号動作を実行するステップをさらに含み、
前記ID検証アルゴリズムおよび前記暗号動作が、暗号化された形式で記憶されている、
請求項1に記載のコンピュータで実行される方法。
【発明を実施するための形態】
【0011】
様々な図面における同様の参照番号および記号は同様の要素を示す。
【0012】
本明細書は、暗号鍵をセキュアに管理し、そしてユーザID情報に基づいて暗号動作を行うための技術を記載する。これらの技術は概して、ユーザと関連する生体情報、および1つまたは複数の暗号動作を行う要求を受け取ることと、生体情報が事前に記憶された生体情報と一致するとの判定に応じて、1つまたは複数の暗号動作が行われることを認可することとを伴う。
【0013】
図1は、本明細書の実施形態を実行するために使用できるプロセスを行うためのICC100の一例を例示する図である。高レベルでは、ICC100は、メモリ102および論理計算コンポーネント104を含むコンピュータチップであることができる。ICC100は、暗号動作をセキュアに行うために使用できる。一部の実施形態において、ICC100は、1つまたは複数のチップコンポーネントを含むチップセットであることができる。メモリ102および論理計算コンポーネント104は異なるチップコンポーネントに集積できる。一部の実施形態において、メモリ102は、恒久的な記憶を提供するために使用できる。一部の例では、メモリ102は、一度書き込むことができ、その後は読出し専用であるプログラマブルリードオンリメモリ(PROM)であることができる。一部の例では、メモリ102は、再フォーマットおよび再プログラムできる電気的消去可能プログラマブルリードオンリメモリ(EEPROM)またはフラッシュメモリであることができる。一部の実施形態において、論理計算コンポーネント104は、特定用途向け集積回路(ASIC)またはシングルチップマイクロコンピュータ(SCM)であることができる。
【0014】
高レベルでは、ICC100は、メモリ102および論理計算コンポーネント104を含むコンピュータチップであることができる。ICC100は、暗号動作をセキュアに行うために使用できる。一部の実施形態において、ICC100は、1つまたは複数のチップコンポーネントを含むチップセットであることができる。メモリ102および論理計算コンポーネント104は異なるチップコンポーネントに集積できる。一部の実施形態において、メモリ102は、恒久的な記憶を提供するために使用できる。一部の例では、メモリ102は、一度書き込むことができ、その後は読出し専用であるプログラマブルリードオンリメモリ(PROM)であることができる。一部の例では、メモリ102は、再フォーマットおよび再プログラムできる電気的消去可能プログラマブルリードオンリメモリ(EEPROM)またはフラッシュメモリであることができる。一部の実施形態において、論理計算コンポーネントは、特定用途向け集積回路(ASIC)またはシングルチップマイクロコンピュータ(SCM)であることができる。
【0015】
一部のコンピュータネットワークでは、データまたはトランザクションのプライバシーを守るために暗号通信が実装される。例えば、ブロックチェーンネットワークでは、2つのノードがトランザクションをプライベートに保ちたければ、ブロックチェーンネットワークにおける他のノードがトランザクションの詳細を認められないように、ノードはトランザクションデータを暗号化できる。暗号動作例には、限定することなく、対称鍵暗号化および非対称鍵暗号化を含む。対称暗号化は、暗号化(平文から暗号文を生成)のためにも復号(暗号文から平文を生成)のためにも単一の鍵を使用する暗号化プロセスを指す。
【0016】
非対称暗号化は、各々秘密鍵および公開鍵であって、それぞれのユーザだけに知られている秘密鍵および公然と広めることができる公開鍵を含む鍵ペアを使用する。ユーザが別のユーザの公開鍵を使用してデータを暗号化でき、そして暗号化データはその別のユーザの秘密鍵を使用して復号できる。
【0017】
非対称暗号化はデジタル署名を提供するために使用できるが、それは、取引の参加者が取引の他の参加者の他に取引の有効性を確認することを可能にする。例えば、ユーザがメッセージにデジタル署名でき、そして別のユーザが、デジタル署名に基づいてメッセージがそのユーザによって送信されたことを確認できる。デジタル署名は、メッセージが転送中に改竄されていないことを保証するためにも使用できる。例えば、ユーザAがユーザBにメッセージを送信することになる。ユーザAは、メッセージのハッシュを生成し、次いで、その秘密鍵を使用して、ハッシュを暗号化して暗号化ハッシュとしてデジタル署名を提供する。ユーザAは、メッセージにデジタル署名を添付し、そしてユーザBにデジタル署名付きメッセージを送信する。ユーザBは、ユーザAの公開鍵を使用してデジタル署名を復号し、そしてハッシュを抽出する。ユーザBは、メッセージをハッシュし、そして両ハッシュを比較する。両ハッシュが同じであれば、ユーザBは、メッセージが実際にユーザAからであり、かつ改竄されなかったことを確認できる。
【0018】
ICC100は、ユーザの暗号鍵をセキュアに管理し、そしてユーザのID情報を検証することに基づいて暗号動作を行うために使用できる。一部の実施形態において、ID情報は、指紋、声紋、心拍情報および虹彩情報などの、ユーザの生体情報であることができる。メモリ102は、ICC100ユーザのID情報および暗号鍵を記憶するために使用できる。メモリ102は、ID認証アルゴリズム(例えば、コンピュータ実行可能コードとして)および暗号動作アルゴリズム(例えば、コンピュータ実行可能コードとして)も記憶できる。一部の実施形態において、メモリ102に記憶される情報およびアルゴリズムは、ICC100がリバースエンジニアリングされたときでも漏洩を防止するために暗号化される。暗号動作を行うことの要求がユーザから受け取られると、論理計算コンポーネント104は、ID認証アルゴリズムに基づいて、ユーザから収集されるID情報およびメモリ102に記憶された信頼されたユーザID情報を使用してユーザのIDを検証できる。例えば、ID情報がユーザの指紋のユーザの指紋画像であれば、ID認証アルゴリズムは、ユーザから収集される指紋画像および記憶された指紋画像を比較するローカル認証アルゴリズムであることができる。収集された指紋画像が記憶された指紋画像と一致すれば、ユーザのIDは検証成功とされ、論理計算コンポーネント104は次いで、暗号鍵が記憶されるようにできる、またはメモリ102に記憶された既存の暗号鍵を使用して、要求された暗号動作を行える。暗号動作が行われた後に、動作結果がICC100によって出力できる。ICC100を使用することによって、暗号動作は、ユーザのIDが検証または認証された後にだけ記憶できるまたは行える。そのため、ICC100を使用するユーザの権限が保証できる。その上、暗号鍵が暗号文としてICC100に記憶されるので、暗号動作はICC100内部で行われる。動作結果だけがICC100から出力される。このように、暗号鍵のセキュリティが保証できる。
【0019】
108で、暗号動作アルゴリズムがICC100に書き込まれる。暗号動作アルゴリズムは、データ暗号化、データ復号およびデジタル署名検証などの暗号動作を行うために使用できる。110で、ID検証アルゴリズムをICC100に書き込める。ID検証アルゴリズムは、ユーザのIDを検証して、ユーザが暗号動作を行うためにICC100を使用するのを許可できるかどうかを判定するために使用できる。
【0020】
112で、認可ID情報がICC100に入力される。認可ID情報はICC100の初期化中にICC100に入力できる。一部の実施形態において、認可ID情報は、指紋、声紋、心拍情報または虹彩情報などの、ユーザの生体情報であることができる。一部の実施形態において、認可ID情報はICC100の所有者によって入力できる。本明細書の実施形態で更に論じられることになるように、認可ID情報を入力したユーザは、それを使用して、ICC100への暗号鍵入力を制御できる。認可ID情報に基づいてユーザIDが検証できない限り、暗号鍵はICC100に入力できない。
【0021】
認可ID情報は、暗号鍵を格納するまたは暗号動作を行うことの認可を提供するように、ID検証を行うために使用できる。ID情報は、ICC100と通信可能に結合される計算デバイスによって収集できる。例えば、計算デバイスは、ユーザの生体情報を検出できるスマートウォッチであることができる。
【0022】
一部の実施形態において、メモリ102の内容がクリアされ、そして認可ID情報がメモリ102に書き込まれる。一部の実施形態において、メモリ102は永久記憶メモリである。一部の実施形態において、改竄を防止するために、ユーザのID情報は、一度メモリ102の記憶ユニットに書き込めるだけである。既存のID情報を置き換えるために新たなID情報が使用される必要があれば、新たなID情報が書き込める前にメモリ102の内容が消去されてよい。一部の実施形態において、認可ID情報は、メモリ102への書込み前に暗号化されてセキュリティを強化できる。
【0023】
114で、1つまたは複数の暗号鍵がICC100のメモリ102に書き込まれる。一部の実施形態において、1つまたは複数の暗号鍵がメモリに書き込まれる前に、ユーザのID情報およびメモリ102に1つまたは複数の暗号鍵を書き込むことの要求が受け取られる。ID情報は、指紋、声紋、心拍情報または虹彩情報などの、生体情報であることができる。ID情報は、ICC100と通信可能に結合される計算デバイスによって収集できる。一部の実施形態において、認可ID情報がメモリ102から読み出されてユーザのIDを検証する。検証は、114で受け取られるユーザのID情報を認可ID情報と照合することに基づいて行える。ID情報が一致すれば、検証は成功である。ユーザは次いで、ICC100の正規ユーザとして判定され、そして1つまたは複数の暗号鍵は、メモリ102に書き込まれるのを許可される。そうでなければ、要求は却下される。一部の実施形態において、1つまたは複数の暗号鍵は、メモリ102への書込み前に暗号化されてセキュリティを強化する。一部の実施形態において、1つまたは複数の暗号鍵は、認可情報を記憶した記憶ユニットと別々のメモリ102の記憶ユニットに書き込める。
【0024】
一部の実施形態において、ICC100は、ユーザのID情報および暗号動作を行うことの要求を受け取ってよい。ID情報は、ICC100と通信可能に結合される計算デバイスによって収集できる。例えば、計算デバイスは、ユーザの生体情報を検出できるスマートウォッチであることができる。ID情報が収集された後に、それはICC100に送信できる。一部の実施形態において、暗号動作が行われることになるデータもICC100に送信できる。例えば、暗号動作が暗号化であれば、対応するデータは、暗号化されることになるデータファイルであることができる。その後、112でメモリ102に書き込まれた認可ID情報がメモリ102から読み出されてID検証を行える。ID検証は、114で受け取られるID情報を認可ID情報と比較することに基づいて行える。ID情報が一致すれば、検証は成功であり、そして対応する暗号鍵情報がメモリ102から読み出されて暗号動作を行う。ID情報が一致しなければ、検証は不成功である。次いで暗号動作を行うことの要求は拒否できる。一部の実施形態において、ID検証は、特定の種類の受け取られたID情報に基づいて110でICC100に書き込まれたID検証アルゴリズムを使用して行える。一部の実施形態において、暗号動作は、108でICC100に書き込まれた暗号動作アルゴリズムに基づいて行える。上記したように、暗号動作は、暗号化、復号、またはデータにデジタル署名を追加することであることができる。暗号動作を行った後に、動作結果が116で出力できる。
【0025】
図2は、本明細書の実施形態に従うICCを使用して暗号動作を行うためのプロセス200の一例を例示するフローチャートである。202で、暗号動作を行うことの要求が受け取られる。暗号動作の例には、データ暗号化、復号、およびデジタル署名を追加することを含むことができる。
【0026】
204で、ユーザのID情報が受け取られる。
図1の説明で論じたように、ID情報は、計算デバイスによって収集され、そしてICCに送信できる。206で、ID情報が検証できる。一部の実施形態において、ID情報は、ICCのメモリに記憶されたID情報と比較できる。ID情報が記憶されたID情報と一致すれば、検証は成功であり、次いで要求された暗号動作が、ICCのメモリに記憶されたユーザの暗号鍵を使用して208で行える。そうでなければ、プロセス200は212で終了する。208の後に、プロセス200は、動作結果が返される210に進む。動作結果は、208で行われた暗号動作次第であり得る。例えば、暗号動作がファイル暗号化であれば、ユーザの公開鍵を使用して暗号化されたファイルが返され得る。同様に、暗号動作がファイル復号であれば、ユーザの秘密鍵を使用して復号されたファイルが返され得る。暗号動作がデジタル署名を追加することであれば、その秘密鍵によって生成されたユーザのデジタル署名付きファイルが返され得る。210の後に、プロセスは212で終了する。
【0027】
図3は、本明細書の実施形態に従うICCを使用して1つまたは複数の暗号動作を行うためのトークンを生成するためのプロセス300の一例を例示するフローチャートである。302で、1つまたは複数の暗号動作を行う認可の要求がICCによって受け取られる。要求される認可は、或る回数または所定の期間の間暗号動作を行うことの認可の1つまたは複数であることができる。例えば、ユーザのIDが検証された後に、ユーザはICCを使用して、そのIDを再び検証する必要なく暗号動作を要求回数または要求時間内に行える。暗号動作例には、データ暗号化、復号、またはデジタル署名を追加することを含むことができる。
【0028】
304で、ユーザのID情報がICCによって受け取られる。ID情報は、ICC100と通信可能に結合される計算デバイスによって収集できる。例えば、計算デバイスは、心拍または指紋情報などの、ユーザの生体情報を検出できるスマートウォッチであることができる。ID情報が収集された後に、それはICC100に送信できる。
【0029】
306で、受け取ったID情報が検証できる。検証は、ユーザのID情報を認可ID情報と照合することに基づいて行える。ID情報が一致すれば、検証は成功である。ユーザは次いで、ICC100の正規ユーザとして判定され、そして1つまたは複数の暗号鍵が、メモリ102に書き込まれるのを許可される。そうでなければ、検証は不成功であり、プロセス300は312で終了する。ID情報が検証成功とされれば、308でトークンが生成されてICCに一時的に記憶される。トークンは、302で受け取った要求に基づいて生成できる。一部の実施形態において、トークンは、ユーザIDを検証する必要なく或る回数または所定の時間に暗号動作を行うことの認可を提供できる。例えば、トークンは、どちらの条件が最初に満たされようとも、次の5つの受け取られるファイルにまたは次の3時間内にデジタル署名を追加することの認可を提供するために生成できる。一部の実施形態において、トークンは、それが満了するまたは尽きるとクリアされてICCから除去できる。
【0030】
310で、トークン情報が返される。一部の実施形態において、返されたトークン情報は、ICCが挿入または統合または通信可能に結合される計算デバイスを通じてユーザによって見ることができる。例えば、ユーザIDを検証することなく5回ファイル暗号化を行うことの要求に基づいてトークンが生成されれば、そのような情報が返されてユーザによって見ることができる。310の後に、プロセス300は312で終了する。トークンが生成された後に、トークンによって示されるユーザ認可に基づいて暗号動作が行える。プロセスの1つのそのような例が
図4の説明で論じられる。
【0031】
図4は、本明細書の実施形態に従うトークンに基づいてICCを使用して1つまたは複数の暗号動作を行うためのプロセス400の一例を例示するフローチャートである。402で、暗号動作を行うことの要求が受け取られる。404で、ICCに一時的に記憶されたトークンが取り出される。406で、要求された暗号動作がトークンに基づいて認可されるかどうかが判定される。yesであれば、プロセス400は408に進み、暗号動作が行われる。プロセス400が412で終了する前に、410で暗号動作結果が返され得る。例えば、ユーザID検証を必要とする前に3回の暗号化動作が行えることをトークンが示し、かつデータ暗号化を行うことが要求であれば、データ暗号化動作は認可されて、行える。410で復号データが返され得る。次の30分内にファイル復号動作が行えることをトークンが示す場合、トークンは30分後に満了することになり、その後受け取られるファイル復号を行うことの要求は不認可であり、拒否されることになる。要求された動作が不認可であると406で判定されれば、プロセス400は412で終了する。一部の実施形態において、412でプロセス400を終了させる代わりに、ユーザは、そのID情報を再び検証して、要求された暗号動作を行うことの認可を得るように促され得る。
【0032】
図5は、本明細書の実施形態に従う鍵管理デバイス500の一例を例示する図である。一部の実施形態において、ユーザのための暗号動作を行うためにICCによって使用される暗号鍵は鍵管理デバイス500によって管理できる。鍵管理デバイス500は鍵管理504およびアルゴリズム管理514を行える。鍵管理504は、暗号鍵を記憶する506、書き込む508、ランダムに生成する510、および削除する512ことを含むことができる。暗号鍵は、暗号動作を行うためにICCの正規ユーザと関連付けられる鍵である。
【0033】
アルゴリズム管理514によって管理されるアルゴリズムには、ID検証アルゴリズム516、デジタル署名検証アルゴリズム518、暗号化および復号アルゴリズム520ならびにトークンアルゴリズム522を記憶および管理することを含むことができる。ID検証アルゴリズム516は、
図3のステップ306の説明で論じたようにID検証を行うために使用できる。デジタル署名検証アルゴリズム518は、デジタル署名検証を行うために使用できる。暗号化および復号アルゴリズム520は、
図2のステップ208および
図4の408で論じたように要求された暗号動作を行うために使用できる。トークンアルゴリズム522は、
図3および
図4の説明で論じたように、ユーザIDを検証する必要なく要求された暗号動作を行うことの時間制限または数量制限を管理するために使用できる。
【0034】
一部の実施形態において、鍵管理デバイス500はICCのバックアップとして役立つことができる。たとえICCが紛失または破壊されても、暗号動作を行うための暗号鍵およびアルゴリズムは鍵管理デバイス500から取り出せる。
【0035】
一部の実施形態において、鍵管理デバイス500は入力管理524も行える。鍵管理デバイス500は、ICCに通信可能に結合されて、アルゴリズム入力526、ID情報入力528、暗号鍵入力530、デジタル署名生成532およびID検証534を管理できる。
【0036】
図6は、本明細書の実施形態に従うID情報カード(IIC)604を使用してデータ暗号化および復号を行うためのプロセス600の一例を例示するスイムレーン図である。高レベルでは、プロセス600は、計算デバイス602とIIC604との間で行われる。計算デバイス602は、IIC604に暗号化ファイルを復号するように要求し、そのためそれはファイルを更新できる。ファイルが更新された後に、計算デバイス602は、更新ファイルがIIC604によって暗号化されるように要求し、そして暗号化ファイルを記憶できる。
【0037】
計算デバイス602は、
図7に表されるものなど、いかなる計算デバイスであることもできる。
図7は、本明細書の実施形態に従うIICが挿入、統合または通信可能に結合できる計算デバイスの例700を表す。一部の実施形態において、IIC702は、計算デバイスに便宜に挿入できる電子カードであることができる。一部の実施形態において、IIC702は、IIC702を収容するシェルまたはハードウェアパッケージであることができる。一部の実施形態において、ICC704はIIC702に統合できるまたは組み込める。
【0038】
IIC702が統合または挿入または通信可能に結合できる計算デバイス例には、モノのインターネット(IoT)デバイス706、スマートバンド708、スマートウォッチ710、ラップトップ712(もしくはデスクトップコンピュータ)またはスマートフォン714を含むことができるが、これに限定されない。IIC702は、有線または無線接続を通じて計算デバイスと通信できる。
【0039】
図6に戻って参照すると、606で、計算デバイス602がファイル復号要求を開始または受信する。一部の実施形態において、計算デバイス602はファイル復号の要求を開始することが可能である。計算デバイス602には、コンピュータ、サーバまたはスマートフォンを含むことができる。一部の実施形態において、計算デバイス602は、スマートバンドまたはスマートウォッチなどのウェアラブルデバイスであることができるが、それは、要求を開始することが可能である別の計算デバイスから復号要求を受信できる。608で、計算デバイス602は、復号されることになるファイルを取り出す。610で、計算デバイス602は、IIC604に含まれるICCを使用するID検証のためにID情報を収集する。一部の実施形態において、ID情報は、指紋、声紋、心拍情報および虹彩情報などの、ユーザの生体情報であることができる。計算デバイス602は、生体情報を収集する指紋センサ、マイクロホン、心拍センサまたは虹彩スキャナを含むことができる。ファイル復号要求、ファイルおよび収集されたID情報は次いでIIC604に送信できる。
【0040】
612で、IIC604がファイル復号要求、ファイルおよびID情報を受信する。614で、IIC604は、受信したID情報が事前に記憶された認可ID情報と一致するかどうかを検証する。検証を行うことに関する詳細は
図1の説明で論じられている。検証が成功であれば、616でファイルは、IIC604に含まれるICCによって復号できる。そうでなければ、プロセスは632で終了する。復号ファイルは計算デバイス602に返送できる。復号ファイルを受信した後に、618でファイルは計算デバイス602に表示できる。一部の実施形態において、ファイルはコンピュータまたは別々のディスプレイデバイスに送られて表示できる。620で、表示されたファイルは更新でき、そして暗号化のためにIIC604に要求を送り返せる。622で、計算デバイスは、ファイル暗号化のためにIICによって検証されることになるユーザのID情報を収集できる。
【0041】
624で、IIC604は、ファイル暗号化要求、更新ファイルおよびID情報を受信する。626で、IIC604は、ID情報が事前に記憶された認可ID情報と一致するかどうかを検証する。検証が成功であれば、プロセス600は、IIC604が更新ファイルを暗号化し、そして計算デバイス602に暗号化された更新ファイルを返送する628に進む。そうでなければ、プロセス600は632で終了する。630で、計算デバイス602は暗号化ファイルを受信および記憶する。一部の実施形態において、計算デバイス602は、暗号化ファイルを保管のために別の計算デバイスに転送できる。
【0042】
図8は、本明細書の実施形態に従うプロセス800の一例を例示するスイムレーン図である。特に、プロセス800は、ブロックチェーントランザクションにデジタル署名をセキュアかつ便宜に追加するために行える。高レベルでは、プロセス800は、ウェアラブルデバイス802、スマート端末804およびブロックチェーンノード806によって行える。スマート端末804は、コンピュータ、スマートフォンまたは販売時点端末などの計算デバイスであることができる。ウェアラブルデバイス802は、スマートウォッチまたはスマートバンドなどのウェアラブル計算デバイスであることができる。ウェアラブルデバイス802は、
図1の説明で論じられたICCなどの、統合、組込または挿入型ICCを含むことができる。ブロックチェーンノード806はコンセンサスノードと称することができ、コンセンサスノードは、それぞれのエンティティ(例えば、ブロックチェーンユーザ、金融機関、保険会社)によって動作できる。ブロックチェーンにおけるコンセンサスノードは、コンセンサスプロトコルを実行して、ブロックチェーンにトランザクションを追加し、そしてブロックチェーンネットワークの全体的な状態を更新できる。
【0043】
808で、スマート端末804が取引要求を受け取る。810で、スマート端末は、ブロックチェーン上で取引を行うためにトランザクションデータを収集する。トランザクションデータは2者以上の参加者間の取引を表すことができる。取引の例には、限定することなく、価値があるもの(例えば、資産、製品、サービス、通貨)の交換を含むことができる。
【0044】
812で、スマート端末804はトランザクションデータのハッシュ値を計算する。ハッシングは、トランザクションデータ(列データとして提供される)を固定長ハッシュ値(同じく列データとして提供される)へ変換するプロセスである。ハッシュ値を非ハッシュ化してトランザクションデータを得ることは可能でない。ハッシングは、トランザクションデータの僅かな変更さえ結果として完全に異なるハッシュ値になることを保証する。更には、上記したように、ハッシュ値は固定長である。すなわち、トランザクションデータのサイズにかかわらず、ハッシュ値の長さは固定される。ハッシングは、ハッシュ関数を通じてトランザクションデータを処理してハッシュ値を生成することを含む。ハッシュ関数の一例としては、限定することなく、セキュアハッシュアルゴリズム(SHA)-256を含み、これは256ビットハッシュ値を出力する。
【0045】
814で、スマート端末は、ハッシュ化トランザクションデータにデジタル署名を追加するようにウェアラブルデバイスに要求する。デジタル署名は非対称暗号化を使用して生成できるが、それは、取引の参加者が取引の別の参加者の他に取引の有効性を確認することを可能にする。例えば、スマート端末804のユーザが秘密鍵を使用してハッシュ化トランザクションデータにデジタル署名でき、そして受信者は、デジタル署名に基づいてハッシュ化トランザクションデータがそのユーザによって送信されたことを確認できる。デジタル署名は、メッセージが転送中に改竄されていないことを保証するためにも使用できる。
【0046】
816で、ウェアラブルデバイス802が組込型ICCを使用してユーザのIDを検証できる。ユーザのID情報はスマート端末804またはウェアラブルデバイス802によって収集できる。収集されたID情報は、ウェアラブルデバイス802に事前に記憶された認可ID情報と比較できる。使用されたIDが検証成功とされれば、ウェアラブルデバイス802のICCが使用されて、818でハッシュ化トランザクションデータにデジタル署名を追加し、そしてスマート端末804にデジタル署名されたハッシュ化トランザクションデータを返せる。
【0047】
820で、スマート端末804は取引準備を完了する。822で、スマート端末804は取引を開始する。824で、ブロックチェーンノードが取引を行う。826で、ブロックチェーンノードはスマート端末804に取引結果を返す。その後、プロセス800は828で終了する。
【0048】
図9は、本明細書の実施形態に従って実行できる方法900の一例を表す。提示を明確にするため、以降の説明は、本説明におけるその他の図との関連で方法900を全般的に記載する。しかしながら、方法900が、例えば、任意のシステム、環境、ソフトウェア、ならびにハードウェア、または適宜、システム、環境、ソフトウェアおよびハードウェアの組合せによって行えることが理解されるであろう。一部の実施形態において、方法900の様々なステップが並列に、組合せて、ループして、または任意の順に実行できる。一部の実施形態において、方法900は、本明細書の実施形態に従って記載されるICCによって行える。
【0049】
902で、ユーザと関連する生体情報、およびICCのメモリに記憶される1つまたは複数の暗号鍵に基づいて1つまたは複数の暗号動作を行う要求が受け取られる。一部の実施形態において、1つまたは複数の暗号動作は、ユーザと関連する非対称鍵ペアに基づいて行われ、そして暗号動作には、暗号化動作、復号動作またはデジタル署名生成動作の1つまたは複数を含む。一部の実施形態において、メモリはプログラマブルリードオンリメモリ(PROM)、電気的消去可能PROM(EEPROM)またはフラッシュメモリであり、ここでは生体情報および非対称鍵ペアはメモリの別々の記憶ユニットに記憶される。
【0050】
904で、ユーザと関連する生体情報は、事前記憶生体情報としてICCのメモリに事前に記憶された生体情報と比較される。
【0051】
906で、生体情報が事前記憶生体情報と一致するとの判定に応じて、1つまたは複数の暗号動作が行われることを認可する。一部の実施形態において、1つまたは複数の暗号動作が行われて動作結果を発生させる。動作結果は、ICCに通信可能に結合される計算デバイスに送信されてユーザに提示される。
【0052】
一部の実施形態において、要求は、所定の回数または所定の時間の少なくとも一方で1つまたは複数の暗号動作を行うことであり、1つまたは複数の暗号動作は、所定の回数または所定の時間の少なくとも一方で行われることが認可され、そしてコンピュータで実施される方法900は、所定の回数または所定の時間の少なくとも一方を記録するトークンを生成するステップと、トークンが満了するまでトークンを一時的に記憶するステップであり、トークンが所定の回数の1つまたは複数の暗号動作の実行または所定の時間の経過に応じて満了する、ステップと、計算デバイスにトークンを送信するステップとをさらに含む。
【0053】
一部の実施形態において、要求は第1の要求であり、動作結果は第1の動作結果であり、そして方法900は、暗号動作を行うことの第2の要求を受け取るステップと、トークンが満了していないと判定するステップと、暗号動作を行って第2の動作結果を発生させるステップとをさらに含む。一部の実施形態において、第1の要求は第1のデータを復号することであり、第2の動作結果は第1のデータの平文であり、生体情報は第1の生体情報であり、そしてコンピュータで実施される方法は、第2の生体情報および第1のデータの平文と関連する第2のデータを暗号化することの第3の要求を受け取るステップと、第2の生体情報が事前記憶生体情報と一致するとの判定に応じて、第2のデータを暗号化して暗号化された第2のデータを提供するステップと、計算デバイスに暗号化された第2のデータを送信するステップとをさらに含む。
【0054】
一部の実施形態において、生体情報を、事前記憶生体情報と比較するステップは生体認識に基づいて行われ、そして生体認識には、指紋認識、声紋認識、虹彩スキャン、顔認識および心拍認識の1つまたは複数を含む。
【0055】
図10は、本明細書の実施形態に従う装置のモジュールの例を表す。装置1000はICCの一実施形態の一例であることができる。装置1000は上記した実施形態に対応でき、そして装置1000は以下を含む:
【0056】
ユーザと関連する生体情報、およびICCのメモリに記憶される1つまたは複数の暗号鍵に基づいて1つまたは複数の暗号動作を行う要求を受け取る受取モジュール1002。
【0057】
ユーザと関連する生体情報を、事前記憶生体情報としてICCのメモリに事前に記憶された生体情報と比較するID情報比較モジュール1004。
【0058】
生体情報が事前記憶生体情報と一致するとの判定に応じて、1つまたは複数の暗号動作が行われることを認可する認可モジュール1006。
【0059】
任意選択の実施形態において、生体情報を、事前記憶生体情報と比較するステップは生体認識に基づいて行われ、そして生体認識には、指紋認識、声紋認識、虹彩スキャン、顔認識および心拍認識の1つまたは複数を含む。
【0060】
任意選択の実施形態において、1つまたは複数の暗号動作は、ユーザと関連する非対称鍵ペアに基づいて行われ、そして暗号動作には、暗号化動作、復号動作またはデジタル署名生成動作の1つまたは複数を含む。
【0061】
任意選択の実施形態において、メモリはプログラマブルリードオンリメモリ(PROM)、電気的消去可能PROM(EEPROM)またはフラッシュメモリであり、ここでは生体情報および非対称鍵ペアはメモリの別々の記憶ユニットに記憶される。
【0062】
前述の実施形態に例示されるシステム、装置、モジュールまたはユニットは、コンピュータチップもしくはエンティティを使用することによって実装できる、または或る機能を有する製品を使用することによって実装できる。典型的な実施形態デバイスはコンピュータであり、コンピュータは、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラ付き電話、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、電子メール送受信デバイス、ゲーム機、タブレットコンピュータ、ウェアラブルデバイス、またはこれらのデバイスのいかなる組合せでもあることができる。
【0063】
装置における各モジュールの機能および役割の実施プロセスについては、前述の方法における対応するステップの実施プロセスを参照できる。簡略化のために詳細はここでは省略される。
【0064】
装置実施形態が基本的に方法実施形態に対応するので、関連部分については、方法実施形態における関連説明を参照できる。前述した装置実施形態は単に一例である。別々の部分として記載されるモジュールは物理的に別々であってもなくてもよく、そしてモジュールとして表示される部分は、物理的モジュールであってもなくてもよく、1つの位置に設けられてもよく、またはいくつかのネットワークモジュールに分散されてもよい。モジュールの一部または全部が、本明細書の解決策の目的を達成するように実需に基づいて選択できる。当業者は創意工夫なしに本出願の実施形態を理解および実装できる。
【0065】
本明細書に記載される手法はいくつかの技術的効果をもたらす。例えば、対象の実施形態は、ICCのユーザが暗号動作をセキュアに行うために複数の暗号鍵を格納するのを許可する。暗号鍵は、ユーザのID情報を検証することに基づいてICCに記憶できる。ID情報検証が失敗すれば、ICCは暗号鍵情報入力を却下することになる。
【0066】
ICCに暗号動作を行うことを要求するために、ユーザのID情報が収集され、そして既に認証されてICCに記憶されたID情報に対して検証される必要がある。そのため、暗号動作を要求したユーザが暗号鍵の所有者であることが保証できる。
【0067】
その上、ID情報および暗号鍵は、ICCのメモリへの記憶前に暗号化できる。情報は、対応するID検証および暗号動作を行うために、ICCにおいて復号されるだけである。暗号動作はICCの内部で行われ、そして動作結果だけがICCから出力される。したがって、たとえICCがハッキングまたはリバースエンジニアリングされても、ICCユーザのID情報および暗号鍵はセキュアであり、暴露できない。一部の実施形態において、ID情報および暗号鍵を暗号文で保管するために鍵管理デバイスが使用されて、ICCにバックアップを提供し、更にデータセキュリティを強化できる。
【0068】
ユーザID情報を収集し、そして暗号動作の要求を開始するために計算デバイスが使用できる。ICCは様々な通信プロトコルを通じてワイヤレスで計算デバイスと通信できる、またはそれは計算デバイスへ統合もしくは挿入されて、セキュアな暗号動作のために容易に使用できる。
【0069】
本明細書に記載される対象ならびに行為および動作の実施形態は、デジタル電子回路網で、有形に具現化されたコンピュータソフトウェアもしくはファームウェアで、本明細書に開示される構造およびそれらの構造等価物を含め、コンピュータハードウェアで、またはそれらの1つもしくは複数の組合せで実装できる。本明細書に記載される対象の実施形態は、1つまたは複数のコンピュータプログラム、例えば、データ処理装置による実行のために、またはその動作を制御するためにコンピュータプログラムキャリアに符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装できる。例えば、コンピュータプログラムキャリアには、命令が符号化または記憶された1つまたは複数のコンピュータ可読記憶媒体を含むことができる。キャリアは、磁気、光磁気もしくは光ディスク、ソリッドステートドライブ、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)または他の種類の媒体などの有形の非一時的コンピュータ可読媒体でよい。代替的に、または加えて、キャリアは、データ処理装置による実行のために適切な受信機装置に伝送するための情報を符号化するために発生される人工発生伝搬信号、例えば、機械発生電気、光または電磁信号でよい。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらの1つもしくは複数の組合せである、またはその一部であることができる。コンピュータ記憶媒体は伝搬信号でない。
【0070】
コンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、エンジン、スクリプトまたはコードとも称してまたは記載してよく、コンパイラ型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含め、任意の形式のプログラミング言語で書くことができ、そしてそれは、スタンドアロンプログラムとして、あるいはモジュール、コンポーネント、エンジン、サブルーチン、または計算環境であって、1つもしくは複数の場所にデータ通信ネットワークによって相互接続される1つもしくは複数のコンピュータを含んでよい環境での実行に適する他のユニットとしてを含め、任意の形式に展開できる。
【0071】
コンピュータプログラムは、ファイルシステムにおけるファイルに対応してよいが、しなくてもよい。コンピュータプログラムは、他のプログラムもしくはデータ、例えば、マークアップ言語文書に記憶される1つもしくは複数のスクリプトを保持するファイルの一部分に、当該プログラムに専用の単一のファイルに、または複数の連係ファイル、例えば、1つもしくは複数のモジュール、サブプログラムもしくはコードの一部分を記憶するファイルに記憶できる。
【0072】
コンピュータプログラムの実行のためのプロセッサには、例として、汎用および専用の両マイクロプロセッサ、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、プロセッサに結合される非一時的コンピュータ可読媒体から実行するためのコンピュータプログラムの命令の他にデータを受け取ることになる。
【0073】
用語「データ処理装置」は、例としてプログラマブルプロセッサ、コンピュータまたはマルチプロセッサもしくはコンピュータを含め、データを処理するための全ての種類の装置、デバイスおよび機械を包含する。データ処理装置は、専用論理回路網、例えば、FPGA(フィールドプログラマブルゲートアレイ)、ASIC(特定用途向け集積回路)またはGPU(グラフィック処理装置)を含むことができる。同装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つもしくは複数の組合せを構成するコードも含むことができる。
【0074】
本明細書に記載されるプロセスおよび論理フローは、1つまたは複数のコンピュータプログラムを実行して、入力データを演算して出力を生成することによって動作を行う1つまたは複数のコンピュータまたはプロセッサによって行える。プロセスおよび論理フローは、専用論理回路網、例えば、FPGA、ASICもしくはGPUによって、または専用論理回路網および1つもしくは複数のプログラムされたコンピュータの組合せによっても行える。
【0075】
コンピュータプログラムの実行に適するコンピュータは、汎用もしくは専用マイクロプロセッサもしくは両方、または任意の他の種類の中央処理装置に基づくことができる。一般に、中央処理装置は、リードオンリメモリまたはランダムアクセスメモリまたは両方から命令およびデータを受け取ることになる。コンピュータの要素には、命令を実行するための中央処理装置ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスを含むことができる。中央処理装置およびメモリは、専用論理回路網によって補足、またはそれに統合できる。
【0076】
一般に、コンピュータは、1つまたは複数の記憶デバイスも含むか、または作動的に結合されてデータを受け取るもしくはデータを転送することになる。記憶デバイスは、例えば、磁気、光磁気もしくは光ディスク、ソリッドステートドライブ、または任意の他の種類の非一時的、コンピュータ可読媒体であることができる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。したがって、コンピュータは、ローカルおよび/またはリモートである、1つまたは複数のメモリなどの、1つまたは複数の記憶デバイスに結合されてよい。例えば、コンピュータは、コンピュータの不可欠なコンポーネントである1つまたは複数のローカルメモリを含むことができる、またはコンピュータは、クラウドネットワークにある1つまたは複数のリモートメモリに結合できる。その上、コンピュータは、別のデバイス、例えば、いくつか挙げると、移動電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス、例えば、ユニバーサルシリアルバス(USB)フラッシュドライブに組み込める。
【0077】
コンポーネントは、直接か1つまたは複数の中間コンポーネントを介してか、互いに電気的または光学的になど通信可能に接続されることによって互い「に結合」できる。コンポーネントの一方が他方へ統合されても、コンポーネントは互い「に結合」できる。例えば、プロセッサへ統合された記憶コンポーネント(例えば、L2キャッシュコンポーネント)はプロセッサ「に結合」されている。
【0078】
ユーザとの対話を提供するために、本明細書に記載される対象の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、例えば、LCD(液晶ディスプレイ)モニタ、ならびにユーザがコンピュータに入力を提供できる入力デバイス、例えば、キーボードおよびポインティングデバイス、例えば、マウス、トラックボールまたはタッチパッドを有するコンピュータに実装できる、またはそれと通信するように構成できる。ユーザとの対話を提供するために他の種類のデバイスも使用でき、例えば、ユーザに提供されるフィードバックは任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバックまたは触覚フィードバックであることができ、そしてユーザからの入力は、音響、音声または触覚入力を含め、任意の形態で受け取れる。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、それから文書を受信することによって、例えば、ユーザのデバイス上のウェブブラウザから受信される要求に応じてウェブブラウザにウェブページを送信することによって、またはユーザデバイス、例えば、スマートフォンもしくは電子タブレット上で実行するアプリと対話することによって、ユーザと対話できる。また、コンピュータは、パーソナルデバイス、例えば、メッセージングアプリケーションを実行しているスマートフォンにテキストメッセージまたは他の形式のメッセージを送信し、そして折り返しユーザから応答メッセージを受信することによって、ユーザと対話できる。
【0079】
本明細書は、システム、装置およびコンピュータプログラムコンポーネントに関して用語「ように構成される」を使用する。1つまたは複数のコンピュータのシステムが特定の動作または行為を行うように構成されることは、システムが自らに、動作に際してシステムに同動作または行為を行わせるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールしたことを意味する。1つまたは複数のコンピュータプログラムが特定の動作または行為を行うように構成されることは、1つまたは複数のプログラムが、データ処理装置によって実行されると、装置に同動作または行為を行わせる命令を含むことを意味する。専用論理回路網が特定の動作または行為を行うように構成されることは、回路網が同動作または行為を行う電子論理を有することを意味する。
【0080】
本明細書が多くの具体的な実施詳細を含むが、これらは、請求項自体によって定められる、特許請求されるものの範囲への限定としてでなく、むしろ特定の実施形態に固有であり得る特徴の記述として解釈されるべきである。別々の実施形態の文脈で本明細書に記載される或る特徴が、組合せて単一の実施形態でも実現できる。反対に、単一の実施形態の文脈で記載される様々な特徴が、別々に複数の実施形態でも、または任意の適切な下位組合せでも実現できる。その上、特徴が或る組合せで作用すると上記され、しかも当初そのように特許請求され得るが、特許請求された組合せからの1つまたは複数の特徴が一部の場合に同組合せから削除でき、請求項は下位組合せまたは下位組合せの変形とされ得る。
【0081】
同様に、動作が特定の順に図面に描かれかつ特許請求の範囲に列挙されるが、これは、望ましい結果を達成するために、そのような動作が図示される特定の順にもしくは順番に行われること、または全ての例示された動作が行われることを必要とすると理解されるべきでない。或る状況では、マルチタスキングおよび並列処理が有利であり得る。その上、上記した実施形態における様々なシステムモジュールおよびコンポーネントの分離は、全ての実施形態においてそのような分離を必要とすると理解されるべきでなく、記載されたプログラムコンポーネントおよびシステムが一般に単一のソフトウェア製品に共に統合できるまたは複数のソフトウェア製品へ実装できることが理解されるべきである。
【0082】
対象の特定の実施形態が記載された。他の実施形態は以下の特許請求の範囲内である。例えば、特許請求の範囲に列挙される行為は異なる順に行え、それでも望ましい結果を達成できる。一例として、添付図に描かれるプロセスは、望ましい結果を達成するために、必ずしも図示される特定の順または順番を必要とするわけではない。一部の場合には、マルチタスキングおよび並列処理が有利であり得る。