【セキュリティ】共通鍵暗号方式を簡単に理解する

IT

情報通信においてセキュリティは必須です。セキュリティがきちんとなされていない状態で通信をすると、見ず知らずの第三者に情報が筒抜けになり、盗聴や改ざんの被害にあう恐れがあります。

セキュリティを担保するには様々な方法がありますが、その中でも基本の技術と言えば暗号技術です。

今回は、暗号技術の中でも「共通鍵暗号方式」について、その特徴を紹介していきます。

この内容は、基本情報技術者試験や応用情報技術者試験でも問われる内容なので、その辺りの理解を深められるようにまとめていければと思います^^

原理

共通鍵暗号方式では、その名の通り暗号化と復号化に同じ鍵を用います。この方式では、送信者と受信者で同じ鍵を共有します。

送信者は、暗号化されていない平文(ひらぶん)を共通鍵で暗号化します。そして、暗号文と共通鍵を受信者に渡します。受信者は、受け取った共通鍵で暗号文を解読(復号)します。

共通鍵暗号方式の概念

特徴

共通鍵暗号方式の特徴はとして、以下のような点が挙げられます。

  • 公開鍵暗号方式と比較して処理が高速
  • 利用者が増えるほど鍵の管理が煩雑になる
  • 鍵の受け渡しに注意を要する

処理が高速

共通鍵暗号方式は、公開鍵暗号方式等と比較して暗号化や複合に要する時間が短い点が特徴です。これは、暗号化のロジックが公開鍵暗号方式と比較してシンプルだからです。

処理時間が短いことで、大量のデータの暗号化や複合に適しています。

一方で、暗号化のロジックがシンプルということは、解読されやすいという側面も持ちます。

利用者が増えるほど鍵の管理が煩雑になる

共通鍵暗号方式は送信者と受信者で同じ鍵を共有しますが、その鍵はその2人の間でしか使うことができません

なので、2人の間でやり取りするときは1個の鍵で済みますが、3人の間となると3個、4人だと6個、20人だと190個の鍵が必要になってしまいます。

利用者が増えるほど鍵の管理が煩雑になる
利用者が増えるほど鍵の管理が大変に!

必要な鍵の種類は、利用者がn人いたとすると、

n(n-1) / 2 種類

必要になります。つまり、人数が増えるにつれ指数関数的に鍵の種類が必要になってきます。

鍵の受け渡しに注意を要する

共通鍵暗号方式では送信者と受信者で共通の鍵を使うので、送信者は暗号化に用いた鍵を何らかの形でえ受信者に教える必要があります。

ここがこの方式の最大の弱点でもあります。

例えば、鍵の受け渡しを第三者に盗聴されたら、暗号化したデータも簡単に解読されてしまいます。なので、安全な経路を確保して鍵の受け渡しを行う必要があります

一方、鍵を安全に受け渡すことができる経路があるのなら、データ自体もその経路で送れば暗号化しなくていいのでは?というジレンマにはまってしまいます。

こうした弱点を克服すべく、公開鍵暗号方式と組み合わせたセッション鍵方式が生まれました。

公開鍵暗号方式やセッション鍵暗号方式については、別記事で紹介します。

代表的な共通鍵暗号方式

共通鍵暗号方式で最も代表的な暗号方式にAESがあります。AESは、Advanced Encryption Standard(高度暗号化標準)の略で、米国政府が政府内標準として策定した暗号化規格です。

データを特定の長さ(ブロック)に区切って処理を行う「ブロック暗号」の一種で、高い強度を持ちながらも暗号化/復号化処理を高速に行えるのが特徴です。

無線LANのセキュリティ方式であるWPA2は、このAESを用いて暗号化を行っています。

まとめ

共通鍵暗号方式の原理や特徴を紹介してきました。処理が高速な一方、安全性の担保が難しい場合もあるのがこの方式の特徴でした。

別記事で紹介する公開鍵暗号方式や、それと共通鍵暗号方式を組み合わせたセッション鍵暗号方式についても理解することができれば、セキュリティに関する基本的なところは押さえられるのではないかと思います。

ではでは👋