2016.08.10 システム
メールの暗号化と復号化
システムエンジニアの大貫です。
前回はメールの暗号化について触れて、通常平文でやりとりされているメールですが
マリンロードで進めているレンタルサーバでは暗号化がされているというお話をしました。
今回は、どのように暗号化されたメールがやり取りされているか
記載したいと思います。
メール送信時の暗号化と複合化の基本的な流れは以下の通りです。
<メール送信の流れ>
①[メール送信側]送信先のメールサーバの公開鍵を取得。
②[メール送信側]公開鍵を元に、メールを暗号化し、メール送信。
③[メール受信側]暗号化されたメールを、秘密鍵で復元。
通信中には、公開鍵と暗号化されたメールしかやり取りされていないので、
通信の途中で、悪意のある人に傍受されたとしても、
暗号化されたメールは読めないですし、公開鍵では復元は出来ないので
情報の漏えいは防げるというものです。
これは、「公開鍵暗号化方式」という一般的なものですが、その他にも
「暗号化と復号化」を同じ鍵で行う「共通鍵暗号化方式」という方式も
あります。
「共通鍵暗号化方式」とは、お互いが「共通鍵」を持っている前提で
ネットワーク上では、暗号化されたデータ以外はやり取りしないという方式で、
仕組みが単純なので、処理が速いという利点と、鍵が漏れなければ
復元しにくいというメリットもあります。
ただし、不特定多数の人とやり取りをするには向かない方式だとも言えます。
メールも、Webも不特定多数の人とやり取りをすることが多いので
「公開鍵暗号化方式」が取られますが、「公開鍵暗号化方式」は、
処理が複雑で復号化に時間がかかるというデメリットもあります。
そこで、「公開鍵暗号方式」と「共通鍵暗号方式」を組み合わせた
「ハイブリット暗号方式」にて、結果的には通信を行っていることになります。
<メール送信の流れ>
①[メール送信側]送信先のメールサーバの公開鍵を取得。
②[メール送信側]公開鍵を元に、共通鍵を暗号化し、送信。
③[メール受信側]暗号化された共通鍵を、秘密鍵で復元。
④[メール送信側]共通鍵で暗号化されたメールをやり取り。
基本的にサイトのSSL通信も同じ仕組みで成り立っており、
ネットワーク上でやり取りされているデータも
公開鍵と暗号化された共通鍵、暗号化されたメールだけですので
これであれば、ネットワーク越しに情報が漏えいしても
データが復元される恐れはなく、通信も早くなるということになります。
これで、情報漏えいする危険性もなく問題がなさそうな暗号化メールのやり取りですが
実は、まだまだ問題があります。
それは、「受信側に成りすまして、公開鍵と秘密鍵を作ったらどうなるでしょうか?」
または、「受信した側は、本当の相手からメールが届いたか判断できるでしょうか?」
次回以降で、こちらの技術についても触れていきたいと思います。
サイトやメールなど、セキュリティに不安がございましたらマリンロードへ是非ご相談ください。