Web教材一覧情報倫理・セキュリティ

共通鍵暗号方式(秘密鍵暗号方式)

キーワード

共通鍵暗号方式、秘密鍵暗号方式、DES、AES


共通鍵暗号方式とは

ドアの鍵との比較で考えます。通常の鍵はドアを閉める鍵(暗号鍵)と開く鍵(復号鍵)とは同じ(合鍵はあるにせよ)ですね。それと同様に,暗号電文を交換するには,送信者と受信者人が同じ数字列(鍵)を持っていればよいことになります。
 この方式は、送信者と受信者が同じ(共通の)鍵を持つのが特徴ですので共通鍵暗号方式といいます(鍵を第三者に秘密にすることから秘密鍵暗号方式ともいいますが、公開鍵暗号方式での秘密鍵と混同されやすいので、「共通鍵暗号方式」が広く用いられるようになりました)。

共通鍵暗号方式

代表的な共通鍵暗号方式

従来はDES(Data Encryption Standard)が広く用いられていました。しかし、コンピュータ能力の向上により解読されるようになり、より強固なトリプルDESやIDEA(International Data Encryption Algorithm)などが作られました。
 現在ではNIST(National Institute of Standards and Technology:米標準技術局)によるAES(Advanced Encryption Standard)が主流です。AESの鍵長は128/192/256bitの3種類があり、シンプルな構造で暗号化/復号化処理の高速実行ができ、しかも強固な暗号化ができる特徴をもっています。
 KCipher-2は、KDDIと九州大学が共同設計したもので、AESと比べて最大10倍の暗号化・復号速度があり、電子政府推奨暗号に選定されました。

共通鍵暗号方式の特徴

共通鍵暗号方式は、公開鍵暗号方式と比較して暗号化や復号の処理が高速であるという利点があり、当事者が限定されている場合には適していますが、当事者が多数の場合、特に電子商取引のような場合では次のような欠点があり,特殊な場合を除いてはこのままで用いることはほとんどありません。

鍵交換でのセキュリティ
鍵を相手に知らせる必要がありますが、第三者に知られてはなりません。電子メールで鍵の交換をするのでは,そのメールを交換するときに第三者に漏洩する危険性があります。だからといって,鍵を郵便やFAXで送るのではインターネットで取引をすることの一貫性が失われます(注:DH)。
鍵管理が困難
暗号交換をする相手ごとに異なる鍵を持つことになります。n人が、それぞれ2人の間で共通鍵暗号方式で暗号文を交換する場合には、
    =n(n-1)/2組
の鍵が必要になります(n=100人の間では100×99/2=4950組)。

 各人がn-1個の鍵をもつ必要があり、しかも、それを第三者に秘密にしておく必要があります。
 これでは、nが多くなると鍵の管理が困難になります。不特定多数を対象にする電子商取引では、深刻な問題になります。

(注)DH(Diffie-Hellman)鍵交換方式

秘密鍵を安全に送受信するための鍵交換方式です。秘密鍵そのものではなく、乱数と秘密鍵から生成した配送鍵を送受信します。離散対数問題という数学の困難さに依存したアルゴリズムを用いており、第三者が配送鍵を知っても、秘密鍵を知ることが困難になります。

共通鍵暗号方式の実装

共通鍵暗号方式を実際に適用する方法に、ブロック暗号とストリーム暗号があります。

ブロック暗号(Block Cipher)

平文を特定長さ(AESでは128・192・256bit)のブロックに分割し、ブロックごとに暗号化する方式です。

ストリーム暗号(Stream Cipher)

平文の1ビットまたは1バイトごとに暗号化する方法です。乱数を発生させて、その乱数を元にデータを端から暗号化していきます。
ブロック暗号は一定量のデータが溜まらなければ処理できませんが、ストリーム暗号なら逐次処理できるので、リアルタイム性が求められる通信に適しているのが特徴です。ただし、安全性の検証はブロック暗号のほうが進んでいます。


本シリーズの目次へ