情報セキュリティを支える技術
インターネット上のデータは多くの機器を経由するため、盗み見や改ざんの危険があります。それでもネットショッピングやオンラインバンキングが安心して使えるのは、暗号技術が通信を守っているからです。この講義では、共通鍵暗号・公開鍵暗号・デジタル署名という中核技術を学びます。
情報セキュリティの3要素
情報セキュリティの目標は3つの要素で整理されます。①機密性(許可された人だけが情報にアクセスできる)、②完全性(情報が改ざんされず正確である)、③可用性(必要なときにいつでも使える)です。暗号化は主に機密性を、デジタル署名は完全性を支えます。
共通鍵暗号方式
共通鍵暗号方式は、暗号化と復号に同じ鍵を使う方式です(代表例: AES)。処理が高速という長所がある一方、通信相手に鍵をどうやって安全に渡すかという鍵配送問題があります。鍵をそのままネットワークで送れば盗まれる恐れがあるからです。また、n人が互いに秘密の通信をするには n(n−1)÷2 個もの鍵が必要になり、相手が増えると鍵の管理が大変になります。
公開鍵暗号方式
公開鍵暗号方式(代表例: RSA)は、公開鍵と秘密鍵のペアを使います。公開鍵で暗号化したデータは、対になる秘密鍵でしか復号できません。受信者は公開鍵を誰にでも公開し、送信者は受信者の公開鍵で暗号化して送ります。復号できるのは秘密鍵を持つ受信者本人だけなので、鍵を事前に秘密に受け渡す必要がなくなり、鍵配送問題が解決します。ただし処理は共通鍵方式より遅いという欠点があります。
実際のWeb通信(HTTPSの錠前マーク)では、まず公開鍵暗号で共通鍵を安全に受け渡し、その後の大量のデータは高速な共通鍵暗号でやり取りするハイブリッド方式(SSL/TLS)が使われています。
デジタル署名と電子証明書
公開鍵暗号の仕組みを逆向きに使うと、デジタル署名が実現できます。送信者が自分の秘密鍵で署名(データから作ったハッシュ値を暗号化)し、受信者が送信者の公開鍵で検証します。検証に成功すれば、①その署名は秘密鍵の持ち主本人が作った(なりすまし防止)、②内容が途中で書き換えられていない(改ざん検出)ことが確認できます。さらに「その公開鍵が本当に本人のものか」を第三者機関の認証局(CA)が保証する仕組みが電子証明書で、HTTPSの安全性の土台になっています。
- セキュリティの3要素は機密性・完全性・可用性。
- 共通鍵暗号: 同じ鍵で暗号化と復号。高速だが鍵配送問題がある。
- 公開鍵暗号: 受信者の公開鍵で暗号化、受信者の秘密鍵で復号。鍵配送問題を解決。
- SSL/TLS(HTTPS)は両方式を組み合わせたハイブリッド方式。
- デジタル署名は「秘密鍵で署名、公開鍵で検証」。なりすまし防止と改ざん検出ができる。
練習問題
- 10人が共通鍵暗号方式で互いに秘密の通信をする場合、必要な鍵は全部で何個か答えなさい。
- 公開鍵暗号方式でAさんがBさんに秘密のメッセージを送るとき、Aさんは「誰の」「どちらの鍵」で暗号化するか答えなさい。
- デジタル署名によって確認できることを2つ答えなさい。
解答・解説
- 解答:45個
解説:n人ではn(n−1)÷2個必要。10×9÷2=45個。公開鍵暗号なら各自が鍵ペアを持てばよいので10組で済み、管理がはるかに楽になる。 - 解答:Bさん(受信者)の公開鍵
解説:Bの公開鍵で暗号化すれば、対になるBの秘密鍵を持つB本人しか復号できない。自分の鍵ではなく「相手の公開鍵」を使う点に注意。 - 解答:①送信者が本人であること(なりすましがないこと)、②内容が途中で改ざんされていないこと
解説:署名は送信者の秘密鍵でしか作れないため本人性が、検証時にハッシュ値が一致することで完全性が確認できる。