共通鍵暗号方式
共通鍵暗号方式は、コンピュータシステムの初期段階から用いられてきた暗号化方式で、 暗号化と復号に同一の鍵 (共通鍵=秘密鍵)を用いる点が特徴である。
互いの鍵が同一であることは暗号システムの負荷を軽減する。したがって、共通鍵暗号方式では暗号化処理に必要なCPU資源や時間を節約することができる。
共通鍵暗号方式のしくみ
共通鍵暗号方式では、送信者と受信者が同じ秘密鍵をもっている。 共通鍵暗号方式でシステムを構築する際の重要な留意点は、この鍵の配布である。
秘密鍵は送信側、受信側どちらで作成しても構わないが、 通信相手に伝達しなければ利用できない。 秘密鍵をメールなどで配布するとそれ自体に盗聴の危険が発生するし、郵送は処理時間がネックになる。
秘密鍵の管理鍵数
共通鍵暗号方式では通信のペアごとに異なる鍵を用意なければならない。
例えば、鍵Aと鍵Bに同じ鍵を使用すると、他のペア(Aから見たB-Cペアなど) の通信を解読できるため、盗聴のリスクが発生する。
このため、n人が参加するネットワークで相互に通信する場合、n(n-1)/2個の鍵が必要になる。
共通鍵暗号方式の実装技術
共通鍵暗号方式の中でもさまざまな実装方式がある。ここでは、それぞれの方式の特徴を示す。
DES
秘密鍵暗号方式で最も代表的な暗号化方式である。 IBM が開発し1977年にNIST(アメリカ国立標準技術研究所)が標準暗号として採用したことから普及した。
DESでは平文を64ビットごとのブロックに分割して転置と換字を行う。
ブロックに分割された平文は、ブロック内でさらに 32ビットごとに分割され、転置、換字など複雑な処理を16回繰り返す。
この手順がブロックごとに反復され、平文全体が暗号化される。
鍵の数
DESは秘密鍵として56ビットのデータ列を用いる。鍵長は、合計64ビットのデータが入力されるが、そのうち8ビットはパリティチェック(エラー検出)用であり、実際の暗号化・復号に利用される実質的な鍵の長さは56ビットとなる。
この場合、鍵のバリエーションは2の56乗=約7京である。 DESが開発された当初はこれを現実的な時間内にすべて試すことは不可能だったが、CPUパワーが飛躍的に向上すると総当たりによる解読速度は短縮される。現在ではDES用に特化させた解読マシンを用いれば数十時間で解読が可能だといわれている。 このように、技術の進歩により暗号強度が低下してしまうことを危殆化という。 NISTはDESにかわる新たな暗号化方式としてAESの仕様を定めている。
TripleDES
DESの脆弱性が次第に指摘されるようになったことを受けて開発された暗号化方式である。
DESの暗号化アルゴリズムをそのまま利用し、鍵を二つ用意して暗号化、復号、暗号化という手順を踏む。
結果的にTripleDESを解読するためには二つのDES鍵と、48回の暗号化処理を復元しなければならず暗号解読の難易度を上げている。
ただし、暗号アルゴリズム的な弱点はDESのそれをそのまま引き継いでいるため注意が必要である。
AES
NISTがDESにかわる次世代暗号化方式として採択した標準である。公募によって定められた。
AESもDESと同様のブロック化暗号方式だが、ブロック長、鍵長ともに128ビット、192ビット、256ビットの中から任意に設定でき、仕様的にはさらに長いビット長も利用可能である。
また、DESと比較して処理効率がよいので、少ないメモリのマシンでもサポートできる特徴がある。
秘密鍵の管理
秘密鍵の管理は原則として、利用するユーザ本人に任されるべきである。プライバシー保護の観点、あるいはデジタル署名を利用する場合の真正性の確保に大きく関わってくるからである。 しかし、ユーザのセキュリティリテラシーが低いと、秘密鍵の管理を任せきれないケースがある。 特に問題になるのが鍵の紛失である。秘密鍵を紛失するとすべての暗号化データが復号できなくなり、業務継続に大きな障害となる。
本来であれば十分なリテラシー教育を行い、ユーザの知識水準を底上げするべきだが、その段階までの対応としてセキュリティ管理部門(システム部門)がバックアップ等の鍵管理を一括代行するのはある程度容認しなければならないだろう。
その場合でも、1人の管理者がすべての鍵をコントロールするのではなく、複数の管理者が相互監視しながら鍵管理業務を遂行することで、人的なセキュリティインシデントが発生するリスクを軽減できる。
(参考)令和08年 情報セキュリティマネジメント 合格教本 岡嶋 裕史(著)技術評論社



コメント