JP7091322B2 - 複合デジタル署名 - Google Patents

複合デジタル署名 Download PDF

Info

Publication number
JP7091322B2
JP7091322B2 JP2019521726A JP2019521726A JP7091322B2 JP 7091322 B2 JP7091322 B2 JP 7091322B2 JP 2019521726 A JP2019521726 A JP 2019521726A JP 2019521726 A JP2019521726 A JP 2019521726A JP 7091322 B2 JP7091322 B2 JP 7091322B2
Authority
JP
Japan
Prior art keywords
signature
message
secret
server
share
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019521726A
Other languages
English (en)
Other versions
JP2019537349A (ja
Inventor
バルダス、アハト
ラウド、ペーテル
オルアース、マルト
カル、アイヴォ
Original Assignee
サイバーネティカ エーエス
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by サイバーネティカ エーエス filed Critical サイバーネティカ エーエス
Publication of JP2019537349A publication Critical patent/JP2019537349A/ja
Application granted granted Critical
Publication of JP7091322B2 publication Critical patent/JP7091322B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Description

デジタル署名は、デジタルメッセージや文書の信頼性を示す仕組みである。デジタルメッセージに添付されたデジタル署名が正しいことを受信者が確認できれば、受信者は、当該メッセージが既知の送信者によって作成されたものであること、送信者は当該メッセージを送信したことを否定できないこと、さらに該メッセージが伝達中に変更されていないこと、などを合理的に信じることができる。
しばしばデジタル署名は、非対称暗号を使用する。非対称暗号では、デジタル署名を生成するために、送信者の秘密鍵が使われる。また、このデジタル署名と当該デジタル署名が関連するすべてのメッセージが当該送信者に起因するものであることを証明するために、受信者は送信者の秘密鍵を使う。
デジタル署名の仕組みが機能するためには、送信者は1つ以上の秘密鍵を安全に記憶できなくてはならない。例えば送信者は、1つ以上の秘密鍵を、分離されたメモリデバイスやスマートカードなどの特別なハードウェア内に記憶してよい。しかしながら、デジタル署名の使用が徐々に普及しつつある世界では、このようなハードウェアは、高価であり、デジタル署名が広く使われるためには有効なソリューションではないことが分かる。さらに、モバイルフォンを含むモバイルデバイスのような現代的な技術と、デジタル署名とを統合したいという要望がある。このようなモバイルデバイスは、日常の通信のために多くの人が利用している。しかしながら、モバイルデバイスがカードリーダと物理的に接続できない場合があり、接続インタフェースはしばしば急速に変化し、カードリーダをモバイルデバイスに接続することはユーザにとって便利ではない。さらに、デジタル署名で使われる暗号化アルゴリズムは安全でなくなり、鍵のサイズは不十分となる可能性がある。アルゴリズムや鍵のサイズを変えることは、ほとんどの場合、使用中のすべてのスマートカードを物理的に交換することを意味する。
ソフトウェアははるかにアップデートが容易である。モバイルデバイスは自身のソフトウェアを自動的にアップデートするため、ユーザがアップデート処理に気づかないことすらしばしばある。経済的観点から見て、ソフトウェアのみに基づくデジタル署名のソリューションは魅力的である。ソフトウェアベースのデジタル署名のソリューションにおいて解決すべき最も困難な課題は、秘密鍵の管理である。モバイルデバイスその他の任意のタイプのコンピュータの静的メモリに記憶された鍵は、当該メモリへのアクセスを獲得した攻撃者によって容易に複製され得る。攻撃者は、複製された鍵を用いて、無尽蔵の偽造署名を生成することができる。こうした偽造署名は、本物の送信者が使う本当の署名と区別することができない。
秘密鍵が暗号鍵としてのパスワードを用いて暗号化された形で記憶されたとしても、いわゆる辞書攻撃により攻撃者が正しい鍵を見つけてしまうことがあり得る。辞書攻撃では、攻撃者はパスワードの辞書を持ち、この辞書を用いて正しいパスワードが見つかるまで1つ1つ試行する。このような攻撃が成功するために、パスワードや、攻撃者が成功したことを知る基準点が比較的少数であればよい。人が記憶できるパスワードは辞書攻撃に対して弱すぎることが経験から知られている。
マルチパーティプロトコルを考慮したとき、少なくとも以上で概観した課題は公開される。例えば、送信者は、受信者に(デジタル署名された)メッセージを送信し、応答を受信してよい。例えば、応答は、当該デジタル署名されたメッセージが受信者によって受信され理解されたことを示すものであってよい。従って、送信者は、受信者が(他の何らかのメッセージでなく)デジタル署名されたオリジナルのメッセージを確かに受信したことや、応答が確かに受信者から来たものであることを証明することを欲してよい。商業的その他の理由により、送信者は上記に代えて、メッセージを第三者に送信し、当該第三者が当該メッセージは第二者により証明されたことを仮定された状態にあることを望んでよい。従って、共通署名メッセージのための安全な方法が望まれる。
本開示の複数の利点が、当業者に明らかとなるだろう。例えば、第一者またはクライアント装置が第1の秘密鍵の第1のシェアを持ち、第二者またはサーバが第1の秘密鍵と第2の秘密鍵の第2のシェアを持つシナリオでは、第一者も第二者も、いずれも単独では正しい複合鍵を作ることはできない。さらに、第一者またはクライアント装置に漏えいがあったとしても、第二者に漏えいがない限り、攻撃者は辞書攻撃を与えることはできない。後述するように、第一者に漏えいがあったとき、第二者が防御することは容易である。
複合暗号署名を生成する方法が与えられる。この方法は、メッセージと、第一者署名の第1部分と、を受信するステップを備える。第一者署名の第1部分は、メッセージと、第1の秘密鍵の第1のシェアと、から導出される。この方法は、第一署名の第1部分と、第1の秘密鍵の第2のシェアと、から第一者署名を生成するステップをさらに備える。この方法は、メッセージと、第2の秘密鍵と、から第二者署名を生成するステップをさらに備える。この方法は、複合暗号署名を生成するために、第一者署名と、第二者署名と、を結合するステップをさらに備える。
第1の秘密鍵と、公開鍵と、は第1の鍵のペアであってよい。第2の秘密鍵と、公開鍵と、は第2の鍵のペアであってよい。第1の鍵のペアの公開鍵は、第2の鍵のペアの公開鍵と同じであってよい。
第1の秘密鍵は、第1の秘密モジュラスと、第1の秘密エクスポーネントと、を備えてよい。第2の秘密鍵は、第2の秘密モジュラスと、第2の秘密エクスポーネントと、を備えてよい。公開鍵は、公開エクスポーネントを備えてよい。
第1の秘密モジュラスは、素数の積であってよい。第2の秘密モジュラスは、素数の積であってよい。これらの素数の各々は、公開エクスポーネントと互いに素であってよい。
この方法は、第1の公開モジュラスと、第2の公開モジュラスと、から複合公開モジュラスを生成するステップをさらに備えてよい。
第1の秘密鍵の第1のシェアは、第1の秘密エクスポーネントの第1の付加的なシェアを備えてよい。第1の秘密鍵の第2のシェアは、第1の秘密エクスポーネントの第2の付加的なシェアを備えてよい。
第1の秘密鍵の第1のシェアは、第1の秘密エクスポーネントの第1の倍増されたシェアを備えてよい。第1の秘密鍵の第2のシェアは、第1の秘密エクスポーネントの第2の倍増されたシェアを備えてよい。
この方法は、公開鍵と、メッセージと、を用いて、第一者署名の第1部分の起源を証明するステップをさらに備えてよい。メッセージと、第一者署名の第1部分と、を受信するステップは、メッセージと第一者署名の第1部分とを備える署名リクエストを受信するステップを備えてよい。第一者署名の第1部分の起源を証明するステップは、以下のチェックするステップ、すなわち、署名リクエストが1つ以上の同じ起源からの過去の通信に関する情報をさらに備えることをチェックするステップを備えてよい。
メッセージと、第一者署名の第1部分と、を受信するステップは、メッセージと、第一者署名の第1部分と、をクライアント装置から受信するステップを備えてよい。メッセージと、第一者署名の第1部分と、を受信するステップは、メッセージと、第一者署名の第1部分と、を安全なチャネルを介して受信するステップを備えてよい。
メッセージは、ハッシュ化されてよい。ハッシュ関数は、任意のサイズのデータを有限なサイズのデータにマップ化することに使うことのできる、任意の好適な暗号化関数であってよい。メッセージは、パディングされてよい。メッセージは、ハッシュ化され、かつパディングされてよい。
装置が与えられる。この装置は、少なくとも1つのプロセッサと、少なくとも1つのメモリと、を備える。少なくとも1つのメモリはコンピュータ実行可能な命令を記憶する。コンピュータ実行可能な命令は、コンピュータ実行可能な命令が少なくとも1つのプロセッサにより実行されたとき、前述の方法を装置に実行させる。
コンピュータ読み取り可能媒体が与えられる。このコンピュータ読み取り可能媒体は、前述の方法をコンピュータに実行させるためのコンピュータ実行可能な命令を記憶する。
複合暗号署名を生成する方法が与えられる。この方法は、第1装置において、メッセージと、第1の秘密鍵の第1のシェアと、から第一者署名の第1部分を生成するステップを備える。この方法は、第1装置において、メッセージと、第一者署名の第1部分と、を第2装置に送信するステップと、をさらに備える。この方法は、第2装置において、第一者署名の第1部分と、第1の秘密鍵の第2のシェアと、から第一者署名を生成するステップをさらに備える。この方法は、第2装置において、メッセージと、第2の秘密鍵と、から第二者署名を生成するステップをさらに備える。この方法は、第2装置において、複合暗号署名を生成するために、第一者署名と、第二者署名と、を結合するステップとをさらに備える。
この方法は、第2装置において、複合暗号署名と、複合公開鍵と、を第1装置に送信するステップをさらに備えてよい。この方法は、第1装置において、メッセージと、複合公開鍵と、を用いて、複合暗号署名を証明するステップをさらに備えてよい。
複合暗号署名を生成するシステムが与えられる。このシステムは、第1装置と、第2装置と、を備える。第1装置と第2装置の各々は、プロセッサと、少なくとも1つのメモリと、を備える。第1装置の少なくとも1つのメモリと、第2装置の少なくとも1つのメモリは、それぞれコンピュータ実行可能な命令を記憶する。コンピュータ実行可能な命令は、コンピュータ実行可能な命令が前記第1装置と第2装置のプロセッサにより実行されたとき、前述の方法を第1装置と第2装置に実行させる。
以下、添付の図面を参照して、例示のみで本開示の実施形態を説明する。
第一者またはクライアント装置と、第二者またはサーバを示す図である。 複合暗号署名を生成する方法を示す図である。 複合暗号署名を生成する方法を示すフロー図である。 複合暗号署名を生成する方法を示すフロー図である。 複合暗号署名を生成するために、第二者またはサーバを初期化する方法を示すフロー図である。 複合暗号署名を生成するために、第一者またはクライアント装置を初期化する方法を示すフロー図である。 第一者またはクライアント装置を第二者またはサーバに登録するフロー図である。 本明細書および図面の全体を通して、同様の符号は同様のパーツを参照する。
以下に本発明の様々な実施形態を説明するが、本発明はこれらの実施形態に限定されない。
本発明の範囲を逸脱することなく、これらの実施形態の様々な変形が生成可能である。
以下の議論で「クライアント装置」および「サーバ」という用語が使われる。これらの用語は、純粋に、互いに相互作用する主体を区別するために使われる。すなわち、クライアント装置は第一者であり、サーバは第二者である。従って当業者は、「クライアント装置」および「サーバ」という用語は限定的でないことを理解するだろう。従って当業者は、「クライアント署名」または「第一者署名」は第一者のデジタル署名であることを理解するだろう。同様に当業者は、「サーバ署名」または「第二者署名」は第二者のデジタル署名であることを理解するだろう。
以下の議論で「公開」および「秘密」という用語が使われる。非対称鍵のペアの文脈において、当業者は、公開鍵および秘密鍵が互いに逆の機能を果たすこと、従って暗号装置はデータを暗号化するために、公開鍵と秘密鍵の一方を使ってよいこと、復号化装置はデータを複合化するために、公開鍵と秘密鍵の他方を使ってよいことを理解するだろう。当業者は、秘密鍵は、他者にオープンに通信されない鍵であることと、公開鍵は秘密鍵とは異なる鍵であることを理解するだろう。秘密鍵は安全に記憶される。一方、公開鍵は第三者に知られてもよく、ときにはオープンに通信されてもよい。例えば、公開鍵は、辞書で公開されてもオープンに送信されてもよく、敵対者が取得できる鍵であってもよい。同様に、後述において、秘密エクスポーネント(private exponent)または秘密モジュラス(private modulus)は、秘密に保持されることを想定したエクスポーネントまたはモジュラスである。逆に公開エクスポーネントまたは公開モジュラスは、秘密でないエクスポーネントまたはモジュラスである。
鍵は2つ以上の者でシェアされてよい。ここでそれぞれの者はシェアを保持する。このようなシナリオでは、鍵は、十分な数の(またはおそらく異なるタイプの)シェアが互いに結合されるときにのみ再構成することができる。従って、鍵それ自身の単一のシェアは、十分な数のさらなるシェアと結合されない限り、当該鍵を再構成するために使われない。鍵を再構成するために、シェアの1つ以上の要素が互いに付加されれば、鍵は「付加的に」シェアされてもよい。以下のいくつかの例では、鍵を再構成するために、2つの秘密エクスポーネントが互いに付加される。鍵を再構成するために、シェアの1つ以上の要素が互いに倍増されれば、鍵は「倍増されて」シェアされてもよい。以下のいくつかの例では、鍵を再構成するために、2つの秘密エクスポーネントが互いに倍増される。当業者は、他のタイプのシェアが存在し、以下の方法にそれらを適用できることを理解するだろう。
以下では、モジュラー計算および多数の因数分解に基づく暗号システムが使われる。すなわち、以下で説明する複合署名は、通常のRSA(Rivest-Shamir-Adleman)署名と似ており、標準的な暗号ライブラリを用いて証明可能である。しかしながら、当業者は、本明細書に記載の方法および技術は、公開鍵や秘密鍵が生成される任意の好適な非対称暗号システムと協力して利用可能であることを理解するだろう。例えば、楕円曲線および/または離散対数に基づく非対称暗号システムが使われてもよい。
通信チャネルは、任意の好適な通信方法である。ある通信チャネルを介して敵対者がデータにアクセスできなければ、その通信チャネルは安全であると考えてよい。
図1は、システムの一例であるシステム10のアーキテクチャを示す。システム10は、クライアント装置100と、サーバ150と、を備える。システム10は、通信チャネル20をさらに備える。通信チャネル20は、通信ネットワーク上での直接チャネルであっても関節チャネルであってもよい。例えば、通信チャネル20はインターネットを含んでもよい。
図面を参照すると、クライアント装置100は、画像ディスプレイ110と、仮想的または専用のユーザ入力装置102を含む複数のユーザインタフェースと、を含む。クライアント装置100は、プロセッサ104と、メモリ106と、電源システム108と、をさらに含む。クライアント装置100は、プロセッサ104とサーバ150のような遠隔装置との間で、通信を送信または受信するための通信モジュール112をさらに備える。例えば、通信モジュール112は、通信チャネル20を介してサーバ150の通信モジュール162への通信を送信または受信するために使われる。クライアント装置は、さらなるシステムや装置(例えば、USBスティックなどの2次メモリデバイス)と接続するためのポート114をさらに備える。
プロセッサ104は、データを受信し、メモリ106にアクセスし、メモリ106、通信モジュール112またはユーザ入力装置102のいずれかから受信した命令に基づき動作するように構成される。プロセッサ104はさらに、暗号化または複合化に関する命令を処理するように構成される。この点で、プロセッサ104は、メモリ106、または通信モジュール120やポート114などを介したその他のソースから、1つ以上の秘密鍵を読み出すことができる。プロセッサはさらに、ディスプレイ110を制御し、サーバ150などの遠隔者への通信モジュール120を介した通信を制御するように構成される。プロセッサ104は、通信モジュール120を介した送信をする前にデータを暗号化するために、あるいは通信モジュール120を介して受信したデータを復号化するために、メモリ106に記憶された命令を実行してもよい。
動作中にプロセッサ104は、メモリ106に記憶されたコンピュータで実行可能な命令を実行することができる。処理結果は、ディスプレイ110上でユーザに対して表示することができる。コンピュータ動作の制御のためのユーザ入力は、入力装置102を介して受信されてよい。
サーバ150は、ユーザ入力装置152と、プロセッサ154と、メモリ156と、電源システム158と、画像ディスプレイ160と、通信モジュール162と、ポート164と、を備える。通信モジュール162は、1つ以上のクライアント装置100からの通信を送信または受信するために、サーバによって使われる。プロセッサ154は、データを受信し、メモリ156にアクセスし、メモリ156、通信モジュール162またはユーザ入力装置152のいずれかから受信した命令に基づき動作するように構成される。プロセッサ154はさらに、暗号化または複合化に関する命令を処理するように構成される。例えば、プロセッサ154は、メモリ156から公開鍵および/または秘密鍵をメモリ156から読み出すように構成される。
動作中にプロセッサ154は、メモリ156に記憶されたコンピュータで実行可能な命令を実行することができる。処理結果は、ディスプレイ150上でユーザに対して表示することができる。コンピュータ動作の制御のためのユーザ入力は、入力装置152を介して受信されてよい。
当業者に理解される方法で、図1に示されるものと異なるアーキテクチャが使われてもよい。クライアント装置または第1装置、サーバまたは第2装置は、例えば、コンピュータ、携帯電話、タブレット、その他コンピュータで実行可能な命令に係る命令を実行できる装置であってよい。
クライアント装置100のユーザは、メッセージmがクライアント装置100に起因するものであることをサーバ150が証明することができる方法で、メッセージmをサーバ150に送信することを要望してよい。しかしながら、クライアント装置100のユーザはまた、メッセージmがサーバによって受信されたことを示し、受信確認がサーバ150に起因するものであり敵対者に起因するものでない点で安全であることを示す受信確認を受信することを要望してもよい。こうした目的のために、以下で説明されるような方法を用いて、複合暗号署名が生成されてよい。この場合、複合暗号署名は、クライアント装置100のデジタル署名とサーバ150のデジタル署名から生成される。クライアント装置100がメッセージmと自身のデジタル署名とに関する情報をサーバ150に送信でき、かつ受信確認を受信できれば、クライアント装置100は、当該受信確認がサーバ150から来たものであり、当該受信確認がクライアント装置100のデジタル署名とサーバ150のデジタル署名の両方を用いて生成されたものであることを証明できるだろう。
図2は、複合暗号署名Sを生成する方法を示す。この図では、上から下に向かって時間が流れる。図2に示される方法の前に、クライアント装置(クライアント装置100であってもなくてもよい)とサーバ(サーバ150であってもなくてもよい)とは、公開エクスポーネントeを合意する。公開エクスポーネントeは、広く送信されてよい。例えば公開エクスポーネントeは、広くオープンになった辞書に公開されてよい。
図2に示される方法の前に、クライアント装置は、第1の秘密鍵<d,n>の第1のシェア<d’,n>をメモリ内に記憶しておく(この点については、後述でさらに説明する)。第1の秘密鍵<d,n>は、第1の秘密エクスポーネントdと第1の秘密モジュラスnを備え、以下のように定義される。
Figure 0007091322000001
ここで、φはオイラーのトーシエント関数である。関数φ(x)は、所与の整数xに対して、xと互いに素であるx以下の正の整数の個数を与える。
図2に示される方法の前に、サーバは、第1の秘密鍵<d,n>の第2のシェア<d’’,n>をメモリ内に記憶しておく(この点については、後述でさらに説明する)。サーバはまた、第2の秘密鍵<d,n>をメモリ内に記憶しておく。第2の秘密鍵は、第2の秘密エクスポーネントdと第2の秘密モジュラスnを備える。第2の秘密鍵<d,n>は、以下のように定義される。
Figure 0007091322000002
ステップ210で、クライアント装置は、メッセージmと、第1の秘密鍵<d,n>の第1のシェア<d’,n>とから、クライアント署名sの第1部分yを生成する。特にクライアント装置は以下を計算する。
Figure 0007091322000003
この例では、第1の秘密鍵の第1のシェアは、第1の秘密エクスポーネントdと第1の秘密モジュラスnを備える。さらなる安全性のため、メッセージmはハッシュ化またはパディングされてもよい。
ステップ220で、クライアント装置は、サーバに署名要求を送信する。署名要求は、メッセージmと、クライアント署名sの第1部分yと、を備える。署名要求は、サーバに直接または間接に送信されてもよく、暗号化されたチャネルを介して送信されてもよい。例えば、メッセージmとクライアント署名sの第1部分yとは、サーバでの復号化のため、任意の好適な暗号化方法を用いて暗号化されてもよい。
ステップ230で、サーバは、クライアント装置からメッセージmとクライアント署名sの第1部分yとを受信すると、第1部分yと、第1の秘密鍵の第2のシェア<d’’,n>とから、クライアント署名sを生成する。ステップ230でのサーバによって実行される処理は、第1の秘密鍵の第1のシェアと第2のシェアとがどのように関係しているかに依存する。
ある実施形態では、第1の秘密鍵は、付加的にシェアされてよい。このシナリオでは、第1の秘密エクスポーネントdは、第1の秘密エクスポーネントシェアd’と第2の秘密エクスポーネントシェアd’’とに以下のように関係する。
Figure 0007091322000004
従って、第1の秘密エクスポーネントは、クライアント装置とサーバとの間で、付加的にシェアされる。d’は、ランダムに生成され、(ランダム変数として)dと独立である。従って、d’(暗号化されていても、暗号化されていなくてもよい)にアクセスできる敵対者は、サーバと通信しない限りdを見つけることができない。同様に、d’’は、ランダムに生成され、(ランダム変数として)dと独立である。従って、d’’(暗号化されていても、暗号化されていなくてもよい)にアクセスできる敵対者は、クライアント装置と通信しない限りdを見つけることができない。第1の秘密鍵がクライアント装置とサーバとの間で付加的にシェアされると、ステップ230で、サーバは、以下を計算することにより、クライアント署名sを生成する。
Figure 0007091322000005
別の実施形態では、第1の秘密鍵は、倍増されてシェアされてよい。このシナリオでは、第1の秘密エクスポーネントdは、第1の秘密エクスポーネントシェアd’と第2の秘密エクスポーネントシェアd’’とに以下のように関係する。
Figure 0007091322000006
従って、第1の秘密エクスポーネントは、クライアント装置とサーバとの間で、倍増されてシェアされる。従って、d’(暗号化されていても、暗号化されていなくてもよい)にアクセスできる敵対者は、サーバと通信しない限りdを見つけることができない。同様に、d’’は、ランダムに生成され、(ランダム変数として)dと独立である。従って、d’’(暗号化されていても、暗号化されていなくてもよい)にアクセスできる敵対者は、クライアント装置と通信しない限りdを見つけることができない。第1の秘密鍵がクライアント装置とサーバとの間で倍増されてシェアされると、ステップ230で、サーバは、以下を計算することにより、クライアント署名sを生成する。
Figure 0007091322000007
このように、サーバは、クライアント署名sを生成するために、クライアント署名sの第1部分yと第1の秘密鍵の第2のシェア<d’’,n>とを使う。従って、図2の方法のいかなる時点においても、サーバは、第1の秘密エクスポーネントdも、第1の秘密エクスポーネントシェアd’も知っている必要がないことに注意されたい。
ステップ240で、サーバは、クライアント署名sの第1部分yは、第1の秘密鍵<d,n>の第1のシェア<d’,n>を用いて生成されたことを証明する。このようにしてサーバは、メッセージmと第1部分yとがクライアント装置から来たと決定する。この証明を実行するために、サーバは、以下であることをチェックする。
Figure 0007091322000008
この証明ステップが満足されると、ステップ250で、サーバは、サーバ署名sを生成する。サーバ署名sは、以下により生成される。
Figure 0007091322000009
ステップ260で、サーバは、公開モジュラスn(このように呼ばれるのは、nがその後公開され得るからである)を計算する。モジュラスnはnとnとの積、すなわちn=nである。
当業者は、ステップ260がこの方法の一部である必要はないことを理解するだろう。図2のプロトコルが始まる前にサーバはnとnとを知っているので、図2のプロトコルが始まる前に、あるいは任意の時点で、モジュラスnが計算され公開されてもよい。
ステップ270で、サーバは、複合暗号署名Sを形成するために、クライアント署名sとサーバ署名sとを結合する。複合関数Sは中国剰余定理に基づき、S=Cn1n2(s,s)の形を取る。ここで
Figure 0007091322000010
であり、αおよびβは、αn+βn=1を満足する整数である。nとnとが互いに素であると仮定すると、このようなαとβが存在する。
ステップ280で、サーバは、複合暗号署名S、および選択的に公開モジュラスnをクライアント装置に送信する。
ステップ290で、クライアント装置は、複合暗号署名Sは確かにサーバの秘密鍵を使って生成されたことを証明してよい。その後クライアント装置は、複合暗号署名Sは確かにサーバに起因するものであり、敵対者に起因するものでないと決定してよい。この証明を実行するために、クライアント装置は、以下であることをチェックする。
Figure 0007091322000011
図2の方法で、第1の秘密モジュラスnや第2の秘密モジュラスnは、いかなる時点でも公開されることはない。さらに、クライアント装置がハッキングされた場合でも、敵対者は、サーバがなくては正しい複合署名を生成することはできないだろう。クライアント装置がハッキングされた場合でも、サーバに通信することがなければ、辞書攻撃に適用することはできない。さらに、第1の秘密鍵のクライアント装置のシェアがなければ、サーバだけでは正しい複合デジタル署名を生成することはできない。
当業者は、前述のプロトコルの変形が可能であることを理解するだろう。例えば、証明240および290は割愛されてもよい。サーバや受信者は、オリジナルに送信されたものがクライアント装置に起因するものであることを証明しなくてもよく、それに代えて、送信があたかもクライアント装置から来たものであるかのように送信を処理してよい。同様に、クライアント装置は、複合署名をサーバから受信したことを証明しなくてもよい。第三者が証明してもよく、まったく証明がされなくてもよい。
図3は、クライアント装置によって実行される方法を示すフロー図である。
ステップ310で、クライアント装置は、メッセージmと第1の秘密鍵<d,n>の第1のシェア<d’,n>とから、クライアント署名sの第1部分y=md1’mod nを生成する。
ステップ315で、クライアント装置は、サーバに署名要求を送信する。署名要求は、メッセージmと、クライアント署名sの第1部分yと、を備える。メッセージは、安全な通信チャネルを介して送信されてよい。
ステップ320で、クライアント装置は、サーバからのものであると称する応答Zを受信する。
ステップ325で、クライアント装置は、応答が、当該応答がサーバからのものであることを示す複合署名を備えるか否かをチェックする。特に、クライアント装置は、Z≠m mod nであるか否かをチェックする。
ステップ325でZ≠m mod nであった場合、Zは、クライアント署名とサーバ署名の両方を含む複合署名を含まないと決定されてよい。この場合、ステップ330で、クライアント装置は応答Zを拒否してよい。
ステップ325でZ≡m mod nであった場合、Zは、クライアント署名とサーバ署名の両方を含む複合署名を含むと決定されてよい。この場合、ステップ335で、クライアント装置は応答Zを受諾してよい。
図4は、複合暗号署名を生成する方法を示すフロー図である。この方法は、サーバによって実行される。ステップ410で、本方法は、クライアント装置からのものであると称する信号を受信するステップを備える。この信号は、メッセージmと、数kと、を備える。ここで数kは、クライアント署名の第1部分であると称し、メッセージmがクライアント装置から送信されたことを証明する。
ステップ415で、サーバは、第1の秘密鍵の第2のシェア<d’’,n>に問い合わせる。第2のシェアはサーバのメモリに記憶されている。サーバはTを計算する。Tは、メッセージmがクライアント装置から送信されたか否かをチェックするために使うことができる。第1の秘密鍵が、サーバとクライアント装置との間で付加的にシェアされていた場合、サーバは以下を計算する。
Figure 0007091322000012
上記に代えて、第1の秘密鍵が、サーバとクライアント装置との間で倍増されてシェアされていた場合、サーバは以下を計算する。
Figure 0007091322000013
ステップ420で、サーバは、受信した数kが第1の秘密鍵のクライアント装置のシェアを用いて生成されたか否かをチェックする。
すなわち、サーバはT≡m mod nであることをチェックする。
ステップ420でサーバがT≠m mod nであることを見出した場合、本方法は中止されてよい(ステップ425)。
例えば、サーバは通信を終了し、送信者にエラーメッセージを送信してよい。
ステップ420でサーバがT≡m mod nであることを見出した場合、サーバは、受信した数kが第1の秘密鍵のクライアント装置のシェアを用いて生成されたと決定してよい(ステップ430)。
ステップ435で、サーバは、受信した信号のさらなるチェックを実行してよい。特にサーバは、受信した信号が、過去にクライアント装置から受信した情報に関する情報を含むことをチェックしてよい。例えば、メッセージmが、過去にクライアント装置から受信したことが分かっているメッセージm’のハッシュを少なくとも含むかを決定するためのチェックが実行されてよい。
ステップ435で、チェックの結果が否定的であった場合、本方は中止されてよい。サーバは、クライアント装置の第1の秘密鍵が複製され、敵対者がメッセージmと数kとを送信したと決定してよい。
ステップ435で、チェックの結果が肯定的であった場合、サーバは、メッセージmと数kとがクライアント装置から送信さたと決定してよい(ステップ445)。その後、本方法はステップ450に移行する。
ステップ450で、サーバは、サーバ署名s=md2 mod nを計算する。
ステップ455で、サーバは、複合暗号署名Sを生成するために、クライアント署名Tとサーバ署名sとを結合する。複合暗号署名Sは、S=Cn1n2(T,s)で与えられる。
ステップ460で、サーバは、複合署名を送信する。
図5は、複合暗号署名を生成するために、サーバを初期化する方法のフロー図である。図5の方法は、複合署名を生成するためにサーバの製造中に実行されてもよく、署名処理の過程で実行されてもよい。
ステップ510で、素数pとqとがランダムに選択される。各素数から1を引いたものと、事前に確立した公開エクスポーネントeとの最大共通分母が1であること、すなわちgcd(p-1,e)=gcd(q-1,e)=1であることを決定するためのチェックが実行される。
選択された2つの素数のいずれかが上記に当てはまらなかった場合、サーバは1つ以上の新たな素数を選択し、再度チェックを実行する。選択された2つの素数がgcd(p-1,e)=gcd(q-1,e)=1を満足した場合、本方法はステップ515に移行する。
ステップ515で、秘密モジュラスnが、選択された2つの素数の積として計算される。すなわち、n=pである。
ステップ520で、秘密エクスポーネントdが、d=e-1 mod φ(n)として計算される。ここでφはオイラーのトーシエント関数である。
ステップ525で、サーバは、秘密鍵<d,n>をメモリ内に記憶する。ステップ530で、サーバは、素数pおよびqをメモリから削除し、サーバの秘密鍵<d,n>を生成する過程で生成したその他すべての中間値も削除する。
上記で詳述した方法の安全性については、付録で説明する。
図6は、複合暗号署名を生成するために、クライアント装置を初期化する方法のフロー図である。
ステップ610で、素数pとqとがランダムに選択される。各素数から1を引いたものと、事前に確立した公開エクスポーネントeとの最大共通分母が1であること、すなわちgcd(p-1,e)=gcd(q-1,e)=1であることを決定するためのチェックが実行される。選択された2つの素数のいずれかが上記に当てはまらなかった場合、サーバは1つ以上の新たな素数を選択し、再度チェックを実行する。選択された2つの素数がgcd(p-1,e)=gcd(q-1,e)=1を満足した場合、本方法はステップ615に移行する。
ステップ615で、秘密モジュラスnが、選択された2つの素数の積として計算される。すなわち、n=pである。
ステップ620で、秘密エクスポーネントdが、d=e-1 mod φ(n)として計算される。ここでφはオイラーのトーシエント関数である。
ステップ625で、クライアント装置は、第1の秘密エクスポーネントシェアd’と第2の秘密エクスポーネントシェアd’’とを選択する。
第1の秘密エクスポーネントが、サーバとクライアント装置との間で付加的にシェアされていた場合、クライアント装置は、d’を、値φ(n)を除いて区間[1,…,2len(n1)-1]からランダムに選択する。その後、第2の秘密エクスポーネントシェアd’’が、d’’=d-d mod φ(n)により与えられる。
第1の秘密エクスポーネントが、サーバとクライアント装置との間で倍増してシェアされていた場合、クライアント装置は、d’を、値φ(n)を除いて区間[1,…,2len(n1)-1]からランダムに選択する。そしてクライアント装置は、gcd(d’,φ(n))=1であるか、すなわち当該シェアはφ(n)を法として可逆であるかをチェックする。gcd(d’,φ(n))>1であった場合、新たなd’がランダムに選択される。その後、第2の秘密エクスポーネントシェアd’’が、d’’=d・(1/d’) mod φ(n)により与えられる。
ステップ630で、第1の秘密鍵<d’,n>のクライアント装置のシェアがメモリ内に記憶される。
ステップ635で、第1の秘密鍵<d’’,n>のサーバのシェアが安全なチャネルを介して送信される。例えば、この情報は、製造中にサーバに送られてよい。
ステップ645で、クライアント装置は、値p,q,d,d’’およびφ(n)をメモリから削除し、第1の秘密鍵のクライアント装置のシェアを生成する過程で生成したその他すべての中間値も削除する。
図7は、クライアント装置を登録するためにサーバで実行されてよい方法のフロー図である。
ステップ710で、サーバは、クライアント装置から<d’’,n>を受信する。ステップ715で、サーバは、n=nを計算する。ステップ720で、サーバは、拡張されたユークリッドアルゴリズムを用いて、整数αおよびβを算出する。
ステップ725で、サーバは、クライアント装置のデータ<d’’,n,α,β>をサーバのメモリ内に記憶する。
ステップ730で、サーバは、クライアントが正しくサーバに登録されたことの確認信号として、公開エクスポーネントnをクライアントに送信する。
以上説明した実施形態の様々な変形が考えられる。例えば、説明した実施形態のすべての特徴は任意の方法で組み合わされてよい。
上記で与えた例では、サーバはクライアント装置に複合暗号署名を送信するものとして説明した。しかしながら別のシナリオも考えられる。例えば、サーバは、複合署名をストレージのためのデジタルリポジトリに送信してよく、第三者に送信してもよい。例えば、第一者またはクライアント装置は、メッセージを第三者装置に送信するように動作すると考えてもよい。メッセージが第二者またはサーバにより証明された場合は、第三者のみがメッセージを受信すると考えてもよい。従って、第一者および第二者は、本明細書で説明した任意の方法で複合署名を生成してよく、信用できる第二者は複合署名を第三者に送信してよい。第三者は、複合署名を証明するために、すなわち第一者からのメッセージが確かに第二者により証明されたことの信用性を証明するために、公開鍵を使ってよい。当業者は、このようなオペレーションが有効な他のシナリオを考えることができる。
ある環境では、サーバおよび/またはクライアント装置で証明が行われないことも考えられる。例えば、サーバは、単に受信したデータを処理し、元の受信したデータがクライアント装置に起因するものであることを証明することなく、前述の方法に従う複合署名を発行してよい。
当業者は、任意の非対称暗合システムが使われてよいことを理解するだろう。当事者の間で秘密鍵をシェアすることのできる、任意の公開鍵および秘密鍵のペアのシステムが使われてもよい。例えば、楕円曲線または離散対数に基づく暗合システムが使われてもよい。
前述の説明では、便宜上、メッセージmは通信チャネルを介して送られるとした。通信チャネルは、無線接続やインターネットのような任意の好適な通信チャネルであってよい。通信チャネルは、暗号化のレベルを含んでよい。例えば、メッセージmとクライアント署名の第1部分yとが送られる1つ以上の通信は暗号化されてもよい。例えば、メッセージmと第1部分yとは、メッセージmと第1部分yとがサーバの秘密鍵のみを用いて読み出されるようにサーバの公開鍵を用いて暗号化されてもよい。メッセージmは、ハッシュまたはパディングされたメッセージであってもよい。SHA-256のような信頼性のあるハッシュ関数が使われてもよい。メッセージは、コンピュータにより理解可能な任意の好適な形式であってよい。
前述の方法は、コンピュータプログラムに実装されてよい。webアプリケーションまたは「app」の形であってよいコンピュータプログラムは、コンピュータまたはプロセッサが前述の方法の1つ以上の機能を実行するように命令または起動するように構成されたコンピュータ実行可能な命令またはコードを備える。コンピュータプログラムは、コンピュータなどの装置、コンピュータ読み取り可能媒体またはコンピュータプログラム製品に与えられてよい。コンピュータ読み取り可能媒体またはコンピュータプログラム製品は、非一過性媒体、例えば半導体や固体メモリ、磁気テープ、消去可能メモリスティック、ディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、硬質磁気ディスク、CD-ROM(登録商標)、CD-R/W(登録商標)、DVD(登録商標)またはBlu-ray(登録商標)などの光ディスクを備えてよい。コンピュータ読み取り可能媒体またはコンピュータプログラム製品は、例えばインターネットを介してコンピュータプログラムをダウンロードのためのデータ送信用の通信信号またはメディアを備えてよい。
コンピュータのような装置またはデバイスは、前述の方法の1つ以上の機能を実行するように構成されてよい。装置またはデバイスは、携帯電話、タブレット、ラップトップその他の処理装置であってよい。装置またはデバイスは、データ処理システムの形をとってよい。データ処理システムは、分散システムであってよい。例えば、データ処理システムは、ネットワークや専用ローカル接続を介して分散されてよい。
典型的には、装置またはデバイスは、コンピュータ実行可能な命令を記憶するための少なくとも1つ以上のメモリと、コンピュータ実行可能な命令を実行するための1つ以上のプロセッサと、備える。
(付録-安全性の証明)
RSA署名Σ=(・) mod nは、パディングスキームPとともに、現存する適応的選択メッセージ攻撃による偽造に対して安全であると仮定する。これは敵対者AΣが署名スキームに対してオラクルアクセスを持ち、MとΣ(H(M))の対を保つ必要があることを意味する。H(M)はオラクルから問い合わされたことはない。ここでHは、ランダムオラクルとしてモデル化されたハッシュ関数である。
クライアント装置の秘密エクスポーネントはクライアント装置とサーバとの間でシェアされるため、いくつかの証明では、敵対者もパーシャル署名オラクルΣ’(・)=P(・)d-r mod nにアクセスできることが仮定されてきた。ここでr←{1,…,(n)-1}はランダム数である。
パディングの出力分布は、像P上で一様に近いと仮定する。パディングスキームが確率的でランダムソルトsを使う場合、sはΣ(m,s)=P(m) mod nの形をしたオラクルクエリへのアーギュメントとして与えられると仮定する。
適応的選択メッセージ攻撃:署名オラクルへのアクセスを有する敵対者AΣ(・)は、H(M)とのクエリΣなしに正しいメッセージ署名の対M、Σ(H(M))を生成する。
安全性の証明の詳細は、使われる素数のタイプに依存する。あるタイプの素数は耐攻撃性がある一方、別のタイプの素数は簡単に生成されてしまう。
素数pがp=2p’+1であるとき、pは安全素数と呼ばれる。ここでp’もまた素数である。対応する素数p’はソフィー・ジェルマン素数と呼ばれる。特にパワーの低いモバイル装置の場合、安全素数の生成には時間がかかる。そこでこのような実装のためには、準安全素数として知られる別のクラスの素数が使われる。
定義1:素数pがp=2ap’+1であるとき、素数pはl-準安全素数と呼ばれる。ここでp’は素数であり、1≦a<lである。
準安全素数は、安全素数よりはるかに速く生成される。例えば、1024ビットのpが必要で、15ビットのa(214≦a<216)が必要な場合、1008ビットのp’が必要となる。
定義2:素数pがp=2ap’ p’’+1であるとき、素数pは(l,s)-準安全素数と呼ばれる。ここでp’ とp’’は素数であり、1≦a<lかつmin{p’,p’’}≧sである。
(悪意のあるサーバに対する安全性)
悪意のあるサーバは、
クライアント装置の秘密鍵dのシェアrを有する敵対者Aであると考えられ、Zφ(n)上に一様に分布する。サーバ敵対者Aはまた、サーバに署名要求を送信するクライアント装置への接続を有する。Aはこのような接続をオラクルΣ’として使うことができる、すなわちAは、メッセージmを選択し、mをオラクルに送信し、Σ’(m)= P(m)d-r mod nを取得することができると仮定する。Aはrを知っているので、Aは容易にΣ(m)=Σ’(m)・P(m) mod nを計算することができる。
Σ’(r)の目的は、H(M)がΣ’からクエリされないように、メッセージMと署名Σ(H(M))=P(H(M))mod nとを生成することにある。
定理1。Σが現存する適応的選択メッセージ攻撃に対してS-安全であるならば、シェアされた署名システムは悪意あるサーバに対してs/(1+tmul)-安全である。ここでtmulは、1つの(クライアントのRSAモジュラスとの)剰余乗算に必要な時間である。
証明(概要)。AΣ’(r)は、(H(M))を持つΣ’をコールすることなく確率δでMとΣ(H(M))とのペアを生成するt-時間敵対者であるとする。ランニングタイムt’の敵対者A’は、Σへのオラクルアクセスを有するように構成され、(H(M))を持つΣをコールすることなく確率δでMとΣ(H(M))とのペアを生成する。
敵対者A’は、最初にランダム数r’を拾い、その後AΣ’(r’)をシミュレートする。これにより、Σ’コールΣ’(m)がΣ(m)・P(m)-r’ mod nで返される。シミュレーションが完璧なので、A’の成功確率はδである。
A’のランニングタイムは、t+l・tmulである。従って、δ≦(t+t・tmul)/s≦t(l+tmul),(t/δ)≧(s/l+tmul)である。
例えば、1024ビットの素数を持つ通常のRSAが2120-安全で、べき乗にかかる時間が(1024)=230(加算は約1024ステップであると仮定する)であるとすると、新たな署名システムは悪意あるサーバに対して少なくとも290-安全である。
(クライアント漏洩攻撃に対する安全性)
クライアント装置のシェアは、鍵としてPINを用いたブロック暗号で暗号化されていると仮定する。暗合は、2つのサポーティングオラクルE(x)とE -1(x)を持つ理想的な暗合としてモデル化される。敵対者は、暗号化c=EPIN(d-r)を見て、予想したPIN pを持つオラクルコールE -1(c)を用いてこれを復号化することを試みるかもしれない。p=PINであれば、y=d-rである。そうでなければ、yは、d-rおよびdと独立なランダム変数である。変数d-rとyとは同様に分布しているので、敵対者はp=PINであることを知ることができないことに注意されたい。このことは、サーバとの通信を介してのみチェックすることができる。
敵対者のサーバへのアクセスは、内部状態を持つオラクルSとしてモデル化される。オラクルSは、(m,md-r mod n)の形をしたクエリを受信し、クエリがこのような形をしていれば、m mod nを返す。そうでなければ、Sは⊥を返す。⊥が3回返された場合は、たとえクエリが正しい形をしていても、Sは⊥を「ブロック」し、⊥のみを返すだろう。従って、敵対者がランダムなp-sを試み、E -1(c)を計算し、(m,my mod n)を持つクエリSを送信した場合、成功確率は3/K’である。ここでKはPINの総数である。
d-r mod φ(n)は一様に分布し、dと独立であることに注意されたい。敵対者はrを持たない点にも注意されたい。従って偽造攻撃中にS-オラクルが使われなければ、d-rを復号化することで敵対者が得るものはない。
補題1。yとxとが独立なランダム変数であり、x←Zφ(n)が一様に分布していれば、Pr[m≡m(mod n)]=1/ord(m)である。m∈Z であり、ord(m)は乗法群Z におけるmのオーダである。
補題2。pqおよびp,qが安全素数であり、m←Z が一様なランダム数であれば、Pr[ord(m)<min{(p-1)/2,q-1)/2}]=16/((p-1)(q-1))である。
証明。p-1=2p’およびq-1=2q’を満たす素数p’とq’が存在すると仮定する。従って、群Z のサイズはφ(n)=(p-1)(q-1)=4p’q’である。
要素のオーダは群のサイズの約数でなければならないので、Z の任意の要素mは、オーダord(m)∈{11,2,4}を持つか、またはord(m)≧min{p’,q’}である。オーダ1,2,4のすべての要素はZ=Z×Zにおける多項式X-1のルートであり、次数dの任意の多項式はZ×Zにおいてdを超えないルートを持つので、Zにおけるルートの数はdを超えない。従って、min{p’,q’}より小さい次数の要素の数は、d=4=16を超えない。
補題3。n=pqおよびp,qがl-準安全素数であり、m←Z が一様なランダム数であれば、Pr[ord(m)<min{(p-1)/(2l),(q-1)/(2l)}]=(16l)/((p-1)(q-1))である。
証明。p-1=2ap’およびq-1=2a’q’を満たす素数p’とq’が存在すると仮定する。
ここでaとa’とは区間[1…l-1]内にある。
従って、Z のサイズはφ(n)=(p-1)(q-1)=4aa’p’q’である。
要素のオーダは群のサイズの約数でなければならないので、Z の任意の要素mは、4aa’で割り切れるオーダord(m)を持つか、またはord(m)≧min{p’,q’}である。
4aa’で割り切れるすべての要素はZ=Z×Zにおける多項式X-1のルートであり、次数dの任意の多項式はZ×Zにおいてdを超えないルートを持つので、Zにおけるルートの数はdを超えない。
従って、min{p’,q’}=min{(p-1)/(2a),(q-1)/(2a’)}≧min{(p-1)/(2l),(q-1)/(2l)}より小さい次数の要素の数は、d=(4aa’)≦16lを超えない。
補題4。n=pqおよびp,qが(l,s)-準安全素数であり、m←Z が一様なランダム数であれば、Pr[ord(m)<s]=(16l)/((p-1)(q-1))である。
証明。p-1=2ap’p’’およびq-1=2a’q’q’’を満たす素数p’とq’が存在すると仮定する。ここでaとa’とは区間[1…l-1]内にある。従って、Z のサイズはφ(n)=(p-1)(q-1)=4aa’p’q’ p’’q’’である。要素のオーダは群のサイズの約数でなければならないので、Z の任意の要素mは、4aa’で割り切れるオーダord(m)を持つか、またはord(m)≧min{p’,q’,p’’,q’’}である。4aa’で割り切れるすべての要素はZ=Z×Zにおける多項式X-1のルートであり、次数dの任意の多項式はZ×Zにおいてdを超えないルートを持つので、Zにおけるルートの数はdを超えない。従って、min{p’,q’,p’’,q’’}≧sより小さい次数の要素の数は、d=(4aa’)≦16lを超えない。
補題5。n=pqおよびp,qが安全素数であり、Pがパディング関数であり、m←Z が一様なランダム数であれば、Pr[ord(P(m))<min{(p-1)/2,q-1)/2}]=16/2=2(-h+4)である。ここで、hはビット単位でのハッシュ長である。
補題6。n=pqおよびp,qがl-安全素数であり、Pがパディング関数であり、m←Z が一様なランダム数であれば、Pr[ord(P(m))<min{(p-1)/2l,q-1)/2l}]=16l/2=2(-h+4log2(l+4))である。ここで、hはビット単位でのハッシュ長である。
定理2。安全素数を持つΣが適応的選択メッセージ攻撃に対してS-安全であるならば、クライアントの暗号化されたシェアc=EPIN(d-r)へのアクセスを持つt-時間敵対者は、((3/k)+(t/S)+2(-h+4)+(2k/(min{p,q}-1)))より高い確率で偽造を生成することができない。
証明(概要)。AΣ,S、E(),E-l()(c)は、(H(M))を持つΣをコールすることなく確率δでMとΣ(H(M))とのペアを生成するt-時間敵対者であるとする。Σ-コールを除きすべてのオラクルがコールする環境でのランAがシミュレートされる。AがE()またはE-1()をコールする場合、標準的な「レイジーサンプリング」が使われる。
すべての可能なPINの集合{p1,…pk}からランダムPIN piが選択される。このp0は、正しいPINと考えられるだろう。そして、「正しい」クライアントのシェアは、単にランダム数d’’ ←Zφ(n)である。すなわち、Ep0 -1(c)=d’’および Ep0(d’’)=cと定義し、これらの値をレイジーサンプリングデータベースに加える。
S-コールS(m,s,y)は以下のようにシミュレートされるだろう。正当性チェックのため、yをP(m)d‘’ mod nと比較する。比較結果が一致しなければ、⊥を返す。そうでなければ、Σコールσ=Σ(m,s)を生成し、σを返す。r(クライアントの秘密エクスポーネントのサーバのシェア)は不要であることに注意されたい。
入力H(M)でSをコールすることは決してできないが、Aが成功する(M上に偽の署名を生成する)確率δは、t’/ S’を超えることはできない。高価なオーバヘッドはないため、t’≒tと考えてよい。
補題5によれば、AがSコールS(H(M),s,y)を作成するのに成功する確率δは、3/kよりわずかに大きい程度である。これは、H(M)が一様なランダム数であることから、ord(P(H(M))))≧{(p-1)/2,(q-1)/2}である確率が少なくとも1-2(-h+4)であるためである。この場合、すべての値(P(H(M)Epi -1(c) mod nが異なる確率は約1-((2K)/(min{p,q}-1))となり、任意のオラクルコールが成功する確率は1/Kより大きくない(i=1…K)。従って
Figure 0007091322000014
である。
これはδ≦δ+δ≦((3/K)+(t/S)+(2(-h+4))+(2K/(min{p,q}-1)))であることを意味する。
定理3。l-準安全素数を持つΣが適応的選択メッセージ攻撃に対してS-安全であるならば、クライアントの暗号化されたシェアc=EPIN(d-r)へのアクセスを持つt-時間敵対者は、((3/k)+(t/S)+2(-h+4log2(l+4))+(2lk/(min{p,q}-1)))より高い確率で偽造を生成することができない。
証明。補題5の代わりに補題6を使えば、定理2とまったく同様である。
例えば、1024ビットの素数を使った場合、通常のTSAは290-安全である。我々は256ビットのハッシュ関数を使うが、t-時間敵対者の予想する確率は以下となる。
Figure 0007091322000015
少なくともこの付録に記載した証明により、本提案の方法が安全であることが示される。

Claims (19)

  1. 複合暗号署名を生成する方法であって、
    メッセージと第一者署名の第1部分とをサーバで受信するステップを備え、前記第一者署名の第1部分は前記メッセージと第1の秘密鍵の第1のシェアとから導出され、
    前記第一者署名の前記第1部分と前記第1の秘密鍵の第2のシェアとから第一者署名を前記サーバで生成するステップを備え、
    前記メッセージと第2の秘密鍵とから第二者署名を前記サーバで生成するステップを備え、
    複合暗号署名を生成するために、前記第一者署名と前記第二者署名とを前記サーバで結合するステップを備える方法。
  2. 前記第1の秘密鍵と公開鍵とは第1の鍵のペアであり、
    前記第2の秘密鍵と前記公開鍵とは第2の鍵のペアを形成する請求項1に記載の方法。
  3. 前記第1の秘密鍵は、第1の秘密モジュラスと、第1の秘密エクスポーネントと、を備え、
    前記第2の秘密鍵は、第2の秘密モジュラスと、第2の秘密エクスポーネントと、を備え、
    前記公開鍵は、公開エクスポーネントを備える請求項2に記載の方法。
  4. 前記第1の秘密モジュラスは素数の積であり、
    前記第2の秘密モジュラスは素数の積であり、
    前記素数の各々は、前記公開エクスポーネントと互いに素である請求項3に記載の方法。
  5. 前記第1の秘密モジュラスと前記第2の秘密モジュラスとから複合公開モジュラスを生成するステップをさらに備える請求項3または4に記載の方法。
  6. 前記第1の秘密鍵の前記第1のシェアは、前記第1の秘密エクスポーネントの第1の付加的なシェアを備え、
    前記第1の秘密鍵の前記第2のシェアは、前記第1の秘密エクスポーネントの第2の付加的なシェアを備える請求項3から5のいずれかに記載の方法。
  7. 前記第1の秘密鍵の前記第1のシェアは、前記第1の秘密エクスポーネントの第1の倍増されたシェアを備え、
    前記第1の秘密鍵の前記第2のシェアは、前記第1の秘密エクスポーネントの第2の倍増されたシェアを備える請求項3から5のいずれかに記載の方法。
  8. 前記公開鍵と前記メッセージとを用いて、前記第一者署名の第1部分の起源を証明するステップをさらに備える請求項3から5のいずれかに記載の方法。
  9. メッセージと第一者署名の第1部分とを受信するステップは、前記メッセージと前記第一者署名の前記第1部分とを備える署名リクエストを受信するステップを備え、
    前記第一者署名の第1部分の起源を証明するステップは、以下のチェックするステップ、すなわち、前記署名リクエストが1つ以上の同じ起源からの過去の通信に関する情報をさらに備えることをチェックするステップを備える請求項8に記載の方法。
  10. 前記複合暗号署名を送信するステップをさらに備える請求項1から9のいずれかに記載の方法。
  11. メッセージと第一者署名の第1部分とを受信するステップは、メッセージと第一者署名の第1部分とをクライアント装置から受信するステップを備える請求項1から10のいずれかに記載の方法。
  12. メッセージと第一者署名の第1部分とを受信するステップは、メッセージと第一者署名の第1部分とを安全なチャネルを介して受信するステップを備え
    敵対者は、前記安全なチャネルを介してデータにアクセスできないことを特徴とする請求項1から11のいずれかに記載の方法。
  13. 前記メッセージはハッシュ化されている請求項1から12のいずれかに記載の方法。
  14. 前記メッセージはパディングされている請求項1から13のいずれかに記載の方法。
  15. 複合暗号署名を生成する装置であって、
    少なくとも1つのプロセッサと、少なくとも1つのメモリと、を備え、
    前記少なくとも1つのメモリはコンピュータ実行可能な命令を記憶し、
    前記コンピュータ実行可能な命令は、前記コンピュータ実行可能な命令が前記少なくとも1つのプロセッサにより実行されたとき、請求項1から14のいずれかに記載の方法を前記装置に実行させる装置。
  16. 請求項1から14のいずれかに記載の方法をコンピュータに実行させるためのコンピュータ実行可能な命令を記憶したコンピュータ読み取り可能媒体。
  17. 複合暗号署名を生成する方法であって、
    第1装置において、
    メッセージと第1の秘密鍵の第1のシェアとから第一者署名の第1部分を生成するステップと、
    前記メッセージと前記第一者署名の前記第1部分とを第2装置に送信するステップと、を備え、
    前記第2装置において、
    前記第一者署名の前記第1部分と第1の秘密鍵の第2のシェアとから第一者署名を生成するステップと、
    前記メッセージと第2の秘密鍵とから第二者署名を生成するステップと、
    複合暗号署名を生成するために、前記第一者署名と前記第二者署名とを結合するステップと、を備える方法。
  18. 前記第2装置において、前記複合暗号署名と複合公開鍵とをクライアント装置に送信するステップと、
    前記第1装置において、前記メッセージと前記複合公開鍵とを用いて前記複合暗号署名を証明するステップと、をさらに備える請求項17に記載の方法。
  19. 複合暗号署名を生成するシステムであって、
    第1装置と、第2装置と、を備え、
    前記第1装置と前記第2装置の各々は、プロセッサと、少なくとも1つのメモリと、を備え、
    前記第1装置の少なくとも1つのメモリと、前記第2装置の少なくとも1つのメモリは、それぞれコンピュータ実行可能な命令を記憶し、
    前記コンピュータ実行可能な命令は、前記コンピュータ実行可能な命令が前記第1装置と第2装置のプロセッサにより実行されたとき、請求項17または18に記載の方法を前記第1装置と前記第2装置に実行させるシステム。
JP2019521726A 2016-10-18 2017-10-09 複合デジタル署名 Active JP7091322B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1617620.8 2016-10-18
GBGB1617620.8A GB201617620D0 (en) 2016-10-18 2016-10-18 Composite digital signatures
PCT/IB2017/056222 WO2018073685A1 (en) 2016-10-18 2017-10-09 Composite digital signatures

Publications (2)

Publication Number Publication Date
JP2019537349A JP2019537349A (ja) 2019-12-19
JP7091322B2 true JP7091322B2 (ja) 2022-06-27

Family

ID=57680821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019521726A Active JP7091322B2 (ja) 2016-10-18 2017-10-09 複合デジタル署名

Country Status (6)

Country Link
US (1) US11251970B2 (ja)
EP (1) EP3529948B1 (ja)
JP (1) JP7091322B2 (ja)
EE (1) EE201700036A (ja)
GB (1) GB201617620D0 (ja)
WO (1) WO2018073685A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11444779B2 (en) 2018-08-02 2022-09-13 Paypal, Inc. Techniques for securing application programming interface requests using multi-party digital signatures
US11310039B2 (en) * 2018-11-20 2022-04-19 Board Of Regents, The University Of Texas System Lightweight distributed signature protocol for mobile computing and IoT devices
US11601284B2 (en) * 2019-06-14 2023-03-07 Planetway Corporation Digital signature system based on a cloud of dedicated local devices
CN114124396B (zh) * 2020-09-01 2023-12-01 中国电信股份有限公司 信息传输方法、系统和存储介质
FR3125189B1 (fr) * 2021-07-06 2023-06-23 Idemia France Procédé de génération d'un élément d'une clé cryptographique, procédé de traitement cryptographique, dispositif de traitement cryptographique et programme d'ordinateur associes
CN114679281B (zh) * 2022-03-15 2023-12-01 北京宏思电子技术有限责任公司 一种基于rsa的联合签名生成方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006333520A (ja) 1995-06-05 2006-12-07 Certco Inc マルチステップディジタル署名方法およびそのシステム
JP2010239662A (ja) 1996-10-30 2010-10-21 Fujitsu Ltd ネットワーク環境における取り引き証明装置
US20110264917A1 (en) 2008-10-22 2011-10-27 Paycool International Ltd. Method for two step digital signature
US20120198228A1 (en) 2010-12-20 2012-08-02 Jon Oberheide System and method for digital user authentication

Family Cites Families (168)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US571282A (en) * 1896-11-10 Steam-boiler
GB646921A (en) * 1947-04-24 1950-11-29 Standard Telephones Cables Ltd Metallisation of non-metallic surfaces
US20020013898A1 (en) * 1997-06-04 2002-01-31 Sudia Frank W. Method and apparatus for roaming use of cryptographic values
US5825880A (en) * 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US5838792A (en) * 1994-07-18 1998-11-17 Bell Atlantic Network Services, Inc. Computer system for centralized session key distribution, privacy enhanced messaging and information distribution using a split private key public cryptosystem
US5870723A (en) * 1994-11-28 1999-02-09 Pare, Jr.; David Ferrin Tokenless biometric transaction authorization method and system
US6119096A (en) * 1997-07-31 2000-09-12 Eyeticket Corporation System and method for aircraft passenger check-in and boarding using iris recognition
IL122230A (en) * 1997-11-17 2003-12-10 Milsys Ltd Biometric system and techniques suitable therefor
US6170058B1 (en) * 1997-12-23 2001-01-02 Arcot Systems, Inc. Method and apparatus for cryptographically camouflaged cryptographic key storage, certification and use
US7107246B2 (en) * 1998-04-27 2006-09-12 Esignx Corporation Methods of exchanging secure messages
US6996716B1 (en) * 1999-04-15 2006-02-07 Avaya Technology Corp. Dual-tier security architecture for inter-domain environments
US6694025B1 (en) * 1999-06-02 2004-02-17 Koninklijke Philips Electronics N.V. Method and apparatus for secure distribution of public/private key pairs
US6934858B2 (en) * 1999-12-15 2005-08-23 Authentify, Inc. System and method of using the public switched telephone network in providing authentication or authorization for online transactions
US7340600B1 (en) * 2000-01-14 2008-03-04 Hewlett-Packard Development Company, L.P. Authorization infrastructure based on public key cryptography
KR100407922B1 (ko) * 2000-01-18 2003-12-01 마이크로 인스펙션 주식회사 디지털 휴대폰을 이용한 인터넷에서의 인증방법
JP3864675B2 (ja) * 2000-03-09 2007-01-10 株式会社日立製作所 共通鍵暗号装置
US20030061506A1 (en) * 2001-04-05 2003-03-27 Geoffrey Cooper System and method for security policy
US7096354B2 (en) * 2000-08-04 2006-08-22 First Data Corporation Central key authority database in an ABDS system
US6823359B1 (en) * 2000-11-21 2004-11-23 Pfs Trader Tools, Llc System and method for continually updating dynamic data
US20030115452A1 (en) * 2000-12-19 2003-06-19 Ravi Sandhu One time password entry to access multiple network sites
US7711122B2 (en) * 2001-03-09 2010-05-04 Arcot Systems, Inc. Method and apparatus for cryptographic key storage wherein key servers are authenticated by possession and secure distribution of stored keys
US20020136410A1 (en) * 2001-03-26 2002-09-26 Sun Microsystems, Inc. Method and apparatus for extinguishing ephemeral keys
US6758394B2 (en) * 2001-07-09 2004-07-06 Infonox On The Web Identity verification and enrollment system for self-service devices
US8200980B1 (en) * 2001-09-21 2012-06-12 Open Invention Network, Llc System and method for enrolling in a biometric system
US7093133B2 (en) * 2001-12-20 2006-08-15 Hewlett-Packard Development Company, L.P. Group signature generation system using multiple primes
MXPA04006473A (es) * 2001-12-31 2004-10-04 Citadel Security Software Inc Sistema de resolucion automatizado para vulnerabilidad de computadora.
US7983987B2 (en) * 2002-01-30 2011-07-19 Mastercard International Incorporated System and method for conducting secure payment transaction
US7146009B2 (en) * 2002-02-05 2006-12-05 Surety, Llc Secure electronic messaging system requiring key retrieval for deriving decryption keys
US20040054898A1 (en) * 2002-08-28 2004-03-18 International Business Machines Corporation Authenticating and communicating verifiable authorization between disparate network domains
US7334255B2 (en) * 2002-09-30 2008-02-19 Authenex, Inc. System and method for controlling access to multiple public networks and for controlling access to multiple private networks
US8909926B2 (en) * 2002-10-21 2014-12-09 Rockwell Automation Technologies, Inc. System and methodology providing automation security analysis, validation, and learning in an industrial controller environment
US20060031938A1 (en) * 2002-10-22 2006-02-09 Unho Choi Integrated emergency response system in information infrastructure and operating method therefor
US7827607B2 (en) * 2002-11-27 2010-11-02 Symantec Corporation Enhanced client compliancy using database of security sensor data
ATE444617T1 (de) * 2003-01-07 2009-10-15 Qualcomm Inc System, vorrichtung und verfahren zum auswechseln eines kryptographischen schlüssels
US20040139312A1 (en) * 2003-01-14 2004-07-15 General Instrument Corporation Categorization of host security levels based on functionality implemented inside secure hardware
US7496662B1 (en) * 2003-05-12 2009-02-24 Sourcefire, Inc. Systems and methods for determining characteristics of a network and assessing confidence
US7172115B2 (en) * 2004-04-02 2007-02-06 Riptide Systems, Inc. Biometric identification system
US9076343B2 (en) * 2004-04-06 2015-07-07 International Business Machines Corporation Self-service system for education
WO2005107137A2 (en) * 2004-04-23 2005-11-10 Passmark Security, Inc. Method and apparatus for authenticating users using two or more factors
US7526792B2 (en) * 2004-06-09 2009-04-28 Intel Corporation Integration of policy compliance enforcement and device authentication
US20060059569A1 (en) * 2004-08-27 2006-03-16 Microsoft Corporation Application and device user verification from an operating system-based authentication service
EP1829332A2 (en) * 2004-12-15 2007-09-05 Exostar Corporation Enabling trust in a federated collaboration of networks
US7562382B2 (en) * 2004-12-16 2009-07-14 International Business Machines Corporation Specializing support for a federation relationship
US7599493B2 (en) * 2005-02-14 2009-10-06 Tricipher Inc. Asymmetric key pair having a kiosk mode
US20060182283A1 (en) * 2005-02-14 2006-08-17 Tricipher, Inc. Architecture for asymmetric crypto-key storage
US7386720B2 (en) * 2005-02-14 2008-06-10 Tricipher, Inc. Authentication protocol using a multi-factor asymmetric key pair
US7630493B2 (en) * 2005-01-18 2009-12-08 Tricipher, Inc. Multiple factor private portion of an asymmetric key
US8700729B2 (en) * 2005-01-21 2014-04-15 Robin Dua Method and apparatus for managing credentials through a wireless network
US7463637B2 (en) * 2005-04-14 2008-12-09 Alcatel Lucent Public and private network service management systems and methods
US7562385B2 (en) * 2005-04-20 2009-07-14 Fuji Xerox Co., Ltd. Systems and methods for dynamic authentication using physical keys
US8028329B2 (en) * 2005-06-13 2011-09-27 Iamsecureonline, Inc. Proxy authentication network
US8225392B2 (en) * 2005-07-15 2012-07-17 Microsoft Corporation Immunizing HTML browsers and extensions from known vulnerabilities
US7958362B2 (en) * 2005-10-11 2011-06-07 Chang Gung University User authentication based on asymmetric cryptography utilizing RSA with personalized secret
US8381297B2 (en) * 2005-12-13 2013-02-19 Yoggie Security Systems Ltd. System and method for providing network security to mobile devices
US7716240B2 (en) * 2005-12-29 2010-05-11 Nextlabs, Inc. Techniques and system to deploy policies intelligently
CA2640261A1 (en) * 2006-01-26 2007-08-09 Imprivata, Inc. Systems and methods for multi-factor authentication
US20090271863A1 (en) * 2006-01-30 2009-10-29 Sudhakar Govindavajhala Identifying unauthorized privilege escalations
US8332627B1 (en) * 2006-02-08 2012-12-11 Cisco Technology, Inc. Mutual authentication
US7331518B2 (en) * 2006-04-04 2008-02-19 Factortrust, Inc. Transaction processing systems and methods
US20070250914A1 (en) * 2006-04-19 2007-10-25 Avaya Technology Llc Method and system for resetting secure passwords
US7571471B2 (en) * 2006-05-05 2009-08-04 Tricipher, Inc. Secure login using a multifactor split asymmetric crypto-key with persistent key security
US7793110B2 (en) * 2006-05-24 2010-09-07 Palo Alto Research Center Incorporated Posture-based data protection
JP2008011512A (ja) * 2006-06-01 2008-01-17 Canon Inc データ処理装置、データ記憶装置およびそれらのデータ処理方法
US7592906B1 (en) * 2006-06-05 2009-09-22 Juniper Networks, Inc. Network policy evaluation
US20070284429A1 (en) * 2006-06-13 2007-12-13 Microsoft Corporation Computer component recognition and setup
JP4452702B2 (ja) * 2006-06-21 2010-04-21 株式会社日立国際電気 映像配信システム
US7623877B2 (en) * 2006-07-28 2009-11-24 Research In Motion Limited Limited lifespan for outgoing data at a mobile device
US8689287B2 (en) * 2006-08-17 2014-04-01 Northrop Grumman Systems Corporation Federated credentialing system and method
US7961645B2 (en) * 2006-08-23 2011-06-14 Computer Associates Think, Inc. Method and system for classifying devices in a wireless network
WO2008028291A1 (en) * 2006-09-08 2008-03-13 Certicom Corp. Authenticated radio frequency identification and key distribution system therefor
US8538028B2 (en) * 2006-11-20 2013-09-17 Toposis Corporation System and method for secure electronic communication services
US20080120411A1 (en) * 2006-11-21 2008-05-22 Oliver Eberle Methods and System for Social OnLine Association and Relationship Scoring
US8245281B2 (en) * 2006-12-29 2012-08-14 Aruba Networks, Inc. Method and apparatus for policy-based network access control with arbitrary network access control frameworks
KR20080084480A (ko) * 2007-03-16 2008-09-19 삼성전자주식회사 매개 모듈을 이용한 디바이스간의 상호 인증 방법 및 그시스템
US8533841B2 (en) * 2007-04-02 2013-09-10 Microsoft Corporation Deriving remediations from security compliance rules
GB2449510A (en) * 2007-05-24 2008-11-26 Asim Bucuk A method and system for the creation, management and authentication of links between people, entities, objects and devices
US8233624B2 (en) * 2007-05-25 2012-07-31 Splitstreem Oy Method and apparatus for securing data in a memory device
KR100869246B1 (ko) * 2007-07-10 2008-11-18 한국전자통신연구원 이동통신망에서의 이동단말 디바이스 프로파일 정보 관리 방법
EP2174252A1 (en) * 2007-07-31 2010-04-14 Sony Corporation Automatically protecting computer systems from attacks that exploit security vulnerabilities
US20090055906A1 (en) * 2007-08-20 2009-02-26 Infineon Technologies Ag Method and apparatus for embedded memory security
US8010779B2 (en) * 2007-09-19 2011-08-30 Novell Inc. Techniques for secure network searching
GB2454204A (en) * 2007-10-31 2009-05-06 Nec Corp Core network selecting security algorithms for use between a base station and a user device
JP5564434B2 (ja) * 2008-01-11 2014-07-30 オランジュ 確率的対称暗号化のための方法およびエンティティ
JP5400301B2 (ja) * 2008-01-23 2014-01-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 認証サーバ装置、認証方法、及び認証プログラム
US8499149B2 (en) * 2008-02-20 2013-07-30 Hewlett-Packard Development Company, L.P. Revocation for direct anonymous attestation
US8136148B1 (en) * 2008-04-09 2012-03-13 Bank Of America Corporation Reusable authentication experience tool
US8793757B2 (en) * 2008-05-27 2014-07-29 Open Invention Network, Llc User-directed privacy control in a user-centric identity management system
US7522723B1 (en) * 2008-05-29 2009-04-21 Cheman Shaik Password self encryption method and system and encryption by keys generated from personal secret information
US8418168B2 (en) * 2008-05-29 2013-04-09 Research In Motion Limited Method and system for performing a software upgrade on an electronic device connected to a computer
US8539544B2 (en) * 2008-05-30 2013-09-17 Motorola Mobility Llc Method of optimizing policy conformance check for a device with a large set of posture attribute combinations
US8839387B2 (en) * 2009-01-28 2014-09-16 Headwater Partners I Llc Roaming services network and overlay networks
US8745703B2 (en) * 2008-06-24 2014-06-03 Microsoft Corporation Identifying exploitation of vulnerabilities using error report
US9130757B2 (en) * 2008-08-11 2015-09-08 International Business Machines Corporation Method for authenticated communication in dynamic federated environments
US20100042954A1 (en) * 2008-08-12 2010-02-18 Apple Inc. Motion based input selection
US8522010B2 (en) * 2008-10-20 2013-08-27 Microsoft Corporation Providing remote user authentication
US8612305B2 (en) * 2008-10-31 2013-12-17 Visa International Service Association User enhanced authentication system for online purchases
US8189789B2 (en) * 2008-11-03 2012-05-29 Telcordia Technologies, Inc. Intrusion-tolerant group management for mobile ad-hoc networks
US9443084B2 (en) * 2008-11-03 2016-09-13 Microsoft Technology Licensing, Llc Authentication in a network using client health enforcement framework
US8244643B2 (en) * 2008-11-08 2012-08-14 Fonwallet Transaction Solutions, Inc. System and method for processing financial transaction data using an intermediary service
US8245044B2 (en) * 2008-11-14 2012-08-14 Visa International Service Association Payment transaction processing using out of band authentication
US8151333B2 (en) * 2008-11-24 2012-04-03 Microsoft Corporation Distributed single sign on technologies including privacy protection and proactive updating
HUE037029T2 (hu) * 2008-12-03 2018-08-28 Entersekt International Ltd Biztonságos tranzakció hitelesítése
US20100180001A1 (en) * 2009-01-11 2010-07-15 Dick Clarence Hardt Contextual messaging and notification system
US8161527B2 (en) * 2009-01-23 2012-04-17 Edward Curren Security Enhanced Data Platform
US8335933B2 (en) * 2009-02-13 2012-12-18 Microsoft Corporation Two-party storage of encrypted sensitive information
US8548426B2 (en) * 2009-02-20 2013-10-01 Boku, Inc. Systems and methods to approve electronic payments
US8713329B2 (en) * 2009-02-26 2014-04-29 Red Hat, Inc. Authenticated secret sharing
US8340635B2 (en) * 2009-03-16 2012-12-25 Apple Inc. Capability model for mobile devices
DE102009022233A1 (de) * 2009-05-20 2010-11-25 Feustel, Dietmar Verwendung einer Zeichenkette in Sytemen der Kryptographie, der Statistik, der Simulation, der Randomisierung, von Spielautomaten und dgl.
US8528039B2 (en) * 2009-11-04 2013-09-03 Verizon Patent And Licensing Inc. System for and method of set-top box memory monitoring
US9479509B2 (en) * 2009-11-06 2016-10-25 Red Hat, Inc. Unified system for authentication and authorization
US8397301B2 (en) * 2009-11-18 2013-03-12 Lookout, Inc. System and method for identifying and assessing vulnerabilities on a mobile communication device
US8484708B2 (en) * 2009-12-11 2013-07-09 Canon Kabushiki Kaisha Delegating authentication using a challenge/response protocol
US8458798B2 (en) * 2010-03-19 2013-06-04 Aspect Security Inc. Detection of vulnerabilities in computer systems
US8495720B2 (en) * 2010-05-06 2013-07-23 Verizon Patent And Licensing Inc. Method and system for providing multifactor authentication
US8966587B2 (en) * 2010-06-03 2015-02-24 Qualcomm Incorporated Identity management via cloud
US9258296B2 (en) * 2010-07-29 2016-02-09 Nirmal Juthani System and method for generating a strong multi factor personalized server key from a simple user password
US8737623B2 (en) * 2010-09-13 2014-05-27 Magtek, Inc. Systems and methods for remotely loading encryption keys in a card reader systems
US8719930B2 (en) * 2010-10-12 2014-05-06 Sonus Networks, Inc. Real-time network attack detection and mitigation infrastructure
US8646086B2 (en) * 2010-11-22 2014-02-04 International Business Machines Corporation Image vulnerability repair in a networked computing environment
US8510820B2 (en) * 2010-12-02 2013-08-13 Duo Security, Inc. System and method for embedded authentication
CN102625300B (zh) * 2011-01-28 2015-07-08 华为技术有限公司 密钥生成方法和设备
US9154387B2 (en) * 2011-01-30 2015-10-06 Blue Coat Systems, Inc. System and method for distributed data collection and heuristic refinement in a network intermediary device
US9071611B2 (en) * 2011-02-23 2015-06-30 Cisco Technology, Inc. Integration of network admission control functions in network access devices
US8806609B2 (en) * 2011-03-08 2014-08-12 Cisco Technology, Inc. Security for remote access VPN
US8891772B2 (en) * 2011-06-17 2014-11-18 Microsoft Corporation Cloud key escrow system
US8850516B1 (en) * 2011-06-22 2014-09-30 Emc Corporation Virtual private cloud that provides enterprise grade functionality and compliance
US8732475B2 (en) * 2011-08-17 2014-05-20 Comcast Cable Communication, Llc Authentication and binding of multiple devices
US20130044882A1 (en) * 2011-08-19 2013-02-21 International Business Machines Corporation Enhancing provisioning for keygroups using key management interoperability protocol (KMIP)
US8627438B1 (en) * 2011-09-08 2014-01-07 Amazon Technologies, Inc. Passwordless strong authentication using trusted devices
US8843914B1 (en) * 2011-09-19 2014-09-23 Amazon Technologies, Inc. Distributed update service
US8756651B2 (en) * 2011-09-27 2014-06-17 Amazon Technologies, Inc. Policy compliance-based secure data access
US8763077B2 (en) * 2011-10-07 2014-06-24 Duo Security, Inc. System and method for enforcing a policy for an authenticator device
US8756567B2 (en) * 2011-10-14 2014-06-17 Sap Ag Profile based version comparison
US8601554B2 (en) * 2011-11-09 2013-12-03 Microsoft Corporation Home realm discovery in mixed-mode federated realms
US8595822B2 (en) * 2011-12-29 2013-11-26 Mcafee, Inc. System and method for cloud based scanning for computer vulnerabilities in a network environment
US8984276B2 (en) * 2012-01-10 2015-03-17 Jpmorgan Chase Bank, N.A. System and method for device registration and authentication
US9668137B2 (en) * 2012-03-07 2017-05-30 Rapid7, Inc. Controlling enterprise access by mobile devices
EP2831825A4 (en) * 2012-03-30 2015-12-16 Intel Corp RATING A CUSTOMER'S SECURITY
ES2553713T1 (es) * 2012-04-01 2015-12-11 Authentify, Inc. Autentificación segura en un sistema con múltiples partes
US9223961B1 (en) * 2012-04-04 2015-12-29 Symantec Corporation Systems and methods for performing security analyses of applications configured for cloud-based platforms
US8667288B2 (en) * 2012-05-29 2014-03-04 Robert Bosch Gmbh System and method for message verification in broadcast and multicast networks
US9110754B2 (en) * 2012-05-31 2015-08-18 Microsoft Technology Licensing, Llc Computing device update control
US8949596B2 (en) * 2012-07-10 2015-02-03 Verizon Patent And Licensing Inc. Encryption-based session establishment
US8756698B2 (en) * 2012-08-10 2014-06-17 Nopsec Inc. Method and system for managing computer system vulnerabilities
US9049011B1 (en) * 2012-08-15 2015-06-02 Washington State University Secure key storage and distribution
US20150235215A1 (en) * 2012-08-16 2015-08-20 Tango Mobile, LLC System and Method for Mobile or Web-Based Payment/Credential Process
US8539567B1 (en) * 2012-09-22 2013-09-17 Nest Labs, Inc. Multi-tiered authentication methods for facilitating communications amongst smart home devices and cloud-based servers
US20140156473A1 (en) * 2012-12-05 2014-06-05 Bank Of America Corporation Surcharge compliance registry
US9253185B2 (en) * 2012-12-12 2016-02-02 Nokia Technologies Oy Cloud centric application trust validation
ES2816324T3 (es) * 2012-12-21 2021-04-05 Nagravision Sa Método que usa un único dispositivo de autenticación para autenticar a un usuario a un proveedor de servicios entre una pluralidad de proveedores de servicios y dispositivo para realizar dicho método
US8612470B1 (en) * 2012-12-28 2013-12-17 Dropbox, Inc. Application recommendation using stored files
US9124582B2 (en) * 2013-02-20 2015-09-01 Fmr Llc Mobile security fob
US9338156B2 (en) * 2013-02-22 2016-05-10 Duo Security, Inc. System and method for integrating two-factor authentication in a device
US8893230B2 (en) * 2013-02-22 2014-11-18 Duo Security, Inc. System and method for proxying federated authentication protocols
US9430938B2 (en) * 2013-03-04 2016-08-30 Hello Inc. Monitoring device with selectable wireless communication
US9225840B2 (en) * 2013-06-19 2015-12-29 Twilio, Inc. System and method for providing a communication endpoint information service
CN105340212B (zh) * 2013-06-26 2019-05-28 诺基亚技术有限公司 用于生成在设备至设备通信中的密钥的方法和装置
US9122888B2 (en) * 2013-07-22 2015-09-01 Dell Products, Lp System and method to create resilient site master-key for automated access
US8646060B1 (en) * 2013-07-30 2014-02-04 Mourad Ben Ayed Method for adaptive authentication using a mobile device
EP3028487B9 (en) * 2013-08-01 2021-03-31 Nokia Technologies Oy Methods, apparatuses and computer program products for fast handover
US10624005B2 (en) * 2013-08-08 2020-04-14 Nokia Technologies Oy Method and apparatus for proxy algorithm identity selection
US9391980B1 (en) * 2013-11-11 2016-07-12 Google Inc. Enterprise platform verification
US9135458B1 (en) * 2014-02-23 2015-09-15 Aitheras, LLC. Secure file transfer systems and methods
WO2016105591A1 (en) * 2014-12-22 2016-06-30 University Of South Florida Systems and methods for authentication using multiple devices
US9641341B2 (en) * 2015-03-31 2017-05-02 Duo Security, Inc. Method for distributed trust authentication
US9906505B2 (en) * 2015-05-08 2018-02-27 Nxp B.V. RSA decryption using multiplicative secret sharing
US9800418B2 (en) * 2015-05-26 2017-10-24 Infosec Global Inc. Signature protocol

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006333520A (ja) 1995-06-05 2006-12-07 Certco Inc マルチステップディジタル署名方法およびそのシステム
JP2010239662A (ja) 1996-10-30 2010-10-21 Fujitsu Ltd ネットワーク環境における取り引き証明装置
US20110264917A1 (en) 2008-10-22 2011-10-27 Paycool International Ltd. Method for two step digital signature
US20120198228A1 (en) 2010-12-20 2012-08-02 Jon Oberheide System and method for digital user authentication

Also Published As

Publication number Publication date
JP2019537349A (ja) 2019-12-19
EE201700036A (et) 2018-06-15
EP3529948A1 (en) 2019-08-28
GB201617620D0 (en) 2016-11-30
US11251970B2 (en) 2022-02-15
WO2018073685A1 (en) 2018-04-26
EP3529948B1 (en) 2020-07-22
US20200044861A1 (en) 2020-02-06

Similar Documents

Publication Publication Date Title
US11184157B1 (en) Cryptographic key generation and deployment
JP7091322B2 (ja) 複合デジタル署名
US10277395B2 (en) Cryptographic key-generation with application to data deduplication
EP3091690B1 (en) Rsa decryption using multiplicative secret sharing
US9698985B2 (en) Authentication
US7516321B2 (en) Method, system and device for enabling delegation of authority and access control methods based on delegated authority
US8429408B2 (en) Masking the output of random number generators in key generation protocols
JP2020531893A (ja) 閾値デジタル署名方法及びシステム
US7899184B2 (en) Ends-messaging protocol that recovers and has backward security
US8971540B2 (en) Authentication
US9531540B2 (en) Secure token-based signature schemes using look-up tables
US9106644B2 (en) Authentication
US20140173274A1 (en) Credential validation
JP2021523620A (ja) 秘密を通信する方法及びシステム
WO2019110399A1 (en) Two-party signature device and method
KR100989185B1 (ko) Rsa기반 패스워드 인증을 통한 세션키 분배방법
CN107395627B (zh) 一种基于单向函数的轻量级认证协议
CN110557247A (zh) 基于身份的抗量子计算区块链方法和系统
Pu et al. Post quantum fuzzy stealth signatures and applications
JP4307589B2 (ja) 認証プロトコル
EP3166013B1 (en) Modular exponentiation using randomized addition chains
TWI381696B (zh) 基於利用個人化秘密的rsa非對稱式密碼學之使用者認證
WO2009090519A1 (en) Efficient reconstruction of a public key from an implicit certificate
Duc et al. DiAE: Re-rolling the DiSE
JP5392741B2 (ja) Rsaをベースとしたパスワード認証方式及びその応用

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200817

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220615

R150 Certificate of patent or registration of utility model

Ref document number: 7091322

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150