Post date: Sep 4, 2016 3:01:54 AM
パスワードを使って暗号化する問題点
前回挙げた、ソフトを使って暗号化した場合、パスワードがランダムで長い文字数になればドンドン安全性は増していき、現実には全く解けないんじゃないか?というレベルまでなっていくと思われます。
しかし、ここに落とし穴があって、パスワードが難しくなればなるほど相手に伝えにくい。
相手に暗号化したデータをメールで送るのは正しいのですが、パスワードもメールで送っちゃうと結局パスワードを誰か見せたくない相手に読まれてしまうことだってある。どんなに長い難しいパスワードにしても意味がなくなりますよね。
そこで、相手にパスワードを電話で伝えたり、FAXで送ったり、手紙を出したりするのですが、そもそもそんなに長い難しいパスワードを手入力とか困難ですし、メールや通信の利便性もなくなります。
1970年代から続く鍵ペアーの話
インターネットの時間尺度から言えば大昔に発明された鍵ペアーという概念があります。これによって通信の安全性を図ろうというもので、コンピュータ世界の全体にこの考えは浸透していきましたが、ファイル暗号化の点ではすごく面倒なので一般家庭のメール・データのやり取りには受け入れられませんでした。以下その仕組みを簡単に説明してみます。
特殊な鍵を2個一組で作る。
あるソフトを使って1対の鍵を作ります。簡単に言うと2種類の長い長い化け物のように長いパスワードみたいなものと考えてください。(微妙ですが、まぁこんな感じでいいと思います。)
1対の内、片方を公開鍵(パブリックキー)、もう一方を秘密鍵(シークレットキー)といいます。この2つの鍵は必ず1対として使います。これを鍵ペアーと言います。
鍵ペアーは何個でも作れますが、ある公開鍵に対する秘密鍵は1個しかありません。逆も同様です。また、当然、片方の鍵のみの情報から他方の鍵は作れません。(現在のパソコンの性能では)
AさんがBさんにデータを暗号化して送る場合
BさんがAさんにデータを暗号化して送る場合。
そんな難しそうな理論が簡単に使えるソフトがあるのか?
Webページ
GPG4Win https://www.gpg4win.org/
GPG本家 https://www.gnupg.org/index.html
FileCapsule Deluxe Portable (窓の杜) http://forest.watch.impress.co.jp/library/software/fcdx/
実際の公開鍵の一例を示します。
GnuPGで実際に作成した公開鍵のサンプルです。文字通り、これを公開しておいて、自分に暗号データをよこす人はこれを使ってデータを暗号化します。
これに対する秘密鍵も同時に作成されます。(秘密鍵は絶対に公開してはならないものです。)
長い長い化け物のように長いパスワードみたいなものというのが解っていただけますでしょうか?
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2
mQENBFfL4+oBCADHgTVDoHuMig/Mk2+c4g1iESQuGXfyQpbwS8TPGT1KoVosB4iQ
WuMjuQna3l5T19iXu5bEyfF2n1DJAryReAnl08iSMw5dMn4IxaUnO54Vnm393cIe
BUSARj6LDNhI5m5k3+t4NTMBh3pjdmS648+67fwdlLgPyDraZHPpvPx2MTrj//++
iXT5FDEDn4FoI9GJuAoIuZz2NK1fxfMqzEWofmdrYiiCtcrW9t66WmFvDKDoHtuH
LO36PVWwwZLQlRnGw6F6QoMB2nIQsqXBPrAmsj8XnU9QyJeB2+vP0o9C0hkmchtL
TYp+0AsDLdrFu40LUFGmE4MD/Tv/zLRo2A0/ABEBAAG0M+OBteOBkOW3puihm+mW
gCAodGVzdCBzYW1wbGUpIDxmdWd1QGhvZ2Vob2dlLmxvY2FsPokBOQQTAQgAIwUC
V8vj6gIbAwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEJx3WBAZrpt+nIAH
+wSpJYMW5p/f5o8wapIM2/lnXW3zWY+Xp/tZkGF/W7fGq2aqRdgeawbtKFAwr4TJ
JAFsdR5i8VpKFUvYfT7vt+x/nGIHJSt/VYq+VtIM/hjRhkJr25th6oQW8aGaxwEV
tlhARf/ac5XSDJtzBTNDXslLX+CIhyaigtje1RqpQc2SlKWw6TxCOcZ38y62iaj9
WdFbIu5EEoEXyMJmfCARS4LB9WDnAEyI6BSfqeyrTX3j98+pEEt1FyHC0wTX1enX
LszEHOOEVZQbbpQ8ALDuhWDsfibqkdKS46bKF9UcyDO5MNEWQa9ZrwCULd44cFuE
KlLgNl8xP6ChChQWfTo4uQG5AQ0EV8vj6gEIALqFX7dwEPXRe25582u7ZR0mxR8z
lAuz1k74GFOiiPMDrHYtcE2ZC+5Alrult+QmWUpKfkklCRtC72pnNYRVLMhTJUqE
UHg9Imy8jjlvp8CFAkHC/pwsGVVIK29WYA18DJLB0id0mQYjqwXFPtWdoWcWv01g
HGwNb6oMqP16y1xIov27g01CioKX9xlomCRwXnzj+h+tkkY4JRti1/WuIW2L6NTj
GmGsQIvwei7EEIhg3bzd+UE6FxkB6Lqf7FaU4ANNFAevXUipx4DvvQ+rHH1/4NxT
ApVzRMcVudyks1id1iRGsIaZIrHOyZoxp0B8HexZAIwdFi8zOQlKQrfXRHcAEQEA
AYkBHwQYAQgACQUCV8vj6gIbDAAKCRCcd1gQGa6bfnLMB/4w6+VU/NvfteunUhYG
4CT+s6Svmm2bq1l6gMD6/lcUMggRX+ZCdcPqJCJ+jNAJYJQuwD4Tn/PK7Ozxib4G
trirAm9/DZ4Qy6ulYaqu0cEpkWzeIstAaNzPc2T3xm7ss4sBQwhhWtZLNHE8hfnu
6lrDVciVNhvRO60x8CkPBLKeCf3rYkQDpJezwe4JwXHY9p8izG4rWsy0UQFJ3oEi
zEPApHHbY9FtJUlPIAvw9UlZ8kHhDMtAaU7c0K8B6aVfIIuKHZ4IhmciuVF7uV/u
c42xX0tqwIi3ERdtVwhgjJv+jqyr/eik5TICq5VZ51dldfDGl+9r97J7PTDh9lqv
h4O6
=vkmG
-----END PGP PUBLIC KEY BLOCK-----
しかし、この方法で暗号化して、データをやり取りしても、まだ安全ではありません。
それは秘密鍵の管理がおろそかで、秘密鍵が他人にわたるようでは簡単に復号されてしまうからです。
つまるところ、人間のする管理の部分が最後のセキュリティーホールになるのでしょうね。
追記:
われわれの手には負えませんが、コンピュータの性能が限りなく上がると、この方式は安全ではないとのことです。