ここでは基本情報技術者試験の情報セキュリティの分野である暗号技術について説明していきます。
用語
- 暗号化:平文を暗号文に変換
- 復号:暗号文を平文に変換
- 共通鍵暗号方式:暗号化鍵と復号鍵は共通、暗号化と復号の処理が速い
- 公開鍵暗号方式:暗号化鍵と復号鍵は異なる、暗号化と復号の処理が遅い
- デジタル署名:送信者が本人か、電子文書が改ざんされていないかを確認
- ハッシュ関数:一部でも改ざんされると同じ文字列は作成されない
ネットワーク上の脅威とデータの暗号化
ネットワークの世界では不特定多数のサーバを経由してデータが送受信されており、データが送信者から受信者へ届けられるまでには以下のような脅威があります。
- 盗聴:第三者が送信者から受信者へ送信されたデータを盗み取る
- なりすまし:第三者が送信者を装って受信者へデータを送信する
- 改ざん:第三者が送信者から受信者へ送信されたデータを書き換える
盗聴の対策の一つに暗号化というものがあり、人が容易に解読できる平文を暗号化プログラムと暗号化鍵を使い、容易に解読できない暗号文に変換することです。逆に復号は復号化プログラムと復号鍵を使い、暗号文を再び元の平文に戻すことです。また、暗号方式には共通鍵暗号方式と公開鍵暗号方式があります。
共通鍵暗号方式
共通鍵暗号方式とは暗号化鍵と復号鍵が共通の暗号方式であり、送信者は共通の秘密鍵で暗号化し、受信者も同じ共通の秘密鍵で復号します。暗号化鍵が盗まれるとその鍵で復号ができてしまうので、秘密に管理しておくという意味合いで秘密鍵暗号方式とも呼ばれることがあります。
共通鍵暗号方式の特徴は以下になります。
- 第三者に知られることなく、安全に通信相手に鍵を配布する必要がある
- 通信相手ごとに鍵を作成する必要があるため、鍵の管理が煩雑になる
- 暗号化や復号の処理にかかる負担が少なく、公開鍵暗号方式に比べて処理が速い
代表的な共通鍵暗号方式には脆弱性が指摘されたDESにかわり、米国の次世代暗号方式として規格されたAES(Advanced Encryption Standard)があり、AESは無線LANの暗号化規格であるWPA2で使われています。
公開鍵暗号方式
公開鍵暗号方式は暗号化鍵と復号鍵が異なる暗号化鍵であり、送信者は受信者の公開鍵で暗号化し、受信者は対の受信者の秘密鍵で復号します。公開鍵で暗号化した暗号文で対の本人だけが保持している秘密鍵でしか復号できないため、一方の鍵を公開しても大丈夫ということです。
公開鍵暗号方式の特徴は以下になります。
- 一方の鍵を公開するために鍵の配布や管理が容易
- 暗号化や復号の処理にかかる負担が大きく共通鍵暗号方式に比べて処理が遅い
代表的な公開鍵暗号方式には非常に大きな数を素因数分解することが困難なことを利用したRSA、それより短い鍵長で同等の安全性を提供できる楕円曲線暗号があります。
デジタル署名
なりすましや改ざんの対策としてデジタル署名があり、送信者が本人であるかを受信者が確認できるのと同時に電子文書の内容が改ざんされていないことを受信者が確認できる仕組みで、電子署名とも呼ばれています。デジタル署名は送信者の秘密鍵で暗号化し、対となる送信者の公開鍵で復号します。
また、具体的なデジタル署名の流れが以下になります。
送信者側の処理:
- 電子文書からハッシュ関数を使用して文字列を作成する
- 作成した文字列を送信者の秘密鍵で暗号化してデジタル署名を作成する
- 電子文書に暗号化したデジタル署名を付加して送信する
送信者側の処理:
- 電子文書から送信者と同じハッシュ関数を使用して文字列を作成する
- デジタル署名を送信者の公開鍵で復号する(送信者が本人であることを確認)
- 上記2つで得られた文字列を比較して同一である(電子文書の内容は改ざんされていないことを確認)
ハッシュ関数:ハッシュ関数を使用して電子文書から文字列を作成することをハッシュ化といい、同じ電子文書をハッシュ化すると常に同じ文字列が作成されますが、一部でも改ざんされていると同じ文字列は作成されません。そのため、電子文書が改ざんされていないかを確認するために用いられます。また、ハッシュ関数は一方向関数ですので、作成された文字列から元の電子文書を推測、復元はできません。
デジタル署名はOSやアプリケーションなどが改ざんされていないかの検証にも使用されており、PCの起動時にOSなどの署名を確認することでOS起動前のマルウェア実行を防ぐセキュアブートなどの技術があります。また、公開鍵と秘密鍵、デジタル署名の生成やハッシュ値の計算、暗号処理などを行うPCなどに組み込まれたセキュリティチップのことをTPM(Trusted Platform Module)といいます。
まとめ
以上が基本情報技術者試験の情報セキュリティの分野である暗号技術について説明でした。共通鍵暗号方式や公開鍵暗号方式、デジタル署名は混同することがありますので、それぞれ間違えないように覚えておきましょう。次回は認証技術についてまとめようと思います。
コメント