IT用語辞典バイナリ |
デジタル署名
別名:デジタルシグネチャ
【英】digital signature
デジタル署名とは、電子文書の正当性を保証するために付けられる、暗号化された署名情報のことである。電子商取引をする場合などによく利用され、文書の作成者本人であることと、途中で文書が改ざんされていないことを証明する。
一般にデジタル署名では、公開鍵暗号方式を利用する。具体的には、送信する情報(データ)からハッシュ関数というプログラムを使ってメッセージダイジェストと呼ばれるデータを作り出す。これを送信者の共通鍵(秘密鍵)で暗号化したものをデジタル署名という。送信者は、送信するデータと一緒にデジタル署名を送る。
受信者は、情報と一緒に送られてきたデジタル署名を送信者の公開鍵で復号して、メッセージダイジェストを入手し、同時に受け取った情報(データ)を基に、送信者が使ったものと同じプログラムでメッセージダイジェストを作り出す。両方のメッセージダイジェストが同じものであれば、間違いなく本人が送ったもので、途中で改ざんもされていないということが証明される。
また、各種申請手続を電子化する電子政府の実現などに向け、デジタル署名の法的効力を保証するための制度も整備されてきている。
具体的には、2000年4月に成立し同年10月に施行された「商業登記法等の一部を改正する法律」により、従来の登記所が発行する印鑑証明書・資格証明書に相当するものとして、登記官が法人代表者の電子署名を証明する電子認証制度が創設された。また、2000年5月にされ2001年4月に施行された「電子署名及び認証業務に関する法律」より、電子署名が手書きの署名や押印と同等に通用する法的基盤が整備された。
なおこれと類似した言葉に「電子署名」「電子捺印」があるが、これらは、文字や記号、マークなどを電子的に表現して署名行為を行なうこと全般を指す。
ウィキペディア |
デジタル署名
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2011/03/09 07:32 UTC 版)
デジタル署名(デジタルしょめい)とは、書面上の手書き署名のセキュリティ特性を模倣するために用いられる公開鍵暗号の一種である。
目次 |
概要
デジタル署名は通常3つのアルゴリズムからなる。一つは公開鍵ペアを生成する鍵生成アルゴリズム。もう一つは、利用者の秘密鍵を用いて署名を生成するアルゴリズム、それと利用者の公開鍵を用いて署名を検証するアルゴリズムである。署名生成処理で作り出されたデータも"デジタル署名"と呼ぶ。
デジタル署名は"メッセージ"の認証機能を提供する。メッセージは、電子メール、契約書、あるいはより複雑な暗号プロトコルで送受されるデータでも何でも良い。
認証局が発行する公開鍵証明書(公開鍵暗号用、デジタル署名用、またはその他どんな目的でも)では、利用者の公開鍵を利用者に結びつけるために、デジタル署名が使われている。公開鍵は単なる数値データなので、特定利用者による署名であると言えるように、公開鍵と利用者の情報(名前、住所、電話番号など)を結び付ける。
デジタル署名はしばしば電子署名(署名の意図を伝える任意の電子データを指す上位語)を実装する為に用いられる[1]が、全ての電子署名がデジタル署名を用いる訳ではない。
日本[2]、アメリカおよび欧州連合を含めて幾つかの国[3][4][5]では、電子署名は法律上の意義がある。しかしながら、電子署名に関する法律は、その法律上の重要性をやや曖昧にしておき、暗号によるデジタル署名に関して法を適用できるか否かについて、必ずしも明確にしない。
定義
詳細は「公開鍵暗号」を参照
デジタル署名は一般的には3つのアルゴリズムから成る。
- 鍵生成アルゴリズムG - 署名者の"鍵ペア"(PK, SK)を生成する。PKは公開する検証鍵、そしてSKは秘密にする署名鍵である。
- 署名生成アルゴリズムS - メッセージmと署名鍵SKを入力とし、署名σを生成する。
- 署名検証アルゴリズムV - メッセージm、検証鍵PK、署名σを入力とし、承認または拒否を出力する。
主に2つの特性が必要とされる。第一に、正当な署名鍵で生成された署名は、対応する検証鍵によって常に承認されること。つまり、署名鍵SKと検証鍵PKが対応する鍵ペアである場合、任意のメッセージmについて、V (m, PK, S (m, SK))は承認が出力される必要がある。第二に、いかなる攻撃者であっても(PKを知っているだけでは)有効な署名を生成する事は困難であることである。
歴史
著名な論文である「New Directions in Cryptography」において、ホイットフィールド・ディフィー(Whitfield Diffie)およびマーティン・ヘルマン(Martin Hellman)はデジタル署名という理論体系が存在するという推測とその概念について初めて著した。[6][7]
程なく、ロナルド・リベスト(Ronald Rivest)、アディ・シャミア(Adi Shamir)、およびレオナルド・エーデルマン(Len Adleman)は、基本的なデジタル署名に用いる事ができるRSAアルゴリズムを開発した[8](これはただ単に概念実証としての役目だけを果たす事に注意されたい。単純なRSA署名は安全ではない)。デジタル署名を提供し広く市販された最初のソフトウェア・パッケージは、RSAアルゴリズムを用いて1989年に発売されたLotus Notes 1.0である。
基本的なRSA署名は以下のように算出される。RSA署名鍵を生成するために、2つの大きな素数の積である係数Nと一緒に、φがオイラーのφ関数である時e d = 1 mod φ(N)を満たす整数eおよびdを含むRSA鍵ペアを一つ単に生成する。署名者の公開鍵はNとeから成り、署名者の秘密鍵はdを含む。
メッセージmに署名するため、署名者はσ=md mod Nを計算する。検証するために、受信者はσe = m mod Nを照合する。
前述のように、この基本的な仕組みはあまり安全ではない。攻撃を防ぐため、まず最初にメッセージmに暗号ハッシュ関数を適用し、それからその結果に前述のRSAアルゴリズムを適用する事ができる。このやり方は所謂ランダム・オラクル・モデルにおいて安全を証明できる。
その他のデジタル署名体系は、RSAに次いですぐ、最初にランポート署名(Lamport signature)[9]、マークル署名(Merkle signature、別名" マークル木"(Merkle tree)あるいは単に" ハッシュ木"(Hash tree))[10]、そしてラビン署名(Rabin signature)[11]が開発された。
1984年、シャフィ・ゴールドワッサー、Silvio Micali、およびロナルド・リベストはデジタル署名体系のセキュリティー要件を最初に厳格に定義した[12]。彼らは攻撃モデルの段階を次のように示した。
- 唯鍵攻撃(Key-Only Attack)では、公開されている検証鍵だけを前提とした攻撃が行われる。
- 既知文書攻撃(Known Message Attack)では、既知の様々な文書の有効な署名を前提とした攻撃が行われるが、攻撃者に文書は選択されない。
- 選択文書攻撃(Chosen Message Attack)では、攻撃者は最初に選択した任意の文書への署名を入手し、その署名を前提とした攻撃が行われる。
彼らは攻撃結果の段階も次のように示した。
- 全面的解読(total break)とは、署名鍵を再生されるという結果をもたらすものである。
- 普遍的偽造(universal forgery)攻撃とは、任意の文書の署名も偽造できる署名アルゴリズムが発見されるという結果をもたらすものである。
- 選択的偽造(selective forgery)攻撃とは、敵に選択された文書の署名が偽造されるという結果をもたらすものである。
- 存在的偽造(existential forgery)とは、ただ単に敵に知られていない何らかの有効な文書/署名の対が発見されるだけという結果をもたらすものである。
また彼らは、選択文書攻撃でさえ対抗し存在的偽造でさえ防ぐ事が初めて立証できる、GMR署名体系も提示した。[13]
殆どの初期の署名体系は類似していた。それらはRSA関数などの落とし戸置換(trapdoor permutation)、またはラビン署名体系の使用を必要とし、合成数Nを法とする二乗の計算をする。落とし戸置換の仲間は置換の仲間である。パラメータに指定され、それらは順方向へ計算する事は容易だが、逆方向へ計算する事は困難である。しかしながら、全てのパラメータについて逆方向の計算を容易にする"落とし戸"が存在する。パラメータが公開鍵で落とし戸が秘密鍵とする場合、また暗号化は順方向へ復号は逆方向へ置換を計算する事に対応する場合には、落とし戸置換は公開鍵暗号システムとしてみなす事ができる。秘密鍵を用いた逆方向の計算は署名と考えられ、また順方向の計算は署名を検証するためにされる場合には、落とし戸置換はデジタル署名体系とみなす事もできる。署名は復号に相当し検証は暗号化に相当するという対応により、デジタル署名は公開鍵暗号方式を踏まえて説明される事が多いが、これはデジタル署名を算出する唯一の方法ではない。
直接使われ、この種類の署名体系は存在的偽造への唯鍵攻撃に対して脆弱である。偽造文書を作り出すため、攻撃者は任意の署名σを取り出し、そしてその署名に対応する文書mを見つけ出すために検証処理を使用する。[14]しかしながら、実際にはこの種類の署名が直接使われる事は無い。もっと正確に言えば、署名されるその文書は、署名される短い要約を生成するために、最初にハッシュ化される。その結果、この偽造攻撃はσに対応するハッシュ関数の出力を生成するだけである。ハッシュ関数の出力は元の文書の有用性に繋がる物ではなく、攻撃を招く事にはならない。ランダム・オラクル・モデルでは、署名のこのhash-and-decrypt形式は、選択文書攻撃でさえ存在的偽造は不可能である。[7]
文書全体の代わりにそのようなハッシュ(またはメッセージ・ダイジェスト)に署名する幾つかの理由がある。
- 効率性: 一般的にハッシュを計算する事は実際に署名する事より遥かに速いので、署名は非常に短くなり従って時間を節約するようになる。
- 互換性: 文書は通常ビット列であるが、ある署名体系は他の分野で動作する(例えばRSAの場合、合成数Nを法とする)。ハッシュ関数は任意の入力を適切な形式へ変換する事に使う事ができる。
- 完全性: ハッシュ関数が無い場合は、"署名すべき"文章は、署名体系が直接作動するために、十分に小さい単位に分割されなければならないであろう。しかしながら、署名された部分の受信者は、全ての部分が適切な順番で存在しているかどうか、認識する事ができない。
- ^ US ESIGN Act of 2000
- ^ 日本国の電子署名及び認証業務に関する法律
- ^ The University of Virginia
- ^ State of WI
- ^ National Archives of Australia
- ^ "New Directions in Cryptography", IEEE Transactions on Information Theory, IT-22(6):644-654, Nov. 1976.
- ^ a b "Signature Schemes and Applications to Cryptographic Protocol Design", Anna Lysyanskaya, PhD thesis, MIT, 2002.
- ^ "A Method For Obtaining Digital Signatures and Public-Key Cryptosystems," Communications of the ACM, 21(2): 120-126, Feb. 1978.
- ^ "Constructing digital signatures from a one-way function.", Leslie Lamport, Technical Report CSL-98, SRI International, Oct. 1979.
- ^ "A certified digital signature", Ralph Merkle, In Gilles Brassard, ed., Advances in Cryptology -- CRYPTO '89, vol. 435 of Lecture Notes in Computer Science, pp. 218-238, Spring Verlag, 1990.
- ^ "Digitalized signatures as intractable as factorization." Michael O. Rabin, Technical Report MIT/LCS/TR-212, MIT Laboratory for Computer Science, Jan. 1979
- ^ S. Goldwasser, S. Micali, and R. Rivest. "A Digital Signature Scheme Secure Against Adaptive Chosen-Message Attacks". SIAM J. Computing 17(2): 281-308 (1988). Conference version published in 1984.
- ^ "A digital signature scheme secure against adaptive chosen-message attacks.", Shafi Goldwasser, Silvio Micali, and Ronald Rivest. SIAM Journal on Computing, 17(2):281-308, Apr. 1988.
- ^ "Modern Cryptography: Theory & Practice", Wenbo Mao, Prentice Hall Professional Technical Reference, New Jersey, 2004, pg. 308. ISBN 0-13-066943-1
- ^ (訳注: 鍵を使える状態にする事)
- ^ (訳注: 前文の「reduces the security of the scheme to that of the PIN system」の事か?)
- ^ (訳注: 物理的媒体であるICカードは複製する事が困難であるため、後述の「ソフトウェアだけで保護された秘密鍵」と異なり、秘密鍵が漏洩した事が物理的媒体の紛失という目に見える形で発見されるという事を意味していると思われる)
- ^ (訳注: 実行形式ファイル)
- ^ (訳注: ボブが実際に所有する公開鍵がボブに属するように)
- 1 デジタル署名の概要
- 2 デジタル署名の利点
- 3 幾つかのデジタル署名アルゴリズム
- 4 参考文献
- VNPT、デジタル署名サービスの提供開始VIETJO
デジタル署名に関係した商品
- 【送料無料】 XMLとWEBサービスのセキュリティ XMLデジタル署名と暗号化 サイバーセキュリティ・シリーズ / 丸山宏 【全集・双書】HMV ローソンホットステーション R
- 【中古】afb/技術、標準と法的問題デジタル署名ブックスーパーいとう楽天市場店
- 【送料無料】デジタル署名楽天ブックス