JP2017517770A - 半決定論的デジタル署名生成 - Google Patents

半決定論的デジタル署名生成 Download PDF

Info

Publication number
JP2017517770A
JP2017517770A JP2016569940A JP2016569940A JP2017517770A JP 2017517770 A JP2017517770 A JP 2017517770A JP 2016569940 A JP2016569940 A JP 2016569940A JP 2016569940 A JP2016569940 A JP 2016569940A JP 2017517770 A JP2017517770 A JP 2017517770A
Authority
JP
Japan
Prior art keywords
nonce
message
deterministic
digital signature
random
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.)
Granted
Application number
JP2016569940A
Other languages
English (en)
Other versions
JP2017517770A5 (ja
JP6276426B2 (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 JP2017517770A publication Critical patent/JP2017517770A/ja
Publication of JP2017517770A5 publication Critical patent/JP2017517770A5/ja
Application granted granted Critical
Publication of JP6276426B2 publication Critical patent/JP6276426B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Telephone Function (AREA)

Abstract

様々な特徴は、メッセージに署名する際に使用するためのデジタル署名に属する。一態様では、デジタル署名は、メッセージごとのソルト値、具体的には、半決定論的ノンス(すなわち、完全に決定論的でも完全にランダムでもないノンス)を提供するように選択されたソルトを使用して導出されたノンスに基づいて生成される。一例では、ノンスは、ソルト値を長期秘密鍵に連結し、次いで、署名されるべきメッセージのハッシュとともに、鍵導出関数に結果を適用することによって生成される。ソルト値は、たとえば、カウンタ、文脈特定メッセージであり得、または、(ノンスからデジタル署名を生成するために使用される特定のデジタル署名生成プロトコルに関連付けられた値の全範囲と比較して)値の制限された範囲内でランダムに生成され得る。

Description

関連出願の相互参照
本出願は、内容全体が参照により本明細書に組み込まれる、2014年6月2日に米国特許商標庁に出願した、米国非仮特許出願第14/294,015号の優先権および利益を主張するものである。
様々な特徴は、デジタル署名生成に関し、具体的には、ノンス(nonce)ベースのデジタル署名生成に関する。
デジタル署名アルゴリズム(DSA:Digital Signature Algorithm)および楕円曲線DSA(ECDSA:Elliptic Curve DSA)などのデジタル署名方式は、ノンス(すなわち、そのような手続きによって使用されるメッセージごとの秘密番号)が異なるメッセージのために再利用される場合、失敗する可能性がある。すなわち、ハッカーまたは悪意のあるエンティティは、デジタル署名で使用される長期秘密鍵を決定する可能性があり、それによって、悪意のあるエンティティが別な方法で有効であるように見える偽の署名を作成することを可能にする。この問題に対処するために、ノンスの決定論的生成が提案されており、この決定論的生成では、ノンスkは、k=HMAC(d,h(m))に従って大まかに生成され、ここで、dは、長期秘密鍵であり、hは、ハッシュ関数であり、mは、署名されるべきメッセージであり、HMACは、ハッシュベースのメッセージ認証コード関数である。各メッセージは、それによって、所与の鍵dのための単一のk値に決定論的につながる。決定論的な方式は、たとえば、T. Porninによる「Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA)」、2013年8月に記載されている。決定論的方式の1つの問題は、攻撃者は、そうでなければ攻撃を妨げることになるノイズを減少させるために測定を繰り返すことができるので、特定のサイドチャネル攻撃、たとえば、電力差分解析(DPA(differential power analysis))に秘密鍵を潜在的にさらすことである。
前述の論文へのリクエストフォーコメンツ(RFC:Request for Comments)(すなわち、RFC 6979、ISSN:2070-1721)によれば、攻撃者が、署名動作を実行するのにかかる時間の長さ、または署名動作の各点において消費される電力などの、実施態様の態様を正確に測定することができるときはいつも、サイドチャネル攻撃は、考慮事項である。したがって、そのようなアルゴリズムの決定論がサイドチャネル攻撃のいくつかの形態における攻撃者に有用である可能性があるので、実施態様は、サイドチャネルを介する秘密鍵の漏洩を避けるために、防御策を使用すべきである。ノンスは、署名オラクルへの呼び出しごとに異なるので、署名を生成するために使用される署名生成演算のべき乗または小数点乗算部分において、DSA(または同様の技術)は、電力、電磁放射、またはタイミングなどのサイドチャネルを利用するDPA型のサイドチャネル解析攻撃の標的にはめったにならないことに留意されたい。その代わり、攻撃者は、攻撃者の能力に関してはるかに制限された、たとえば、サイドチャネルにおけるノイズを減少させるために測定を繰り返すことができない、単純電力解析(SPA:simple power analysis)技法を用いる、ノンスの決定論的生成は、この自然なサイドチャネル耐性を排除または妨げるのを助ける可能性がある。言い換えれば、ノンスの決定論的生成は、デジタル署名技法にける特定の脆弱性を減少させることできるが、他の脆弱性が生じる可能性がある。
T. Porninによる「Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA)」、2013年8月
したがって、たとえば、デジタル署名を生成する際に使用するための改善されたノンスベースの手続きを提供することが有用であろう。
デジタル署名を得るためのデジタル署名生成デバイスにおいて動作する方法は、デジタル署名生成デバイスを使用して非ランダムかつ非決定論的ノンスを得るステップと、非ランダムかつ非決定論的ノンスに部分的に基づいて、デジタル署名生成デバイスを使用してデジタル署名を得るステップとを含む。
別の態様では、デバイスは、非ランダムかつ非決定論的ノンスを得、非ランダムかつ非決定論的ノンスに部分的に基づいてデジタル署名を得るように構成された処理回路を含む。
さらに別の態様では、デバイスは、非ランダムかつ非決定論的ノンスを得るための手段と、非ランダムかつ非決定論的ノンスに部分的に基づいてデジタル署名を得るための手段とを含む。
依然としてさらに別の態様では、デジタル署名を得るための機械可読記憶媒体が提供され、機械可読記憶媒体は、1つまたは複数の命令を含み、1つまたは複数の命令は、少なくとも1つの処理回路によって実行されたとき、少なくとも1つの処理回路に、非ランダムかつ非決定論的ノンスを得させ、非ランダムかつ非決定論的ノンスに部分的に基づいてデジタル署名を得させる。
サイドチャネル攻撃の対象となるDSA/ECDSAシステムを示す図である。 サイドチャネル攻撃の対象となる別の例示的なDSA/ECDSAシステムを示す図であり、システムは、スマートカードリーダを含む。 例示的な暗号署名デバイスと、署名検証デバイスと、それらの間で交換される情報とを示す図である。 モバイルデバイスの例示的なシステムオンチップ(SoC)を示す図であり、SoCは、暗号署名デバイスと署名検証デバイスとを有するデジタル署名プロセッサを含む。 メッセージごとの値(すなわちソルト(salt))を使用して導出されたノンスに基づくデジタル署名生成のための例示的な手続きの概要を提供する図である。 メッセージごとの値(すなわちソルト)を使用して導出されたノンスに基づいてデジタル署名を生成するための例示的な手続きを示す図である。 図1〜図6のシステム、方法、および装置を利用し得る処理システムを用いる装置のためのハードウェア実施態様の一例を示すブロック図である。 図7の処理回路の例示的なコンポーネントを示すブロック図である。 図7の機械可読媒体の例示的な命令コンポーネントを示すブロック図である。 ノンスがメッセージごとの値(すなわちソルト)から導出されるデジタル署名生成で使用するための例示的な手続きの別の概要を提供する図である。 ノンスが半決定論的に生成されるデジタル署名生成で使用するための例示的な手続きの概要を提供する図である。 デジタル署名生成で使用するためのさらなる例示的な手続きを提供する図である。
以下の説明では、本開示の様々な態様の完全な理解を提供するために、具体的な詳細が与えられる。しかしながら、これらの態様が、これらの具体的な詳細なしに実施されてもよいことが、当業者には理解されよう。たとえば、回路は、不必要な詳細で態様を不明瞭にすることを避けるために、ブロック図で示される場合がある。他の事例では、よく知られている回路、構造、および技法は、本開示の態様を不明瞭にしないために、詳細には示されない場合がある。
「例示的」という語は、本明細書では、「例、事例、または例示として役に立つ」ことを意味するために使用される。本明細書に「例示的」として記載された任意の実施態様または態様は、必ずしも本開示の他の態様よりも好ましいまたは有利であると解釈されるべきではない。同様に、「態様」という用語は、本開示のすべての態様が、開示された特徴、利点、または動作モードを含むことを必要としない。
概要
いくつかの新規な特徴は、ノンスベースのデジタル署名生成で使用するためのデバイスおよび方法に関係する。ノンスベースの署名方式の一例は、1991年8月にNational Institute of Standards and Technology(NIST)によって最初に提案された、デジタル署名のための米連符情報処理規格である、上述のDSAである。従来のDSAは、以下のように説明され得る。素数pおよびqを取り、ここで、
Figure 2017517770
は、次数qのものである。dを、ランダムに選ばれ、1≦d<qを満たす長期秘密鍵とする。y=gd mod pを公開鍵とする。hは、暗号ハッシュ関数を表す。メッセージmに署名するために、システムは、範囲1≦k≦qの範囲内でランダムに一様にノンスk(すなわち、メッセージごとの秘密番号)を、
r=gk mod p mod q (1)
s=k-1(h(m)+rd)mod q (2)
を使用して選択し署名(r,s)を計算し、ここで、h(m)は、(少なくともDSPの例では)セキュアハッシュアルゴリズム(SHA(Secure Hash Algorithm))-1またはSHA-2を使用することなどによるmのハッシュである。
ECDSAは、同様であるが、
Figure 2017517770
の楕円曲線上で動作する。ノンスを用いる他のそのような署名方式は、エルガマル(ElGamal)、シュノール(Schnorr)、ナイバーグ-リュッペル(Nyberg-Rueppel)、ロシア規格GOST R34.10-2001デジタル署名アルゴリズム(ここでGOSTは、実質的に「国の規格」を意味するロシアの頭文字である)、および韓国証明書ベースDSA(KCDSA(Korean Certificate-based DSA))を含む。これらの技法では、kが2つの異なるメッセージのために再利用される場合、方式は、すぐに破壊される。すなわち、ノンスkおよび秘密鍵dを決定するためにガウス消去法を用いて解かれ得る2つの未知数を有する2つの式、
s1=k-1(h(m1)+rd)mod q (3)
s2=k-1(h(m2)+rd)mod q (4)
を得る。
そのようなことは、たとえば、署名するとき、貧弱な暗号技術、またはエントロピーの不足によって実際に起こる可能性がある。この点について、DSAおよびECDSA(および他の同様のノンスベースの署名方式)は、ノンスの高品質なメッセージごとのランダム性の要件のため、実際に壊れる可能性がある。上述したように、解決策が提案されており、その解決策では、kは、以下のようにkを決定論的に本質的に計算して生成される。
k=HMAC(d,h(m)) (5)
すなわち、各メッセージは、秘密鍵dのための特定の値を仮定すれば、単一のk値につながる。ここで、HMACは、長期秘密鍵dに適用され、メッセージmのネスト化ハッシュ関数hでkを生じる。したがって、メッセージごとのランダム性は、必要とされない。しかしながら、上記で説明したように、サイドチャネルの脆弱性は、決定論的ノンスで発生する可能性がある。
用語に関する注記:値k(「メッセージごとの秘密番号」または「セッション署名鍵」である)は、本明細書では、利便性および簡潔さのため「ノンス」と呼ばれる。しかしながら、値kの特徴は、機密、一意性、および予測不可能性(すなわちエントロピー)を提供するが、より伝統的なノンスは、これらの属性の各々を提供しない、または必要としないので、値kは、より伝統的なノンスとは異なる。したがって、用語が本明細書で使用される場合、「ノンス」は、少なくとも若干のセキュリティ、一意性、および予測不可能性を提供するデジタル署名生成で使用するためのメッセージごとの秘密番号である。
図1は、サイドチャネル攻撃の対象となる例示的なデジタル署名システム100を示す。簡単に言うと、メッセージ102は、暗号署名デバイス106によって処理され、暗号署名デバイス106は、メッセージに署名するために秘密鍵104を使用してデジタル署名を生成するためにDSAまたはECDSA手続きを用い得る。署名されたメッセージ108は、次いで、一般にセキュリティ保護されていないチャネル109を介して転送され、イエス/ノー検証114をもたらすために公開鍵110を使用してDSAまたはECDSA署名検証デバイス112によって処理される。署名デバイス106によって使用されるノンスが決定論的である場合、デジタル署名手続きは、電力シグネチャおよびタイミング情報を得るために、電源122によって提供される電力信号120を監視することなどによって、署名デバイス106に関連付けられた電力およびタイミング情報118を監視するサイドチャネル攻撃デバイスまたはシステム116に対して脆弱である可能性があり、秘密鍵を攻撃者または他の悪意のあるエンティティ(たとえば、ハッカー)に潜在的にさらす。逆に、署名デバイス106によって使用されるノンスがランダムに割り当てられる(すなわち、ノンスが完全に非決定論的である)場合、デジタル署名手続きは、ノンスが繰り返されるならば、前述のガウス消去法手続きに対して脆弱である。述べたように、同じノンスが異なるメッセージのために再利用される場合、手続きのセキュリティは、すぐに失敗し、ハッカーが秘密鍵を得ることを可能にする。
図2は、サイドチャネル攻撃の対象となる別の例示的なデジタル署名システム200を示し、攻撃対象のシステムは、1つまたは複数のスマートカード204を受け入れるスマートカードリーダ206である。再び、スマートカードによって用いられるデジタル署名を生成するために使用されるノンスが決定論的である場合、秘密鍵は、潜在的には、電源222によって提供される電力信号220から得られる電力およびタイミング情報218に基づいて(この例では、電力測定オシロスコープ216とサイドチャネルコンピュータ/アナライザ217とを含む)サイドチャネル攻撃システムによって導出される可能性がある。またさらに、この例では、電磁誘導(EMI)信号、音響信号など219が、コンピュータ/アナライザ217による分析のために、適切なセンサーまたは検出器221によって取得され得る。同様の攻撃は、決定論的ノンスが使用される場合、秘密鍵を導出するために、ユニバーサルシリアルバス(USB)デバイス、スマートフォンなどに対して開始され得る。
したがって、一態様では、メッセージごとの値(すなわち、ソルト)v、具体的には、半決定論的ノンス(すなわち、完全に決定論的でも完全にランダムでもないノンス)をもたらすために選択されたソルトに基づいてノンスkを生成するための技法が、本明細書で説明される。従来、「ソルト」は、典型的には、パスワードまたはパスフレーズをハッシュする一方向関数への追加の入力として使用されるランダムデータ値であると考えられることに留意されたい。本明細書では、しかしながら、ソルトという用語は、完全にランダムであるか、完全に決定論的であるか、または、完全にランダムでも完全に決定論的でもない値に設定され得るメッセージごとの値を指す。本明細書に記載の様々な例では、ソルト値(salt value)は、半決定論的ノンス(semi-deterministic nonce)を生成するように設定され、ここで、「半決定論的(semi-deterministic)」は、本明細書では、完全にランダム(fully random)と完全に決定論的(fully deterministic)との間の決定論の部分的な程度を有することによって特徴付けられるものとして定義される。他の例では、しかしながら、ソルトは、完全にランダムなノンスをもたらすように完全にランダムな値に設定され得る。ソルトはまた、完全に決定論的なノンスをもたらすように空の文字列に設定され得る。半決定論的は、半ランダムとも呼ばれ得る。
さらに、ソルトvは、制限されたまたは制約された値の範囲内でランダムに得られ得る。そのようなソルトは、完全にランダムではない。したがって、(ノンスからデジタル署名を生成するために使用されるデジタル署名生成プロトコルに関連付けられた値の完全な範囲と比較すると)値の制限された範囲内でランダムに得られたソルト値を使用して得られたノンスは、完全に決定論的でも完全にランダムでもなくなるので、本明細書では、半決定論的ノンスであると考えられる。本明細書に記載の例は、ソルトから導出されるノンスを含み、ソルトは、はるかにより大きい数の許容値からではなく、32ビットの値のみの中から「ランダムに」選択される。依然としてさらに、本明細書では、非ランダムノンスの「非ランダム性」は、少なくとも部分的に決定論的であり、完全にランダムではないことによって特徴付けられる。非決定論的ノンスの「非決定論性」は、少なくとも部分的にランダムであり、完全に決定論的ではないことによって特徴付けられる。
1つの特定の例では、ノンスkは、以下のように生成され(ここで、||は、連結を示す)、
k=HMAC(d||v,h(m)) (6)
ここでh(m)は、メッセージmのハッシュであり、dは、長期鍵であり、vは、ソルトである。ソルトは、たとえば、秘密ノンス、公開ノンス、カウンタ、文脈特定メッセージ、または空の文字列のうちの1つまたは複数であり得る(ここで、秘密ノンスおよび公開ノンスは、必ずしも前述のkについての考慮事項の対象ではない従来のノンスであり得る)。メッセージごとのソルト値vが空の文字列である場合、式は、式5の決定論的手法に戻ることに留意されたい。そのように、署名方式は、ノンスの再利用に対する機密を維持するが、サイドチャネルセキュリティを潜在的に失うことになる。vが許容値の全範囲からランダムかつ一様に選ばれる場合、方式は、完全に非決定論的であり、したがって、その他の点で(ノンスの再利用に対して脆弱な)DSAなどの従来の非決定論的デジタル署名技法の特性を維持する。ソルトがカウンタまたは文脈特定メッセージである場合などの、メッセージごとのソルト値vが非ランダムかつ非決定論的である場合には、式6は、半決定論的ノンスkを提供し、半決定論的ノンスkは、一般的に、導入された非決定論性により、(ノンスの再利用も回避しながら)サイドチャネル攻撃を非常に困難にする。この点について、(a)カウンタが用いられるとき、署名されるべき所与のメッセージmは、同じノンスkに決定論的につながらず、依然として(b)カウンタは、ランダムではなく、したがって完全には非決定論的ではないので、カウンタは、半決定論的である。同様に、(a)文脈特定メッセージは、文脈に基づいて変化するので、所与のメッセージmは、同じノンスkに決定論的につながらず、依然として(b)文脈特定メッセージは、ランダム値ではなく、したがって完全には非決定論的ではないので、文脈特定メッセージは、半決定論的である。(メッセージごとのソルト値vとして使用される)秘密ノンスまたは公開ノンスは、同様に、そのような値が完全にランダムでも完全に決定論的でもない限り、半決定論的である。公開ノンスは、プロトコルメッセージにおいて、たとえば、「client hello」トランスポート層セキュリティ(TLS(Transport Layer Security))メッセージにおいてすでに提供され得る。
また、(ノンスがランダムに得られる値の範囲が、ノンスの再利用が実際上の問題にならないほど大きい場合など)デジタル署名生成システムが、ノンスの再利用が問題にならない状況では、メッセージごとのソルト値vに基づいてノンスkを生成することは、デジタル署名生成システムがランダムなノンスを便利に用いることを可能にする。同様に、サイドチャネル攻撃が問題にならない状況では、メッセージごとのソルト値vに基づいてノンスkを生成することは、デジタル署名生成システムが完全に決定論的なノンスを便利に用いることを可能にする。すなわち、メッセージごとのソルト値vの使用は、単一のデジタル署名生成システムが、全体のセキュリティニーズに応じたvの選択に基づいて、決定論的、半決定論的、または完全に非決定論的な属性を便利に利用することを可能にする。本明細書では一般的に、関数v=s(x)は、半決定論的ノンスkを生成する際に使用するための半決定論的なメッセージごとのソルト値vを(いくらかの入力文字列、値、または他の関数xから)生成するか、または他の方法で得るための任意の関数、手続き、またはアルゴリズムを表すために使用され得る。当業者が理解できるように、多種多様な半決定論的関数s(x)が、本明細書における一般的な技法に従って提供され得る。また、「得る」という用語は、たとえば、計算する、演算する、生成する、取得する、受信する、回収する、入力する、または他の適切な対応するアクションを実行することを広くカバーする。
図3は、暗号署名デバイス302および署名検証デバイス304の例示的な動作を示すタイミング図300を提供する。処理は、305において、暗号署名デバイス302が(すでに確立されている公開/秘密鍵対y、dの)秘密鍵dを入力し、たとえば、秘密ノンス、公開ノンス、カウンタ、文脈特定メッセージ、またはからの文字列、すなわち、非ランダムかつ非決定論的なソルトとして、メッセージごとのソルト値vを得ることで開始する。秘密鍵dは、たとえば、暗号署名デバイス302の記憶デバイスから入力され得、記憶デバイスでは、秘密鍵dは、署名検証デバイス304による(併せて、いくつかの例では、図示しない信頼機関デバイスまたは認証機関デバイスによる)初期公開鍵/秘密鍵生成および交換手続き(図示せず)の後、保存されている。DSAベースの例では、p、q、およびgを含む特定のグローバルパラメータが用いられ、ここで、pは、素数であり、gは、群生成器(group generator)であり、qは、群位数(および、gの乗法的位数(multiplicative order))である。例示的なDSAの例では、pは、素数であり、ここで、512≦L≦1024について2L1<p<2Lであり、Lは、64の倍数である(すなわち、512ビットと1024ビットとの間のビット長が、64ビット単位Nで使用される)。しかしながら、Lは、たとえば、256の単位(N)で3072以上までのように、より長くてもよい。Lが512≦L≦1024の範囲内である例示的なDSAの例では、qは、q-1の素因数であり、ここで、2159<q<2160である(すなわち、160ビットのビット長が使用される)。その例示的な例では、g=h(p-1)/q mod pであり、ここで、hは、h(p-1)/q mod p>1であるように1<h<(p-1)である任意の整数である。秘密鍵dは、0<d<qであるランダムまたは擬似ランダムな整数である。公開鍵yは、gd mod pである。これは、いくらかの背景情報を提供するDSPパラメータの1つの例示的な例である。実際には、様々な値は、異なって選ばれ得る。当業者は、特定の用途のためのp、qのビット長およびハッシュ関数を選択することに精通している。依然としてさらに、ECDSAのためのパラメータの選択は、まったく異なることに留意されたい。
306では、暗号署名デバイス302は、メッセージごとのソルト値v、秘密鍵d、およびメッセージmから、たとえば、
k=HMAC(d||v,h(m)) (7)
または
k=HMAC(v||d,h(m)) (8)
を使用してノンスkを生成する。
HMAC以外の鍵導出関数が用いられ得るが、HMACが便利であることに留意されたい。ソルトvを秘密鍵と連結することは、HMAC関数が変更される必要がないように、連結結果が(メッセージmのハッシュとともに)HMACの2つの入力パラメータのうちの1つとして適用されることを可能にする。さらに、HMACは、任意の長さのパラメータを受け入れることができ、したがって、HMACは、それによって長さに関係なく結果を受け入れることができるので、連結は、ソルトと秘密鍵とをコーミングするために特に便利である。さらに、連結されたソルト/秘密鍵でのHMACの使用は、一般的に相互使用可能な方式を提供し、それによって、デジタル信号生成、署名、およびその後の検証の全体的な数学は、一般的に、そうではない従来のノンスベースの技法と同じである。選ばれた関数が、悪意のあるエンティティが利用し得る情報の漏洩をもたらさない限り、連結以外の関数がソルトおよび秘密鍵を結合するために代わりに使用され得ることにも留意されたい。例として、ソルトおよび秘密鍵の排他的論理和をとることは、サイドチャネル情報を漏洩する可能性があり、したがって、推奨されない。
308では、暗号署名デバイス302は、たとえば、
r=gkmod p mod q (9)
および
s=k-1(h(m)+rd)mod q (10)
を使用して、ノンスkに部分的に基づいてデジタル署名(r,s)を生成し、メッセージmに署名し、ここで、上記で論じたように、pは、素数であり、qは、群位数であり、gは、群生成器である。
310では、暗号署名デバイス302は、デジタル署名(r,s)で署名されたメッセージmを、署名検証デバイス304を有する遠隔または外部システムに送信する。多くの場合、メッセージmはまた、暗号化されることになるが、そのような暗号化は、本明細書で論じるデジタル署名生成手続きとは別であり、異なり得ることに留意されたい。312では、署名検証デバイス304は、公開鍵yを得、314では、公開鍵yを使用してメッセージmの署名(r,s)を検証する。公開鍵は、たとえば、暗号署名デバイス302による初期鍵交換手続き後にそこに記憶されている場合、署名検証デバイス304の記憶デバイスから得られ得る(または、たとえば、認証機関のサーバから得られ得る)。316では、署名検証デバイス304は、次いで、署名(r,s)が検証された場合、メッセージmを出力するか、または他の方法で処理する。DSAベースの例では、検証は、w=(s')-1modq、u1=[h(m')w]mod q、u2=(r')w mod q、およびv=[(gu1yu2)mod p]mod qのように値w、u1、u2、およびvを計算することによって実行され得、ここで、s'、r'、およびm'は、r、s、およびmの受信されたバージョンを表す。署名検証デバイスは、次いで、v=r'を検証する。
例示的なシステムオンチップハードウェア環境
本明細書に記載のデジタル署名の署名および検証システムおよび手続きは、広範囲のデバイス内で、および広範囲の用途のために利用され得る。具体的な例を提供するために、署名コンポーネントと検証コンポーネントの両方を有するデジタル署名プロセッサがモバイル通信デバイスまたは他のアクセス端末内で使用するためのSoC処理回路上に設けられた例示的なハードウェア環境をここで説明する。この点について、モバイルデバイスは、非対称鍵暗号化(すなわち、公開鍵暗号化)のための十分な計算リソースを欠いているように従来見られているが、モバイルデバイスは、ますますより強力なプロセッサとより大量のメモリとを提供されている。十分なリソースにより、非対称鍵生成、署名、および検証は、そのようなデバイス内で提供され得る。デジタル署名の署名および検証システムおよび手続きが実装され得る他の例示的なハードウェア環境は、他の通信デバイスおよびコンポーネント、および、それらで使用するための周辺デバイスなど、ならびに、インターネットに接続された従来のデスクトップコンピュータおよび(商品またはサービスのオンライン購入を容易にするために、インターネットベースの商業ベンダーによって用いられ得るような)取引サーバを含む。全体的な手続きの態様はまた、たとえば、鍵交換を容易にするために、信頼機関サーバを利用し得る。
図4に、様々な新規の特徴を活用できる一例による、モバイル通信デバイスのSoC処理回路400を示す。このSoC処理回路は、Qualcomm Incorporated社のSnapdragon(商標)処理回路とすることができる。SoC処理回路400は、アプリケーション処理回路410を含み、アプリケーション処理回路410は、デジタル署名署名デバイス415とデジタル署名検証デバイス417とを有するデジタル署名プロセッサ413と協働して動作するように装備されたマルチコアCPU412を含む。デジタル署名署名デバイス415は、オンライン商取引サーバ(図示せず)などの遠隔システムに送られるべきデジタル署名メッセージのために使用され得る。署名検証デバイス417は、(モバイル通信デバイスが、受信したメッセージの署名を検証することを必要とするアプリケーション、すなわち、「アプリ」を実行する場合に必要とされ得るように)遠隔デバイスから受信したデジタル署名を検証するために使用され得る。他の例では、デジタル署名プロセッサ413は、デジタル署名署名デバイス415のみ、または、いくつかの場合には、デジタル署名検証デバイス417のみを含み得る。すなわち、両方のコンポーネントは、必要ではない。
アプリケーション処理回路410は、通常、モバイル通信デバイスのすべてのコンポーネントの動作を制御する。一態様では、アプリケーション処理回路410は、内部共有ハードウェア(HW)リソース430の一部を形成する内部共有記憶デバイス432の鍵記憶要素433における公開鍵および秘密鍵の記憶を含むデータの記憶を制御するためのホスト記憶コントローラ450に結合される。アプリケーション処理回路410は、SoC処理回路400の様々なコンポーネントのためのブートシーケンス命令を記憶するブートROM418をも含むことができる。SoC処理回路400は、アプリケーション処理回路410によって制御される1つまたは複数の周辺サブシステム420をさらに含む。周辺サブシステム420は、ストレージサブシステム(たとえば、読取専用メモリ(ROM)、ランダムアクセスメモリ(RAM))、ビデオ/グラフィックスサブシステム(たとえば、デジタル信号処理回路(DSP)、グラフィックス処理回路ユニット(GPU))、オーディオサブシステム(たとえば、DSP、アナログ-デジタル変換器(ADC)、デジタル-アナログ変換器(DAC))、電力管理サブシステム、セキュリティサブシステム(たとえば、他の暗号化コンポーネントおよびデジタル著作権管理(DRM)コンポーネント)、入出力(I/O)サブシステム(たとえば、キーボード、タッチスクリーン)、ならびに有線およびワイヤレスの接続性サブシステム(たとえば、universal serial bus(USB)、全地球測位システム(GPS)、Wi-Fi、Global System Mobile(GSM(登録商標))、符号分割多元接続(CDMA)、4G Long Term Evolution(LTE)モデム)を含むことができるが、これに限定されない。モデムサブシステムである例示的な周辺サブシステム420は、DSP422、様々な他のハードウェア(HW)およびソフトウェア(SW)コンポーネント424、ならびに様々なラジオ周波数(RF)コンポーネント426を含む。一態様では、各周辺サブシステム420は、関連する周辺サブシステム420のプライマリブートイメージ(図示せず)を記憶するブートROM428をも含む。
前述のように、SoC処理回路400は、さらに、内部共有ストレージ432(たとえば、スタティックRAM(SRAM)、フラッシュメモリなど)などの様々な内部共有HWリソース430を含み、内部共有ストレージ432は、様々なランタイムデータまたは他のパラメータを記憶するため、およびホストメモリを提供するために、アプリケーション処理回路410および様々な周辺サブシステム420によって共有される。図4の例では、内部共有ストレージ432は、公開鍵と秘密鍵とを記憶するために使用され得る、前述の鍵記憶要素、部分、またはコンポーネント433を含む。他の例では、鍵は、モバイルデバイスの他の場所に記憶される。
一態様では、SoC400のコンポーネント410、418、420、428、および430は、シングルチップ基板上に集積される。SoC処理回路400は、異なるチップ基板上に配置され得、1つまたは複数のバスを介してSoC処理回路400と通信することができる、様々な外部共有HWリソース440をさらに含む。外部共有HWリソース440は、たとえば、外部共有ストレージ442(たとえば、ダブルデータレート(DDR)ダイナミックRAM)および/または永久的もしくは半永久的データストレージ444(たとえば、セキュアデジタル(SD)カード、ハードディスク(HDD)、埋込み型マルチメディアカード、ユニバーサルフラッシュデバイス(UFS:universal flash device)、など)を含み得、それらは、オペレーティングシステム(OS)情報、システムファイル、プログラム、アプリケーション、ユーザデータ、オーディオ/ビデオファイル、などの様々なタイプのデータを記憶するために、アプリケーション処理回路410および様々な周辺サブシステム420によって共有され得る。SoC処理回路400を組み込んだモバイル通信デバイスが活性化されると、SoC処理回路は、システムブートアッププロセスを開始し、システムブートアッププロセスでは、アプリケーション処理回路410は、様々な周辺サブシステム420のためのブートシーケンス命令を含むSoC処理回路400のためのブート命令を取得するために、ブートROM418にアクセスし得る。周辺サブシステム420は、追加の周辺ブートRAM428を有することもできる。
例示的なデジタル署名の署名および検証手続き
図5は、図4のアプリケーション処理回路のデジタル署名プロセッサ、または、他の適切な装備されたコンポーネント、デバイス、システム、もしくは処理回路によって用いられ得るデジタル署名の署名および検証動作500の概要を提供する。502では、デジタル署名プロセッサは、メッセージごとのソルト値vを得、ここで、vは、半決定論的ノンスをもたらすように選択または制約される。504では、デジタル署名プロセッサは、メッセージごとのソルト値vと、鍵導出関数Fと、秘密鍵dと、署名されるべきメッセージmとに基づいて、半決定論的ノンスkを生成する。506では、デジタル署名プロセッサは、半決定論的ノンスkと、署名されるべきメッセージmとに基づいて、デジタル署名(r,s)を生成する。508では、デジタル署名プロセッサは、デジタル署名(r,s)を付加することによって、メッセージmに署名する。510では、デジタル署名プロセッサは、オンライン商取引サーバなどの遠隔デバイスに、署名されたメッセージmを送信し、遠隔デバイスは、次いで、秘密鍵dに関連付けられた公開鍵yに基づいて、署名されたメッセージの署名を検証することを試みる(ここで、公開鍵は、リモートデバイスと以前に交換されている)。すでに述べたように、多くの場合、メッセージmはまた、暗号化されることになり、そのような暗号化は、本明細書で論じるデジタル署名生成手続きとは別であり、異なり得る。512では、デジタル署名プロセッサは、遠隔デバイスが署名されたメッセージmを公開鍵yに基づいて検証しことの確認を受信し、または、署名が検証されなかった場合にエラーメッセージを受信する。図5の手続きは、一般的には、ソルトを使用して導出されたノンスを利用するように変更された、DSA/ECDSAまたは他のノンスベースのデジタル署名規格およびプロトコルに従って実行され得る。
図6は、さらなる例示的な詳細が提供されるソルトから導出されたノンスに基づいてデジタル署名を生成するための例示的な手続き600を示す。602では、デジタル署名プロセッサは、非ランダムかつ非決定論的なノンス(すなわち、半決定論的ノンス)をもたらすのに十分なメッセージごとのソルト値vを得、ここで、たとえば、ソルトvは、秘密ノンス、公開ノンス、カウンタ、文脈特定メッセージ、空のストリング、もしくは、任意の適切な半決定論的関数s(x)の結果であり、または、ソルトは、結果として生じるノンスが完全にランダムではないように、(ノンスからデジタル署名を生成するために使用されるデジタル署名生成プロトコルに関連付けられた値の全範囲と比較して)値の制限された範囲内でランダムに得られる。この点について、デジタル署名プロセッサは、たとえば、結果として生じるノンスkにより大量の非決定論性を与えるために、単なるカウンタよりも文脈特定メッセージを用い得る。さらにより大量の非決定論性を得るために、デジタル署名プロセッサは、たとえば、文脈特定メッセージよりも秘密ノンスを用い得、ここで、秘密ノンスは、文脈特定メッセージと比較してより大きい程度の非決定論性を提供する。前述のように、デジタル署名プロセッサは、値の制限された範囲内からランダムにソルトを得得る。この点について、DSAは、従来は、1からq-1までからkを均一かつランダムに取るように動作し、ここで、qは、(256ビット程度の)生成器からの乗法的位数である。したがって、602では、メッセージごとのソルト値vは、値のはるかにより小さいセット内からランダムに選択され得る(たとえば、32ビット値のみの中から均一かつランダムに選択され得る)。一般的に、半決定論的関数s(x)は、それによって結果として生じるノンスkの非決定論性の程度を設定、調整、または制御するために、結果として生じるメッセージごとのソルト値vの非決定論性の程度を設定、調整、または制御するように選ばれ、もしくは選択され得る。
604では、デジタル署名プロセッサは、メッセージごとのソルト値vと、HMAC鍵導出関数と、秘密鍵dと、署名されるべきメッセージmとに基づいて、たとえば、連結値をもたらすために秘密鍵dをメッセージごとのソルト値vに連結し、ハッシュ化メッセージh(m)をもたらすためにメッセージmにハッシュ関数hを適用し、ノンスkをもたらすために連結値およびハッシュ化メッセージにHMAC関数を適用することによって、ノンスkを生成し
k=HMAC(d||v,h(m)) (11)
または
k=HMAC(v||d,h(m)) (12)
となる。
606では、デジタル署名プロセッサは、ノンスkに部分的に基づいてデジタル署名(r,s)を生成し、たとえば、DSA手続きを使用してメッセージmに署名し、
r=gkmod p mod q (13)
および
s=k-1(h(m)+rd)mod q (14)
となり、ここで、(上記で論じたように)pは、素数であり、qは、群位数であり、gは、群生成器であり、または、ECDSA、エルガマル、シュノール、ナイバーグ-リュッペル、ロシア規格GOST R34.10-2001デジタル署名アルゴリズム、および韓国証明書ベースDSA(KCDSA)などの他のノンスベースの手続きを使用してメッセージmに署名する。
例示的なシステムおよび方法
図7に、図1〜図6のシステム、方法、および装置を実施することができる全体的なシステムまたは装置700を示す。本開示の様々な態様によれば、要素、要素の何らかの部分、または要素の何らかの組合せを、図4のSoC処理回路などの1つまたは複数の処理回路704を含む処理システム714を用いて実施することができる。たとえば、装置700を、モバイル通信システムのユーザ機器(UE)とすることができる。装置700を、無線ネットワークコントローラ(RNC)とともに使用することができる。SoCに加えて、処理回路704の例は、マイクロプロセッシング回路、マイクロコントローラ、デジタル信号処理回路(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、状態機械、ゲートロジック(gated logic)、個別のハードウェア回路、および本開示全体にわたって記述される様々な機能性を実行するように構成された他の適切なハードウェアを含む。すなわち、処理回路704は、装置700内で利用されるように、デジタル署名の生成、署名、および検証を実行するプロセスなどの、上記で説明し、図3、図5、および図6に示すプロセス(および、図10〜図12に示すもの)のうちの任意の1つまたは複数を実施するために使用され得る。
図7の例では、処理システム714を、全般的にバス702によって表されるバスアーキテクチャを用いて実施することができる。バス702は、処理システム714の特定の応用例および全体的な設計制約に依存して、任意の個数の相互接続するバスおよびブリッジを含むことができる。バス702は、1つまたは複数の処理回路を含む様々な回路(全般的に処理回路704によって表される)、記憶デバイス705、および機械可読、プロセッサ可読、処理回路可読、またはコンピュータ可読の媒体(全般的に、非一時的機械可読媒体706によって表される)をリンクする。バス702は、タイミングソース、周辺機器、電圧レギュレータ、および電力管理回路などの様々な他の回路をもリンクすることができ、これらの他の回路は、当技術分野で周知であり、したがって、これ以上は説明しない。バスインターフェース708は、バス702とトランシーバ710との間のインターフェースを提供する。トランシーバ710は、伝送媒体を介して様々な他の装置と通信するための手段を提供する。装置の性質に依存して、ユーザインターフェース712(たとえば、キーパッド、ディスプレイ、スピーカ、マイクロホン、ジョイスティック)を提供することもできる。
処理回路704は、バス702の管理と、機械可読媒体706上に記憶されたソフトウェアの実行を含む全般的な処理との責任を負う。ソフトウェアは、処理回路704によって実行されるときに、処理システム714に、任意の特定の装置について本明細書で説明される様々な機能を実行させる。機械可読媒体706は、ソフトウェアを実行するときに処理回路704によって操作されるデータを記憶するのにも使用され得る。
処理システム内の1つまたは複数の処理回路704は、ソフトウェアまたはソフトウェアコンポーネントを実行することができる。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、または他のいずれとして呼ばれる場合であっても、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行のスレッド、手続き、関数、その他を意味するものとして幅広く解釈されなければならない。処理回路は、タスクを実行し得る。コードセグメントは、手続き、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または、命令、データ構造、もしくはプログラム文の任意の組合せを表し得る。コードセグメントは、情報、データ、引数、パラメータを、またはメモリもしくはストレージの内容を渡すおよび/または受け取ることによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどを、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク伝送などを含む任意の適切な手段を介して渡し、転送し、または伝送することができる。
ソフトウェアは、機械可読媒体706上に存在することができる。機械可読媒体706は、非一時的機械可読媒体とすることができる。非一時的な処理回路可読、機械可読、またはコンピュータ可読の媒体は、たとえば、磁気記憶デバイス(たとえば、ハードディスク、フロッピディスク、磁気ストリップ)、光ディスク(たとえば、コンパクトディスク(CD)またはデジタル多用途ディスク(DVD))、スマートカード、フラッシュメモリデバイス(たとえば、カード、スティック、またはキードライブ)、RAM、ROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、レジスタ、リムーバブルディスク、ハードディスク、CD-ROM、ならびに機械またはコンピュータによってアクセスされ読み取られ得るソフトウェアおよび/または命令を記憶する任意の他の適切な媒体を含む。「機械可読媒体」、「コンピュータ可読媒体」、「処理回路可読媒体」、および/または「プロセッサ可読媒体」という用語は、ポータブルまたは固定式の記憶デバイス、光学記憶デバイス、ならびに命令および/またはデータを記憶し、含み、または担持することのできる様々な他の媒体などの非一次的媒体を含むことができるが、これに限定されない。したがって、本明細書で説明される様々な方法を、「機械可読媒体」、「コンピュータ可読媒体」、「処理回路可読媒体」、および/または「プロセッサ可読媒体」内に記憶され、1つまたは複数の処理回路、機械、および/またはデバイスによって実行され得る命令および/またはデータによって完全にまたは部分的に実施することができる。機械可読媒体は、たとえば、搬送波、伝送線、およびコンピュータによってアクセスされ、読み取られ得るソフトウェアおよび/または命令を伝送するための任意の他の適切な媒体をも含むことができる。
機械可読媒体706は、処理システム714内に、処理システム714の外部に存在し、あるいは、処理システム714を含む複数のエンティティにまたがって分散され得る。機械可読媒体706を、コンピュータプログラム製品内で実施することができる。たとえば、コンピュータプログラム製品は、パッケージング材料内に機械可読媒体を含むことができる。当業者は、特定の応用例およびシステム全体に課せられる全体的な設計制約に依存して、本開示全体で提示される説明される機能性をどのようにして最もよく実施すべきかを認めるであろう。たとえば、機械可読媒体706は、処理回路704によって実行されたとき、処理回路に、非ランダムかつ非決定論的なノンスを得させ、非ランダムかつ非決定論的なノンスに部分的に基づいてデジタル署名を得させる1つまたは複数の命令を有し得る。
機能は図面に示す1つまたは複数のコンポーネント、ステップ、特徴、および/または機能は、単一のコンポーネント、ブロック、特徴もしくは機能に再配置および/または結合され、複数のコンポーネント、ステップもしくは機能に具現化され得る。追加の要素、コンポーネント、ステップ、および/または機能はまた、本開示から逸脱することなく、追加され得る。図に示す装置、デバイス、および/またはコンポーネントは、図に記載した方法、特徴、またはステップのうちの1つまたは複数を実行するように構成され得る。また、本明細書で説明したアルゴリズムは、効率的にソフトウェアに実装されてもよく、かつ/またはハードウェアに組み込まれてもよい。
本明細書に開示した例に関連して説明した様々な例示的な論理ブロック、モジュール、回路、要素、および/またはコンポーネントは、汎用処理回路、デジタル信号処理回路(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理コンポーネント、個別ゲートもしくはトランジスタロジック、個別のハードウェアコンポーネント、または、本明細書に記載の機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用処理回路は、マイクロプロセッシング回路とすることができるが、代替案では、処理回路を、何らかの従来の処理回路、コントローラ、マイクロコントローラ、または状態機械とすることができる。処理回路はまた、コンピューティングコンポーネントの組合せとして、たとえば、DPSおよびマイクロプロセッシング回路の組合せ、いくつかのマイクロプロセッシング回路、DSPコアと併せた1つもしくは複数のマイクロプロセッシング回路、または任意の他のそのような構成として実装され得る。
したがって、本開示の一態様では、図4および図7に示す処理回路413および/または704は、図3、図5、および/もしくは図6(ならびに/または、以下で論じる図10、図11、および/もしくは図12)に記載のアルゴリズム、方法、および/またはブロックを実行するために特別に設計されたおよび/または結線された専用処理回路(たとえば、ASIC)であり得る。したがって、そのような専用処理回路(たとえば、ASIC)は、図3、図5、および/もしくは図6(ならびに/または、以下で論じる図10、図11、および/もしくは図12)に記載のアルゴリズム、方法、および/またはブロックを実行するための手段の一例であり得る。機械可読記憶媒体は、専用処理回路(たとえば、ASIC)によって実行されたとき、専用処理回路に、本明細書に記載のアルゴリズム、方法、および/またはブロックを実行させる命令を記憶し得る。
図8は、デジタル署名生成器804とデジタル署名検証器806とを有するデジタル署名プロセッサ802を有する処理回路704の選択された例示的なコンポーネントを示す。具体的には、図8のデジタル署名生成器804は、半決定論的ノンスを生成する際に使用するためのメッセージごとのソルト値vを得るまたは生成するように動作可能なソルト生成モジュール/回路808を含む。デジタル署名生成器804はまた、デジタル署名を生成する際に使用するための半決定論的ノンスkを得るもしくは生成するように、または、そのような動作を達成するために他のモジュール/回路を制御するように動作可能な非ランダムかつ非決定論的ノンス生成モジュール/回路810を含む。たとえば、連結モジュール/回路812は、連結値をもたらすために秘密鍵をソルトに連結するように動作可能であり、ここで、秘密鍵は、(擬似乱数生成器(PRNG)を含み得る)秘密鍵入力モジュール/回路814によって得られ得る。ハッシュ関数モジュール/回路816は、ハッシュ化メッセージをもたらすために、署名されるべきメッセージにハッシュ関数を適用するように動作可能である。鍵導出関数(HMAC)モジュール/回路816は、ノンス生成モジュール/回路810の制御下でノンスをもたらすために、連結値およびハッシュ化メッセージにHMACなどの鍵導出関数を適用するように動作可能である。デジタル署名生成モジュール/回路820は、ノンス生成モジュール/回路810によって(またはその制御下で)生成されたノンスに部分的に基づいてデジタル署名を生成するように動作可能である。メッセージ署名モジュール/回路822は、次いで、たとえば、図7のトランシーバ710に接続され得る署名/メッセージ送信/受信モジュール/回路828を使用して遠隔デバイスに送信するためのメッセージにデジタル署名で署名するように動作可能である。
デジタル署名を使用してメッセージに署名することは、単にメッセージに署名を付加する単純なことであり得、したがって、実際的な実施態様では、別個のメッセージ署名モジュール/回路は、設けられなくてもよい。さらに、実施的な実施提要では、デジタル署名生成器全体は、デジタル署名を使用してメッセージに署名するのに役立つので、メッセージ署名モジュールと呼ばれ得る。別々の署名生成コンポーネントおよびメッセージ署名コンポーネントは、必要とされないが、完全性および一般性のために別々に示されている。デジタル信号プロセッサ802が遠隔デバイスから受信した署名を検証することを必要とする場合、公開鍵入力モジュール/回路824は、(図7のトランシーバ710を介して)公開鍵を入力または別の方法で得る。署名検証モジュール/回路826は、次いで、公開鍵を使用して遠隔デバイスから受信した署名されたメッセージの署名を検証するために動作可能である。
図9は、デジタル署名を生成または検証する際に使用するための機械またはコンピュータ可読媒体706の選択された例示的な命令を示す。簡単に言えば、図9の機械可読媒体706は、様々な命令を含み、様々な命令は、図7の処理回路704によって実行されたとき、処理回路に、デジタル署名の生成および検証動作を制御または実行させる。具体的には、図9のデジタル署名生成命令904は、ノンスを生成する際に使用するためのメッセージごとのソルト値vを得るまたは生成するように動作可能なソルト生成命令908を含む。非ランダムかつ非決定論的ノンス生成命令910は、デジタル署名を生成する際に使用するための半決定論的ノンスkを得るまたは生成するように動作可能である。連結命令912は、連結値をもたらすために秘密鍵をソルトに連結するように動作可能であり、ここで、秘密鍵は、秘密鍵入力命令914によって得られ得る。ハッシュ関数命令916は、ハッシュ化メッセージをもたらすために、署名されるべきメッセージにハッシュ関数を適用するように動作可能である。鍵導出関数(HMAC)命令918は、ノンスをもたらすために連結値およびハッシュ化メッセージにHMACなどの鍵導出関数を適用するように動作可能である。デジタル署名生成命令920は、ノンス生成命令910によって(またはその制御の下で)生成されたノンスに部分的に基づいてデジタル署名を生成するように動作可能である。メッセージ署名命令922は、次いで、たとえば、署名/メッセージ送信/受信命令928を使用して遠隔デバイスに送信するためのメッセージにデジタル署名を署名するように動作可能である。図8のモジュール822を参照して上述したコメントは、ここでも適用可能である。デジタル信号プロセッサが遠隔デバイスから受信した署名を検証することを必要とする場合、公開鍵入力命令924は、(図7のトランシーバ710を介して)遠隔デバイスから公開鍵を入力するまたは別の方法で得る。署名検証命令926は、次いで、公開鍵を使用して、遠隔デバイスから受信した署名されたメッセージの署名を検証するように動作可能である。
図10は、図8のデジタル署名生成器804、または、図4のアプリケーション処理回路410などのデジタル署名を生成するか、または別の方法で得るための他の適切に装備されたデジタル署名生成デバイスによって実行され得る方法または手続き1000を概括的に示し、要約する。1002では、デジタル署名生成器は、非ランダムかつ非決定論的ノンスを得、1004では、デジタル署名生成器は、たとえば、上記で説明した技法を使用して、非ランダムかつ非決定論的ノンスに部分的に基づいてデジタル署名を得る。
図11は、図8のデジタル署名プロセッサ802または他の適切に装備されたデバイスによって実行され得る例示的な方法または手続き1100を示す。1102では、デジタル署名プロセッサ802は、半決定論的ノンスをもたらすのに十分なメッセージごとの値を生成するか、または別の方法で得、ここで、メッセージごとの値は、秘密ノンス、公開ノンス、カウンタ、および文脈特定メッセージのうちの1つまたは複数であり、または、メッセージごとの値は、結果として生じるノンスが完全にランダムではないように、(ノンスからデジタル署名を生成するために使用されるデジタル署名生成プロトコルに関連付けられた値の全範囲と比較して)値の制限された範囲内でランダムに得られる。1104では、デジタル署名プロセッサ802は、鍵導出関数と、秘密鍵と、メッセージと、完全にランダムなノンスと完全に決定論的なノンスとの間の部分的な量の決定論性(partial amount of determinism)を有することによって特徴付けられる半決定論的ノンスをもたらすように選択されたメッセージごとの値とを使用して、非ランダムかつ非決定論的ノンスを生成するか、または別の方法で得、ここで、ノンスの非ランダム性は、少なくとも部分的に決定論的であり、完全にはランダムではないものとして特徴付けられ、ノンスの非決定論性は、少なくとも部分的にランダムであり、完全には決定論的ではないものとして特徴付けられる。1106では、デジタル署名プロセッサ802は、非ランダムかつ非決定論的ノンスに部分的に基づいてデジタル署名を生成するか、または別の方法で得る。1108では、デジタル署名プロセッサ802は、非ランダムかつ非決定論的ノンスに部分的に基づいて得られたデジタル署名を使用してメッセージに署名する。すでに述べたように、メッセージに署名することは、単にメッセージにデジタル署名を付加することを伴い得、したがって、別々の署名生成コンポーネントおよびメッセージ署名コンポーネントは、必要とされないが、完全性および一般性のために別々に示されている。
図12は、図8のデジタル署名プロセッサ802によって、または、鍵導出関数と、秘密鍵と、メッセージと、メッセージごとの値とを使用してノンスを得るか、もしくは別の方法で生成するための図11のブロック1104で使用するための他の適切に装備されたデジタル署名生成デバイスによって実行され得る例示的な方法または手続きを示す。1202では、デジタル署名プロセッサ802は、連結値を得るために、秘密鍵をメッセージごとの値に連結する。1204では、デジタル署名プロセッサ802は、ハッシュ化メッセージを得るために、メッセージにハッシュ関数を適用する。1206では、デジタル署名プロセッサ802は、半決定論的ノンスを得るために、連結値およびハッシュ化メッセージに鍵導出関数を適用し、ここで、鍵導出関数は、HMAC関数である。
本開示の諸態様が、本明細書で、フローチャート、流れ図、構造図、またはブロック図として描かれるプロセスとして説明される場合があることに留意されたい。流れ図が、動作を順次プロセスとして説明する場合があるが、動作の多くを、並列にまたは同時に実行することができる。加えて、動作の順序を再配置することができる。プロセスは、その動作が完了したときに終了される。プロセスは、メソッド、関数、手続き、サブルーチン、サブプログラムなどに対応することができる。プロセスが関数に対応するときには、その終了は、呼び出す側の関数またはメイン関数への関数のリターンに対応する。
当業者は、本明細書に開示された態様に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップが、電子ハードウェアとして、コンピュータソフトウェアとして、または両方の組合せとして実施され得ることをさらに理解するであろう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、上記では概してそれらの機能に関して説明した。そのような機能性が、ハードウェアまたはソフトウェアのどちらとして実施されるのかは、具体的な適用例と、システム全体に課せられる設計制約とによって決まる。
本明細書に開示された例に関連して説明した方法またはアルゴリズムは、処理ユニット、プログラミング命令、または他の命令の形態で、直接ハードウェアにおいて、プロセッサによって実行可能なソフトウェアモジュールにおいて、または両方の組合せにおいて具体化され得、単一のデバイス内に含まれ得、または複数のデバイスに分散され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野において知られている任意の他の形態の記憶媒体に常駐し得る。プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、記憶媒体はプロセッサに結合され得る。代替において、記憶媒体は、プロセッサと一体であり得る。
本明細書に開示された本発明の様々な特徴は、本発明から逸脱することなく、異なるシステムで実施され得る。上記の実施形態は、単なる例であり、本発明を限定するものとして解釈されるべきではないことに留意すべきである。実施形態の説明は例示的なものであり、特許請求の範囲を限定するものではない。そのように、本教示は、他のタイプの装置に容易に適用され得、多くの代替、修正、変形が、当業者には明らかであろう。
100 デジタル署名システム
102 メッセージ
104 秘密鍵
106 暗号署名デバイス
108 署名されたメッセージ
109 チャネル
110 公開鍵
112 DSAまたはECDSA署名検証デバイス
114 イエス/ノー検証
116 サイドチャネル攻撃デバイスまたはシステム
118 電力およびタイミング情報
120 電気信号
122 電源
200 デジタル署名システム
204 スマートカード
206 スマートカードリーダ
216 電力測定オシロスコープ
217 サイドチャネルコンピュータ/アナライザ
218 電力およびタイミング情報
219 電磁誘導(EMI)信号、音響信号など
220 電力信号
221 センサーまたは検出器
222 電源
302 暗号署名デバイス
304 署名検証デバイス
400 SoC処理回路
410 アプリケーション処理回路
412 マルチコアCPU
413 デジタル署名プロセッサ
415 デジタル署名署名デバイス
417 署名検証デバイス
418 ブートROM
420 周辺サブシステム
422 DSP
424 ハードウェア(HW)およびソフトウェア(SW)コンポーネント
426 ラジオ周波数(RF)コンポーネント
428 ブートROM
430 内部共有ハードウェア(HW)リソース
432 内部共有記憶デバイス、内部共有ストレージ
433 鍵記憶要素
440 外部共有HWリソース
442 外部共有ストレージ
444 永久的もしくは半永久的データストレージ
450 ホスト記憶コントローラ
700 システムまたは装置
702 バス
704 処理回路
705 記憶デバイス
706 非一時的機械可読媒体
708 バスインターフェース
710 トランシーバ
712 ユーザインターフェース
714 処理システム
802 デジタル署名プロセッサ
804 デジタル署名生成器
806 デジタル署名検証器
808 ソルト生成モジュール/回路
810 非ランダムかつ非決定論的ノンス生成モジュール/回路
812 連結モジュール/回路
814 秘密鍵入力モジュール/回路
816 ハッシュ関数モジュール/回路
820 デジタル署名生成モジュール/回路
822 メッセージ署名モジュール/回路
824 公開鍵入力モジュール/回路
826 署名検証モジュール/回路
828 署名/メッセージ送信/受信モジュール/回路
904 デジタル署名生成命令
908 ソルト生成命令
910 非ランダムかつ非決定論的ノンス生成命令
912 連結命令
914 秘密鍵入力命令
916 ハッシュ関数命令
918 鍵導出関数(HMAC)命令
920 デジタル署名生成命令
922 メッセージ署名命令
924 公開鍵入力命令
926 署名検証命令
928 署名/メッセージ送信/受信命令

Claims (30)

  1. デジタル署名を得るためのデジタル署名生成デバイスにおいて動作する方法であって、
    デジタル署名生成デバイスを使用して非ランダムかつ非決定論的ノンスを得るステップと、
    前記非ランダムかつ非決定論的ノンスに部分的に基づいて、デジタル署名生成デバイスを使用してデジタル署名を得るステップと
    を備える方法。
  2. 前記非ランダムかつ非決定論的ノンスが、完全にランダムなノンスと完全に決定論的なノンスとの間の部分的な量の決定論性を有することによって特徴付けられた半決定論的ノンスである、請求項1に記載の方法。
  3. 前記半決定論的ノンスが、鍵導出関数と、秘密鍵と、メッセージと、半決定論的ノンスを結果として生じるように選択されたメッセージごとの値とを使用して得られる、請求項2に記載の方法。
  4. 前記メッセージごとの値が、秘密ノンスと、公開ノンスと、カウンタと、文脈特定メッセージとのうちの1つまたは複数である、請求項3に記載の方法。
  5. 前記メッセージごとの値が、前記結果として生じるノンスが完全にランダムではないように、値の制限された範囲内でランダムに得られる、請求項3に記載の方法。
  6. 前記値の制限された範囲が、前記ノンスから前記デジタル署名を生成するために使用されるデジタル署名生成プロトコルに関連付けられた値の全範囲と比較して制限されている、請求項5に記載の方法。
  7. 前記半決定論的ノンスが、前記メッセージごとの値と、前記鍵導出関数と、前記秘密鍵と、前記メッセージとに基づいて、
    連結値を得るために、前記秘密鍵を前記メッセージごとの値に連結するステップと、
    ハッシュ化メッセージを得るために、前記メッセージにハッシュ関数を適用するステップと、
    前記半決定論的ノンスを得るために、前記連結値および前記ハッシュ化メッセージに前記鍵導出関数を適用するステップと
    によって得られる、請求項3に記載の方法。
  8. 前記鍵導出関数が、ハッシュベースのメッセージ認証コード(HMAC)関数である、請求項7に記載の方法。
  9. 前記ノンスの非ランダム性が、少なくとも部分的に決定論的であり、完全にはランダムではないことによって特徴付けられる、請求項1に記載の方法。
  10. 前記ノンスの非決定論性が、少なくとも部分的にランダムであり、完全には決定論的ではないことによって特徴付けられる、請求項1に記載の方法。
  11. 前記非ランダムかつ非決定論的ノンスに部分的に基づいて生成された前記デジタル署名を使用してメッセージに署名するステップをさらに含む、請求項1に記載の方法。
  12. 非ランダムかつ非決定論的ノンスを得、
    前記非ランダムかつ非決定論的ノンスに部分的に基づいてデジタル署名を得るように構成された処理回路を備えるデバイス。
  13. 前記非ランダムかつ非決定論的ノンスが、完全にランダムなノンスと完全に決定論的なノンスとの間の部分的な量の決定論性を有することによって特徴付けられた半決定論的ノンスである、請求項12に記載のデバイス。
  14. 前記処理回路が、鍵導出関数と、秘密鍵と、メッセージと、半決定論的ノンスを結果として生じるように選択されたメッセージごとの値とを使用して前記半決定論的ノンスを得るように構成された、請求項13に記載のデバイス。
  15. 前記メッセージごとの値が、秘密ノンスと、公開ノンスと、カウンタと、文脈特定メッセージとのうちの1つまたは複数である、請求項14に記載のデバイス。
  16. 前記処理回路が、前記結果として生じるノンスが完全にランダムではないように、値の制限された範囲内で前記メッセージごとの値をランダムに得るように構成された、請求項14に記載のデバイス。
  17. 前記処理回路が、前記ノンスから前記デジタル署名を生成するために使用されるデジタル署名生成プロトコルに関連付けられた値の全範囲と比較して前記値の範囲を制限するように構成された、請求項16に記載のデバイス。
  18. 前記処理回路が、前記メッセージごとの値と、前記鍵導出関数と、前記秘密鍵と、前記メッセージとに基づいて、
    連結値を得るために、前記秘密鍵を前記メッセージごとの値に連結することと、
    ハッシュ化メッセージを得るために、前記メッセージにハッシュ関数を適用することと、
    前記半決定論的ノンスを得るために、前記連結値および前記ハッシュ化メッセージに前記鍵導出関数を適用することと
    によって、前記半決定論的ノンスを得るように構成された、請求項14に記載のデバイス。
  19. 前記鍵導出関数が、ハッシュベースのメッセージ認証コード(HMAC)関数である、請求項18に記載のデバイス。
  20. 前記処理回路が、少なくとも部分的に決定論的であり、完全にはランダムではないことによって特徴付けられる非ランダム性を有するノンスを得るように構成された、請求項12に記載のデバイス。
  21. 前記処理回路が、少なくとも部分的にランダムであり、完全には決定論的ではないことによって特徴付けられる非決定論性を有するノンスを得るように構成された、請求項12に記載のデバイス。
  22. 前記処理回路が、前記非ランダムかつ非決定論的ノンスに部分的に基づいて生成された前記デジタル署名を使用してメッセージに署名するようにさらに構成された、請求項12に記載のデバイス。
  23. 非ランダムかつ非決定論的ノンスを得るための手段と、
    前記非ランダムかつ非決定論的ノンスに部分的に基づいてデジタル署名を得るための手段と
    を備えるデバイス。
  24. 前記非ランダムかつ非決定論的ノンスを得るための手段が、完全にランダムなノンスと完全に決定論的なノンスとの間の部分的な量の決定論性を有することによって特徴付けられた半決定論的ノンスを得るための手段を含む、請求項23に記載のデバイス。
  25. 前記半決定論的ノンスを得るための手段が、鍵導出関数と、秘密鍵と、メッセージと、半決定論的ノンスを結果として生じるように選択されたメッセージごとの値とを使用して前記ノンスを得る、請求項24に記載のデバイス。
  26. 前記半決定論的ノンスを得るための手段が、
    連結値を得るために、前記秘密鍵を前記メッセージごとの値に連結するための手段と、
    ハッシュ化メッセージを得るために、前記メッセージにハッシュ関数を適用するための手段と、
    前記半決定論的ノンスを得るために、前記連結値および前記ハッシュ化メッセージに前記鍵導出関数を適用するための手段と
    を含む、請求項25に記載のデバイス。
  27. デジタル署名を得るための機械可読記憶媒体であって、前記機械可読記憶媒体が、1つまたは複数の命令を含み、前記1つまたは複数の命令が、少なくとも1つの処理回路によって実行されたとき、前記少なくとも1つの処理回路に、
    非ランダムかつ非決定論的ノンスを得させ、
    前記非ランダムかつ非決定論的ノンスに部分的に基づいてデジタル署名を得させる、機械可読記憶媒体。
  28. 鍵導出関数と、秘密鍵と、メッセージと、半決定論的ノンスを結果として生じるように選択されたメッセージごとの値とを使用して半決定論的ノンスを得るための命令をさらに含む、請求項27に記載の機械可読記憶媒体。
  29. 連結値を得るために、前記秘密鍵を前記メッセージごとの値に連結し、
    ハッシュ化メッセージを得るために、前記メッセージにハッシュ関数を適用し、
    前記半決定論的ノンスを得るために、前記連結値および前記ハッシュ化メッセージに前記鍵導出関数を適用するための命令をさらに含む、請求項28に記載の機械可読記憶媒体。
  30. 前記非ランダムかつ非決定論的ノンスに部分的に基づいて生成された前記デジタル署名を使用してメッセージに署名するための命令をさらに含む、請求項27に記載の機械可読記憶媒体。
JP2016569940A 2014-06-02 2015-06-01 半決定論的デジタル署名生成 Expired - Fee Related JP6276426B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/294,015 2014-06-02
US14/294,015 US9621525B2 (en) 2014-06-02 2014-06-02 Semi-deterministic digital signature generation
PCT/US2015/033608 WO2015187591A1 (en) 2014-06-02 2015-06-01 Semi-deterministic digital signature generation

Publications (3)

Publication Number Publication Date
JP2017517770A true JP2017517770A (ja) 2017-06-29
JP2017517770A5 JP2017517770A5 (ja) 2017-08-10
JP6276426B2 JP6276426B2 (ja) 2018-02-07

Family

ID=53385991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016569940A Expired - Fee Related JP6276426B2 (ja) 2014-06-02 2015-06-01 半決定論的デジタル署名生成

Country Status (7)

Country Link
US (1) US9621525B2 (ja)
EP (1) EP3149880A1 (ja)
JP (1) JP6276426B2 (ja)
KR (1) KR20170013878A (ja)
CN (1) CN106416124B (ja)
BR (1) BR112016028287A2 (ja)
WO (1) WO2015187591A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021509786A (ja) * 2018-01-05 2021-04-01 デンソー インターナショナル アメリカ インコーポレーテッド モバイルの非白色化
JP2022526934A (ja) * 2019-03-25 2022-05-27 マイクロン テクノロジー,インク. ブロックチェーンを基にしたメモリコマンドの正当性確認

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015210734B4 (de) * 2014-10-31 2021-03-04 Hewlett Packard Enterprise Development Lp Verwaltung kryptographischer schlüssel
US10009328B2 (en) * 2015-12-07 2018-06-26 Mcafee, Llc System, apparatus and method for providing privacy preserving interaction with a computing system
CN109314637B (zh) 2016-02-23 2021-09-10 区块链控股有限公司 区块链上高效转移加密货币的方法和设备
CN108885745B (zh) 2016-02-23 2023-06-30 区块链控股有限公司 具有令牌化的基于区块链的交换
AU2017223158B2 (en) 2016-02-23 2022-03-31 nChain Holdings Limited Blockchain-implemented method for control and distribution of digital content
KR20180115293A (ko) 2016-02-23 2018-10-22 엔체인 홀딩스 리미티드 블록체인상의 개체의 안전한 전송을 위한 방법 및 시스템
BR112018016234A2 (pt) 2016-02-23 2019-01-02 Nchain Holdings Ltd método implementado por computador para controlar o acesso a um recurso, sistemas baseados em computador e método para controle de acesso a uma carteira digital
MX2018010054A (es) 2016-02-23 2019-01-21 Nchain Holdings Ltd Metodo y sistema de tokenizacion para la implementacion de cambios de moneda en una cadena de bloques.
EP3420669B1 (en) 2016-02-23 2021-03-24 Nchain Holdings Limited Cryptographic method and system for secure extraction of data from a blockchain
CN116934328A (zh) 2016-02-23 2023-10-24 区块链控股有限公司 用于经由区块链控制资产有关的动作的系统及方法
WO2017145004A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited Universal tokenisation system for blockchain-based cryptocurrencies
CN115391749A (zh) 2016-02-23 2022-11-25 区块链控股有限公司 使用分布式散列表和区块链保护计算机软件的方法及系统
SG10202109555WA (en) 2016-02-23 2021-09-29 Nchain Holdings Ltd Agent-based turing complete transactions integrating feedback within a blockchain system
SG11201806702XA (en) * 2016-02-23 2018-09-27 Nchain Holdings Ltd Personal device security using elliptic curve cryptography for secret sharing
SG10201805995VA (en) 2016-02-23 2018-08-30 Nchain Holdings Ltd Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
EP3257191B1 (en) 2016-02-23 2018-04-11 Nchain Holdings Limited Registry and automated management method for blockchain-enforced smart contracts
CN107222453B (zh) * 2016-03-22 2020-01-31 阿里巴巴集团控股有限公司 一种文件传输方法及装置
US10114941B2 (en) * 2016-08-24 2018-10-30 Altera Corporation Systems and methods for authenticating firmware stored on an integrated circuit
CN107223322B (zh) * 2017-04-25 2020-07-24 深圳市汇顶科技股份有限公司 签名验证的方法、设备和系统
US10516541B2 (en) 2017-09-13 2019-12-24 Nxp B.V. Nonce to message binding in digital signature generation
CN107592311B (zh) * 2017-09-18 2019-10-29 西南石油大学 面向无线体域网的云存储医疗大数据轻量级批量审计方法
US10790991B2 (en) * 2018-08-30 2020-09-29 Nxp B.V. Deterministic digital signature method without using a hash function
US11216806B2 (en) * 2018-09-19 2022-01-04 Capital One Services, Llc Systems and methods for providing card interactions
US11151007B2 (en) * 2018-11-26 2021-10-19 Intel Corporation Technology to provide fault tolerance for elliptic curve digital signature algorithm engines
US11108567B2 (en) * 2019-02-15 2021-08-31 International Business Machines Corporation Compute digital signature authentication verify instruction
US11075763B2 (en) * 2019-02-15 2021-07-27 International Business Machines Corporation Compute digital signature authentication sign with encrypted key instruction
US11303456B2 (en) * 2019-02-15 2022-04-12 International Business Machines Corporation Compute digital signature authentication sign instruction
US11654635B2 (en) 2019-04-18 2023-05-23 The Research Foundation For Suny Enhanced non-destructive testing in directed energy material processing
CN110119639A (zh) * 2019-05-13 2019-08-13 上海英恒电子有限公司 一种车辆充电设备防伪认证方法、装置及系统
US20210184869A1 (en) * 2019-12-17 2021-06-17 Microchip Technology Incorporated Mutual authentication protocol for systems with low-throughput communication links, and devices for performing the same
US11336438B2 (en) * 2020-03-31 2022-05-17 EMC IP Holding Company LLC Remote approval and execution of restricted operations
CN111967014B (zh) * 2020-07-16 2023-08-11 北京轩宇信息技术有限公司 一种防御StarBleed漏洞的方法及装置
CN112866237B (zh) * 2021-01-15 2023-02-03 广州Tcl互联网小额贷款有限公司 数据通讯方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07502346A (ja) * 1991-07-26 1995-03-09 アメリカ合衆国 ディジタル署名アルゴリズム
JP2001507479A (ja) * 1997-05-07 2001-06-05 ジェムプリュス エス.セー.アー. ランダム抽出を必要とする暗号システムのためのハッシュ関数に基づく疑似ランダム生成器
JP2007087171A (ja) * 2005-09-22 2007-04-05 Fuji Xerox Co Ltd 電子メール送受信装置、プログラム、方法
WO2014075000A1 (en) * 2012-11-12 2014-05-15 Cryptography Research Inc. Methods and systems for glitch-resistant cryptographic discrete-log based signing

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7152047B1 (en) * 2000-05-24 2006-12-19 Esecure.Biz, Inc. System and method for production and authentication of original documents
US7693277B2 (en) * 2005-01-07 2010-04-06 First Data Corporation Generating digital signatures using ephemeral cryptographic key
US7869593B2 (en) * 2005-01-07 2011-01-11 First Data Corporation Software for providing based on shared knowledge public keys having same private key
US7490239B2 (en) * 2005-01-07 2009-02-10 First Data Corporation Facilitating digital signature based on ephemeral private key
US8274968B2 (en) 2007-07-20 2012-09-25 Cisco Technology, Inc. Restriction of communication in VoIP address discovery system
US9252941B2 (en) * 2009-11-06 2016-02-02 Nikolajs VOLKOVS Enhanced digital signatures algorithm method and system utilitzing a secret generator
CN101873307A (zh) * 2010-03-19 2010-10-27 上海交通大学 基于身份的前向安全的数字签名方法、装置及系统
WO2013097027A1 (en) 2011-12-28 2013-07-04 Certicom Corp. Generating digital signatures
US9021269B2 (en) 2012-07-18 2015-04-28 TapLink, Inc. Blind hashing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07502346A (ja) * 1991-07-26 1995-03-09 アメリカ合衆国 ディジタル署名アルゴリズム
JP2001507479A (ja) * 1997-05-07 2001-06-05 ジェムプリュス エス.セー.アー. ランダム抽出を必要とする暗号システムのためのハッシュ関数に基づく疑似ランダム生成器
JP2007087171A (ja) * 2005-09-22 2007-04-05 Fuji Xerox Co Ltd 電子メール送受信装置、プログラム、方法
WO2014075000A1 (en) * 2012-11-12 2014-05-15 Cryptography Research Inc. Methods and systems for glitch-resistant cryptographic discrete-log based signing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PORNIN, T.: "Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Al", RFC 6979, JPN6017022462, August 2013 (2013-08-01), ISSN: 0003581257 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021509786A (ja) * 2018-01-05 2021-04-01 デンソー インターナショナル アメリカ インコーポレーテッド モバイルの非白色化
JP7111165B2 (ja) 2018-01-05 2022-08-02 デンソー インターナショナル アメリカ インコーポレーテッド モバイルの非白色化
JP2022526934A (ja) * 2019-03-25 2022-05-27 マイクロン テクノロジー,インク. ブロックチェーンを基にしたメモリコマンドの正当性確認
JP7150195B2 (ja) 2019-03-25 2022-10-07 マイクロン テクノロジー,インク. ブロックチェーンを基にしたメモリコマンドの正当性確認

Also Published As

Publication number Publication date
BR112016028287A2 (pt) 2017-08-22
CN106416124B (zh) 2018-08-28
US9621525B2 (en) 2017-04-11
WO2015187591A1 (en) 2015-12-10
US20150350171A1 (en) 2015-12-03
KR20170013878A (ko) 2017-02-07
JP6276426B2 (ja) 2018-02-07
EP3149880A1 (en) 2017-04-05
CN106416124A (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
JP6276426B2 (ja) 半決定論的デジタル署名生成
CN106416121B (zh) 用于签名产生和加密/解密的共模rsa密钥对
US9686248B2 (en) Secure shared key sharing systems and methods
US11328075B2 (en) Method and system for providing secure communications between a host system and a data processing accelerator
US9998438B2 (en) Verifying the security of a remote server
US11374734B2 (en) Method and system for key distribution and exchange for data processing accelerators
US9509502B2 (en) Symmetric keying and chain of trust
US11799651B2 (en) Data processing accelerator having a security unit to provide root trust services
US11233652B2 (en) Method and system to derive a session key to secure an information exchange channel between a host system and a data processing accelerator
US9521125B2 (en) Pseudonymous remote attestation utilizing a chain-of-trust
US11392687B2 (en) Method and system for validating kernel objects to be executed by a data processing accelerator of a host system
US11153074B1 (en) Trust framework against systematic cryptographic
CN107077560B (zh) 用于建立安全工作空间的所有权的系统
CN117397198A (zh) 绑定加密密钥证明
US9800410B1 (en) Data encryption system and method
US11281251B2 (en) Data processing accelerator having a local time unit to generate timestamps
EP3811272B1 (en) Method and system for managing memory of data processing accelerators
Hao et al. Trusted block as a service: Towards sensitive applications on the cloud
US11777717B2 (en) Method for end entity attestation
KR20100138684A (ko) 인터넷 기반 컴퓨팅 환경에서 통신 플랫폼 무결성 검증 및 암호 키 설정 방법
Rehman et al. Hybrid AES-ECC Model for the Security of Data over Cloud Storage. Electronics 2021, 10, 2673
WO2024079340A1 (en) Method for securely manipulating a password hash, a client-server system involving the same, and methods for securing a user-provided password in a client for recovery only by an authentication server
TW202420776A (zh) 客戶端-伺服器系統、非暫時性電腦可讀取儲存媒體、安全地操控密碼散列之方法以及確保於客戶端中恢復使用者提供密碼僅經由認證伺服器之方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170524

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170524

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170524

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170919

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: 20171218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180111

R150 Certificate of patent or registration of utility model

Ref document number: 6276426

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees