安全なデータ交換
(2021/2/7)
秘密のデータを他人に送るとき、圧縮しつつパスワードをつけたZipファイルとパスワードを2通のメールで送るという謎の手法が最近よく使われており、「PPAP」と呼ばれて馬鹿にされている。
Passwordつきzip暗号化ファイルを送ります
Passwordを送ります
Aん号化(暗号化)
Protocol
PPAPは以下のように問題が多い。
暗号化されたデータと暗号化パスワードを同じ経路で同時に送るのでは暗号化の意味がない
関係ない人に送ってしまう可能性がある
暗号化されたzipファイルでもファイル名は読める
パスワードが短い場合zipファイルの解読は難しくない
メールを2通使うのは送信も受信も面倒臭い
ではどうするのが良いのだろうか? 秘密ファイルを送るためには以下のような要件が重要だと思う。
安全であること
誰でも簡単に気軽に使えること
特定サービスに依存しないこと
安全に通信するには公開鍵暗号を使うのが良いと思われる。公開鍵を持ってない相手に間違って送ってしまう可能性は少ないし、送ってしまっても復号できないから問題ない。公開鍵暗号を利用できるメーラなどは昔から存在するが、たぶんインストールや使い方が面倒なので誰も使っていないようである。
というわけで、1~3 をすべて満足する「/Enigmize」というサービスを作ってみたのだが、あんまりウケていない。
http://Enigmize.comを使うととても簡単に安全に秘密データを送ることができる。Enigmize.com に依存するという問題はあるが、手法自体は公開しているのでインタフェースを変えるのは簡単である。前述の座談会では、専用の業務システムを使うか「認証連携ファイルアクセス制御」つきのクラウドストレージを使えば良いと言っているが、ちょっとしたやりとりにそういう特殊なシステムを導入したり使ったりするのはハードルが高い。Slackなどを使う方法も提案されているが、一度しか情報をやりとりしないような相手とSlackで通信するのは嫌かもしれない。Enigmize.comを使う方が便利だと思うのだがどうだろう?
崎村:認証連携ファイルアクセス制御は,アクセスを許す相手の属性(通常はメールアドレスなど)を指定して,当該ファイルへのアクセス制御を行う仕組みです.それでそのファイルへのリンクをメールやチャットなどで送る.これが海外で割とメインストリームになってきているのかなという気がします.
崎村:大体,出揃いました.議論に出た「より良い方式」をまとめますと,まず第1 に,できるだけ通常のメールを使うのはやめる.通常の業務は汎用メールクライアントを使うのではなく,CRM,EDI(Electronic Data Interchange),電子契約システムなどの業務システムを使って行う.これらがSMTP を使う場合にはTLS を強制する.
非定形のコミュニケーションは,お互いに認証されているSlackやTeamsなどの「ビジネスチャット」を使う.ファイルはこの上で送るか,「認証連携ファイルアクセス制御」の効いているクラウドストレージを使う.そんなところでしょうか.
楠:この辺に落ち着く気しかしないですね.
#ブログ 2021/2/7