送信した時 「1」「2」の添付ファイルについて、その中身が盗み見られる可能性はどう違うのでしょうか?
メールを盗んだ場合…
EXCELの場合はパスワードが分からなくても 中身を解読できる (暗号化をしてないから)
AES256の場合はパスワードが分からなくても 中身を解読しにくい(暗号化が強いから)
という理解で正しいでしょうか?
であれば、つまりパスワード付与はメールが誤送された場合にのみ効いていることになるのでしょうか?(暗号化されたファイルのパスワードの解読については、まず暗号化が解けてからその次にパスフレーズの解読が必要になる…ということでしょうか?)
的外れな質問になってしまっていたら申し訳ありません。
よろしくお願い致します。
他の質問を見てても,暗号化をちょっと誤解されているかな,と思う面があるので,簡単な解説もつけておきます
まず,暗号化には,アルゴリズムと鍵,という要素があります.暗号化の強度を決めるのは,アルゴリズムと鍵とそれを扱う人間の行動の3点がメインの要素です
例えば,アルゴリズムの比較,例えば,zipの暗号化と,AES256 のどちらが強度が高いでしょうか?という質問は,アルゴリズム以外の,鍵と行動が同じという前提であれば,zip < AES256 という回答ができます
しかし,例えば zip の暗号化では,鍵はしっかりした鍵長があり,辞書アタックにも耐えられ,かつしかるべき手段で取り扱われている状況と,AES256 の暗号化だけど,鍵は辞書に載った簡単な短い文字列で,その鍵はメイル本文に書いてある,なんて状況を比較したら,どちらが暗号化の強度として高いかは議論できません(直感的には後者)
暗号化と復号には,鍵を使いますが,この鍵にはパスフレーズを使うアルゴリズムが多いので,暗号化されたデータを不正に復号するには,イコールパスフレーズを探す事,と考えて良いと思います(パスフレーズとは違う鍵もあります)
アルゴリズム単体で暗号化強度の高い AES256 を使ったとしても,復号の鍵である,パスフレーズが分かってしまえば,その復号は何も困難ではありません
このパスフレーズは,ホンモノを知らなくても,ある程度予測する技術があります.これは,辞書アタックと呼ばれる手法なのですが,パスフレーズには,よく使われる文字列に法則があることから,パスフレーズと思われる文字列を順にパスフレーズと仮定して復号を試みる,ということを行います
分かりやすい例で言うと,銀行口座の暗証番号が,数字4文字だとします.苦労しますが,0000,0001,0002 と入れていけば,平均,5,000回試せば,どこかで本当の暗証番号に当たりますよね.銀行口座と違って,コンピュータは非常に高速にこういうことを試せるので,パスフレーズが短いと,すぐに突き止められてしまいます
この辞書アタックを行う場合も,AES256 などは復号に計算量を必要とするアルゴリズムのため,1回ごと試すのに時間が掛かるため,パスフレーズを突き止めるまで時間が掛かります.DES などの古いアルゴリズムは,復号に掛かる計算量が少ないため,同じ時間で,より多くの文字列を試す事ができます
辞書アタックを避ける方法として,
・大文字,小文字,数字,記号を必ず全て使う
・文字長を長く取る
・意味の無い文字列にする
というポリシーが良いと思います.しかし難しくする事で,今度は,パスフレーズを紙にメモしたりする人が出てきます.これでは,パスフレーズを工夫した意味がなくなります(3つの要素のうち,行動に問題がある)
辞書アタックは,パスフレーズを求めるクラック手法ですが,それ以外にも,アルゴリズム自体の脆弱性を付いたクラック手法もあり,以前の質問で出た,パスワード付 zip が劣る要因としては,アルゴリズム自体に脆弱性があるためです
アルゴリズムの脆弱性の議論については経験則でしかなく,"誰かが発見" するか否か,です.多くの人が使ってるにも関わらず,長時間脆弱性が発見されないから暗号化強度が高い,という結論になります
いいえ、違います。
Excelでパスワードを指定した場合も、Excelブック全体がRC4という共通鍵暗号で暗号化されています。Word2003以降では、鍵の長さ128ビットを選択でき、AES-256まではいかないにせよ、そこそこの暗号強度があると言われています。
RC4はストリーム暗号の一種で、リアルタイムで暗号化するのを得意としており、AESより高速なアルゴリズムを使っています。その分、暗号強度は弱いのですが、Webでお馴染みのSSLもRC4がベースになっています。ちなみに、WinnyもRC4暗号です。
他の質問を見てても,暗号化をちょっと誤解されているかな,と思う面があるので,簡単な解説もつけておきます
まず,暗号化には,アルゴリズムと鍵,という要素があります.暗号化の強度を決めるのは,アルゴリズムと鍵とそれを扱う人間の行動の3点がメインの要素です
例えば,アルゴリズムの比較,例えば,zipの暗号化と,AES256 のどちらが強度が高いでしょうか?という質問は,アルゴリズム以外の,鍵と行動が同じという前提であれば,zip < AES256 という回答ができます
しかし,例えば zip の暗号化では,鍵はしっかりした鍵長があり,辞書アタックにも耐えられ,かつしかるべき手段で取り扱われている状況と,AES256 の暗号化だけど,鍵は辞書に載った簡単な短い文字列で,その鍵はメイル本文に書いてある,なんて状況を比較したら,どちらが暗号化の強度として高いかは議論できません(直感的には後者)
暗号化と復号には,鍵を使いますが,この鍵にはパスフレーズを使うアルゴリズムが多いので,暗号化されたデータを不正に復号するには,イコールパスフレーズを探す事,と考えて良いと思います(パスフレーズとは違う鍵もあります)
アルゴリズム単体で暗号化強度の高い AES256 を使ったとしても,復号の鍵である,パスフレーズが分かってしまえば,その復号は何も困難ではありません
このパスフレーズは,ホンモノを知らなくても,ある程度予測する技術があります.これは,辞書アタックと呼ばれる手法なのですが,パスフレーズには,よく使われる文字列に法則があることから,パスフレーズと思われる文字列を順にパスフレーズと仮定して復号を試みる,ということを行います
分かりやすい例で言うと,銀行口座の暗証番号が,数字4文字だとします.苦労しますが,0000,0001,0002 と入れていけば,平均,5,000回試せば,どこかで本当の暗証番号に当たりますよね.銀行口座と違って,コンピュータは非常に高速にこういうことを試せるので,パスフレーズが短いと,すぐに突き止められてしまいます
この辞書アタックを行う場合も,AES256 などは復号に計算量を必要とするアルゴリズムのため,1回ごと試すのに時間が掛かるため,パスフレーズを突き止めるまで時間が掛かります.DES などの古いアルゴリズムは,復号に掛かる計算量が少ないため,同じ時間で,より多くの文字列を試す事ができます
辞書アタックを避ける方法として,
・大文字,小文字,数字,記号を必ず全て使う
・文字長を長く取る
・意味の無い文字列にする
というポリシーが良いと思います.しかし難しくする事で,今度は,パスフレーズを紙にメモしたりする人が出てきます.これでは,パスフレーズを工夫した意味がなくなります(3つの要素のうち,行動に問題がある)
辞書アタックは,パスフレーズを求めるクラック手法ですが,それ以外にも,アルゴリズム自体の脆弱性を付いたクラック手法もあり,以前の質問で出た,パスワード付 zip が劣る要因としては,アルゴリズム自体に脆弱性があるためです
アルゴリズムの脆弱性の議論については経験則でしかなく,"誰かが発見" するか否か,です.多くの人が使ってるにも関わらず,長時間脆弱性が発見されないから暗号化強度が高い,という結論になります
ご回答ありがとうございます。
申し訳ありません。私の理解が乏しいので、質問がぼやけてしまいました。
あくまで前提として暗号化されていないメールに 暗号化した添付ファイルを付与する場合なのですが…
仮に暗号化がもし完璧と言えるのであれば、パスワード付与は不要ということになるのでしょうか?
つまり暗号化によりメールの受信者に、その添付ファイルがとどくまでは暗号化された状態がずっと続いている?といえるということでしょうか?
何度も質問してしまい申しわけありません。よろしくお願い致します。
EXCELのパスワード付与についても暗号化されているとは知りませんでした!!
とても勉強になりました。