No122 メール添付書類のセキュリティ対策 その2

このNoteは私が主宰しているメルマガ「がんばりすぎないセキュリティ」のバックナンバーです。
このNoteは2019年8月26日に配信した内容です。

メールに重要な書類(ほかの人に見られたくない書類)を添付する
場合、ZIP方式による暗号化を施すことが一般的に行われています。

ですが、この方式にはセキュリティ対策として考えると、いくつか
の問題があります。

1.パスワード(暗号鍵)を安全に渡すのが難しい
2.ファイル名は暗号化されない
3.パスワードなしでファイルを入れ替えできる

暗号化ZIPという形式と、パスワードを渡すことが難しい点に
ついては前回解説をしました。
今回は残りの2点を解説をします。

目次

1. ファイル名は暗号化されない
2. パスワードなしでファイルを入れ替えできる
3. 送付されてきたファイルの内容は?
4. ZIPファイルを解凍するソフトの動作


1. ファイル名は暗号化されない

ZIP形式は最初に書いたようにデータサイズを小さくする(圧縮)
ことを目的に開発されました。
こういったプログラムのことを圧縮・解凍ソフトやアーカイバ
(書庫管理ソフト)と呼びます。
Lhaplus、Lhasa、7-zipといったところがよく知られています。

ちなみに、圧縮の反対語(元に戻すこと)は伸長ですが、習慣
的に「解凍」と呼ばれます。

そして、アーカイバと呼ばれるソフトには必ずといっていいほど
複数のファイルを1つのファイルにまとめる機能があります。
(だから「書庫管理」なんですね)

もともと複数のファイルなのですから、各ファイルの情報を持って
おかないと元に戻せません。
そこで、暗号化ZIPファイル内には持っているファイルのサイズ、
ファイル名、作成日時、作成者といった情報を保持し、解凍(元に
戻すこと)するときにはそれを見ながら処理を行います。
ですが、ファイル名や作成者の情報は暗号化されていません。
つまり、その暗号化ZIPファイルに何という名前のどんなサイズの
ファイルがいくつ入っているのか?といった情報は保護されないの
です。
これは暗号化ZIPファイルのデータ構造上避けられません。

どうしてもこれを回避したいというなら方法はあります。が、面倒
です。
具体的には2重に暗号化します。
つまり、
1)秘密.docx を変換し暗号化ZIPファイル(例えばA.ZIP)を作る
2)そのA.ZIP を変換し別の暗号化ZIPファイル(B.ZIP)を作る
の2段階を踏めばよいのです。

B.ZIPの中身を見れば、A.ZIPがあることはわかりますが、
そのA.ZIPの中に 秘密.docx が入っていることはわかりません。

ところでファイル名くらい知られても問題ないんじゃ?と考えそう
なものですが、意外に大事な情報です。

暗号化ZIPファイルに入っているファイル名が「秋のリクリエー
ション大会.docx」であるとわかれば、労力をかけてまでパスワード
など探さないでしょう。
逆に「厳秘-新製品の成分分析結果.xlsx」とか「時期製品のプロ
モーション戦略.pptx」であれば、パスワードを見つけたくなる
かもしれません。

もっとも、通常はここまで神経質にならなくても大丈夫です。
ただ「暗号化ZIP形式ではファイル名を暗号化できない」ってこと
は知識として知っておいてください。


2. パスワードなしでファイルを入れ替えできる

前述の通り、1つの暗号化ZIPファイルには、複数のファイルが収納
できます。
当然ながら、ZIPファイルを作った後にファイルを追加したり削除
したりといったことも可能です。

これを悪用するとZIPファイルを改ざんできます。
しかも、パスワードはそのままでファイルの入れ替えができてしまう
ケースがあるのです。

例として、AさんがファイルαをBさんに送ろうとしているところ
を悪者のCさんが添付ファイルを変更してBさんをだまそうとする
場合を見てみましょう。

1)Aさんはファイルαを暗号化ZIP形式のファイル(ファイルβ)
  を作ります。
2)Aさんはファイルβを添付したメールをBさんに送ります。
3)Aさんは(前回のメルマガで書いたように)パスワードを電話
  で伝えます。
4)Cさんはそのメールを傍受しましたが、パスワードは電話経由
  で行われたため、知ることができません。
5)Cさんはパスワードがわからないので、ファイルαの内容は
  読めません。そこで架空の内容を書いたファイルαのニセモノ
  ファイルα’(ダッシュ)を作りました。
6)Cさんは暗号化ZIP形式のファイルβにファイルα’を追加し
  ます。追加された暗号化ZIPファイルをβ’(ダッシュ)とし
  ます。
7)CさんはAさんを騙ってメールを送ります。
  本文には「先ほどのメールは間違いです。こちらに差し替えて
  ください」と書き、ファイルβ’を添付します。
8)Bさんは、2通のメールを受け取ります。
  いずれもAさんから来たと思い、1通目を廃棄し、2通目の
  内容を信じました。


3. 送付されてきたファイルの内容は?

さて、送られてきた2通のメールの内容を見てみましょう。

Aさんが送ったファイルβには以下の情報が入っています。
 1: ファイルα(暗号化したもの)

Cさんが送ったファイルβ’には以下の情報が入っています。
 1: ファイルα(暗号化したもの)
 2: ファイルα’(Cさんが改ざんしたもの)

Aさんが送ったファイルβには1つのファイルだけが入っている
のに対して、Cさんが送ったファイルβ’は2つのファイルが
入っている点に注目です。


4. ZIPファイルを解凍するソフトの動作

Bさんは、1通目を廃棄し、2通目についてきたファイルβ’を
解凍します。
勘のよい方はお気づきでしょうが、驚くべき結果になります。

ZIPファイルの解凍ソフトになったつもりで追いかけてみましょう。

ソフトはファイルβ’に入っているファイルが2つであることを
把握します。一つはAさんが作ったファイルα、もう一つはCさん
が作ったファイルα’です。
この2つを、追加された(ファイルα→ファイルα’)の順に処理
します。

最初はAさんが作ったファイルαです。
ファイルαを戻そうとすると、暗号化されていますので、利用者に
パスワードを聞きます。Bさんは電話で聞いたパスワードを入れ
ます。
これで、ファイルαは無事復号(暗号化を元に戻すこと)できま
した。

続けて、Cさんが追加したファイルα’を解凍します。
このファイルα’は暗号化されていないので、パスワードは不要
です。
そのまま解凍しようとしますが、ファイル名が上で解凍したαと
同じなので仕方なく、直前に作成したファイルαを上書きして、
ファイルα’を復号します。

結果はどうなるでしょうか?

Aさんが作ったファイルαはなくなり、Cさんが作ったファイルα’
ができます。処理した結果だけを見ると、Aさんがファイルα’を
作ったとしかわかりません。(まさか同じ名前のファイルが2つも
入っているとはわかるはずがありません)

驚いたことに、Cさんがパスワードを全く知らないにも関わらず、
パスワードで保護したはずのファイルを変更できてしまっています。

Bさんは、パスワードで保護されているファイルにまさかニセモノ
の情報が混ざっているとは思いもよらないでしょう。

これがたわいもない情報ならよいのですが、重要な情報、例えば
取引口座の情報だったらどうなるでしょうか?
Bさんはきっとファイルα’に書いてある口座番号を信用して
入金をし、月末になってAさんから入金がされていないことを
指摘され、初めて騙されたことに気づくでしょう。

その時には犯人であるCさんはそのお金を引き出して消え去った
後で、Cさんが捕まる可能性は非常に低いでしょう。

では、こんなのを回避するはどうすればよいのでしょうか?

とイイトコロで恐縮ですが、長くなってきたため今回はここまでと
します。
次回は、この対策について解説をします。
みなさんもどういった対策が有効か考えてみてください。

次回もお楽しみに。

いいなと思ったら応援しよう!