暗号化と復号化

基本的にインターネット通信はデータを裸(平文)のままやり取りしています。例えば送り側が「あいうえお」と送れば受け取り側に届くまでの全ての経路上で「あいうえお」と読める訳です。
そして、この通信は覗こうと思えば至って簡単に覗けてしまうモノなのです。
特に昨今のインターネット社会では、単なる文書情報以外にカード決済や金融取引・企業間取引等にも利用され、もし平文のまま通信を行った場合、悪意を持ってこの通信を傍受・悪用する人間が続々と発生することでしょう。そこで、この平文の通信を暗号化して簡単に傍受できないようにする必要性がある訳です。しかし、単に暗号化するだけでは、インターネットセキュリティを考えた上でのリスクを回避する事は出来ないのです。
セキュリティ的に問題となるリスクについて
- 傍受・盗聴 − 通信経路上を監視する事で、通信内容を取得・悪用される。
- 改竄 − 通信経路の途中で悪意ある者によって通信内容が書き換えられてしまう。
- 成りすまし − 通信主体を悪意ある第三者が不正に騙り偽の通信を行う。
- 否認 − 通信経路上に改竄・成りすましの可能性が存在している場合、これを理由として通信主体がその通信内容について拒否や否認する事を可能にしてしまう。
以上を踏まえ、通信した結果について何らかの責務が発生する場合、これらのリスクを全て排除しなくてはならない事になります。つまりインターネットで取引や重要な情報のやり取りを行う為には、このリスクを排除する事が最大の前提条件となる訳です。
現実社会のように料金を受取ったら領収書を発行する、受領印やサインをする、相手の顔や挙動を確認する等と同等な事をEnd to Endなインターネット環境の中で実現しなければなりません。そこで活躍するのが公開鍵暗号と言う事になります。
共通鍵暗号(秘密鍵暗号)

共通鍵暗号(秘密鍵暗号)は暗号化・復号化の為に双方向で全く同一な鍵を使用する暗号化方式です。
そのため第三者に鍵が流出してしまうと暗号化の意味がなくなってしまいます。また、通信の相手ごとに鍵を生成する必要が為、鍵の受け渡し手段と生成された多くの鍵の管理が非常に重要なポイントとなります。そういった理由からも不特定多数との通信に用いるには不向きな暗号化方式といえます。しかしながら暗号化・復号の演算処理は早いためサーバのスペック等は比較的に考慮せずに利用可能です。主に公開鍵暗号が考案された1970年代中盤までは一般的にこの方式で暗号化が行われていました。
公開鍵暗号

公開鍵暗号は、秘密鍵と公開鍵の鍵ペアによる暗号化・復号を行う方式で、公開鍵で暗号化したものは秘密鍵でのみ復号可能で、秘密鍵で暗号化したものは公開鍵でのみ復号できる暗号化方式です。
一般的には通信を行う双方で相手の公開鍵を持ち合い、その公開鍵で暗号化しデータのやり取りを行います。受け取った暗号データは自らの秘密鍵で復号化する為、秘密鍵は一切外部に出す必要がありません。
又、自らの秘密鍵を使って署名を行う事で、暗号化したデータが確実に自分が送信するデータであることを秘密鍵によって確認してもらう事を可能にします。
これらの特徴から公開鍵暗号は、鍵の配布と管理、不特定多数の相手との通信を安全で確実に行える優れた暗号化方式であり、その高いセキュリティ環境の構築を可能にする公開鍵暗号はPKIとして様々な分野で利用されています。
その反面、暗号化・復号の演算処理に時間がかかる為、相当なアクセスが集中するサーバ等ではスペックや環境に注意する必要があると言えます。
PKIについて−(Public Key Infrastructure)
PKIとは公開鍵暗号を利用した電子認証の為のインフラの事で、Public Key Infrastructure(公開鍵暗号基盤)の略です。主に公開鍵暗号技術とそれを利用したデジタル証明書、更にデジタル証明書を発行する信頼性の高い認証局と証明書を効率よく管理・配布する機関・組織等から構成されます。
PKIはSSLやS/MIME等の暗号化や署名を行う仕組みの一部として使用されたり、最近では電子政府等で使用する印鑑の代わりとしてデジタル証明書が利用されたりしています。