Decryptum
 
ホーム:Decryptum について製品技術情報: 製品技術情報
Decryptum について
よくある質問
価格
お問い合わせ
使用条件
リンク
解読開始 解読開始
無料でお試しください。
ファイルのダウンロード ファイルのダウンロード
解読済みファイルをダウンロードします。

Microsoft Word/Excel 文書のパスワードによる保護は、かつて考えられていたほど安全ではありません。Microsoft Office が使用する既定の暗号化アルゴリズムは比較的強固なものですが、近年のデータ修復手段を使えば、パスワードの長さや複雑さに関係なく即時にファイルの内容を閲覧することができます。

しかし、慌てることはありません。Microsoft Office "XP" や "2003" のバージョンでは、文書保護のため、オプションとして暗号化のプロバイダが設定されています。これによって、ユーザーは暗号化のタイプや鍵のサイズを、希望するセキュリティの信頼度に合わせて選ぶことができます。例えば、128 ビットの暗号鍵を選べば、現在の計算リソースの能力を考えても、ファイルを解読するのは実際不可能になります。

ただし、"97" バージョン以降("XP" や "2003" バージョンも含む)の Microsoft Word と Excel はすべて、既定で 40 ビット長の暗号鍵による、文書暗号化の標準モードを使用しています。

Microsoft Word と Excel では、標準的な 40 ビットの文書暗号化とパスワードの確認に、MD5 と RC4 という暗号化アルゴリズムを使用しています。

MD5 アルゴリズムは R. Rivest 氏により開発されたものですが、現在最も広く使われているハッシュ化アルゴリズムの 1 つです。アルゴリズムの入力時には任意の情報が入力され、その後 128 ビットの値が出力されます。解析者により長年の研究が進められていますが、MD5 アルゴリズムの逆計算(入力データをくまなく調査する方法より実際効果的だと考えられるアルゴリズム)についてはまだ開発されていません。2^128 という膨大な調査の複雑さが、現在の計算能力を超えていることは明らかです。 *

RC4 アルゴリズムもまた、RSADSI 社の R. Rivest 氏によって開発されましたが、現在データ セキュリティのアプリケーションに広く使用されています。1994 年にこのアルゴリズムのソース コードがオープン ソースとして登場して以来、その強固さは多くの解析者によって盛んに調査されてきました。当時は興味深い結果が多く得られ、作成可能な鍵をくまなく調査する場合よりは RC4 解読の複雑さを軽減することができました。それでも、鍵空間のサイズが膨大(256、つまりおよそ 2^1684 の調査が必要なのです!)なため、現在のリソースを利用しても、この手段を実用化することは実際不可能です。 **

よって、現在使用されている暗号化アルゴリズムに関して言えば、Word や Excel での標準的な文書の保護は非常に信頼性のあるものと考えられます。

パスワードを復号する最も簡単な方法は、可能なあらゆるパスワードを次々と入力し、確認してみることです(ブルートフォース アタックと呼ばれます)。この方法は、パスワード復号用に開発された商品のほとんどで、様々な形式で利用されています。Passware 社も 1998 年にさかのぼりますが、ソフトウェア製品 MSOfPass97(Office Key として現在知られています)をリリースしました。MS Word/Excel 文書に特定し、パスワード復号を行います。

ファイルを開くパスワード検証アルゴリズムの解読は、オープン ソースで利用可能です。暗号化された各文書には、2 つの確認文字列が保存されます。1 つは任意の文字列で、もう 1 つはその任意の文字列と文書の暗号鍵をもとに計算された文字列です。つまり 2 つ目の文字列は、暗号鍵に基づいた、1 つ目の文字列のハッシュ値です。パスワード確認の際、暗号鍵が特定され、2 つの確認文字列が互いに対応するかどうかテストされます。計算には MD5 と RC4 のアルゴリズムが使用されます。

最初の所見では、強固なアルゴリズムを使用したパスワードの解析には、ブルートフォース アタックが唯一の手段だとされていました。しかし膨大な調査を使った手段なので、通常考えられる時間内で解析できるかどうかは保証されていないことに注意してください。例えば、小文字、大文字、数字、特殊文字を含む 11 文字以上を使用したパスワードを解析するには、途方もないほど長期間の操作が必要になります。

しかし、パスワードを復号せずに文書の内容を解読する方法があります。これがいわゆる、鍵空間を使った手段です。MS Word/Excel 文書を保護する際、暗号化は RC4 アルゴリズムを使って鍵上で行われており、パスワードを使って計算されていることに留意してください。"97/2000 と互換性のある" 仕様では、比較的短い 40 ビット長の鍵を使用しています。よって、2^40 もの鍵の値をすべて割り出し、その中から鍵の真値を判定し、文書を解読することができます。この手段が必要とするコンピュータの能力も相当なものにはなりますが、ブルートフォース アタックほどの能力は必要ないので、結果もなおさら得やすくなります。

この鍵空間を使った手段に注目した、MS Office 文書解読の商用サービスがいくつか開発されています。文書を復元させるのに 1 週間ほどかかるのが通例です。しかし多くの場合、1 週間もかかってしまうのはユーザーにとってあまりにも長すぎます。

鍵空間のサイズを制限することにより、事前計算を使って、待ち時間の短縮ができます。それでも、パスワードの確認スキーマに任意の文字列が入力されると、この最適化が実行できません。

ユーザーは同時に、暗号鍵の検証のため、文書管理の文字列のほかに暗号化されたファイル内容を使うことができます。文書の解読が成功し、暗号化前の状態と同じになってから、鍵が故意に見せかけとして作られたものか判断できます。また、暗号化アルゴリズムの機能を利用することで、解析の際の複雑さを大幅に軽減することができます。RC4 アルゴリズムはバイト単位のストリーム暗号で、OFB (出力フィードバック)モードで機能します。つまり暗号化の際、XOR 操作によってソースのプレーンテキストの各バイトが、鍵から生成される擬似ランダム ガンマのバイトとともに表示されます。ガンマのバイトは各鍵やストリーム中の地点によって異なるもので、暗号化されているストリームには関係しません。逆に考えれば、鍵ガンマの適用性は事前に計算できるということです。

MS Office 文書の多くのレコードは、事前定義された(あるいは部分的に事前定義された)値で構成されています。解読可能な暗号化文書を持っておくと、ガンマの値について多くの推測ができ、したがって暗号鍵についても多く推測することができます。仮にプレーンテキストの各バイトにおいてガンマの値が推測でき、計算式の "m" や "n" にそれぞれ入力すると、高ビットが互いに一致するものとします。XOR の操作中に暗号化されたテキストのバイトと一致している高ビットは、ガンマのビットと同じ値を持ちます。よって、2^40 のガンマの値をすべて事前に計算し、鍵を 2 つのカテゴリーに下位分類することができます。1 つは XOR の操作のもと、"m" や "n" にガンマ バイトを入れた結果高ビットが 0 になるもの、もう 1 つは高ビットが 1 になるものです。このように、暗号化された文書を持っていると、どのカテゴリーで暗号鍵を探すべきかが容易にわかるのです。必要な計算量は半減されます。同じように、鍵の検索も大幅にスピードアップさせることができます。

鍵空間による手段をとる場合、事前計算に基づいているので、大量のデータを処理する必要があり、技術的に困難となる場合があります。ガンマ キーの全リストを 1 つ保存するだけで、10 Tb 必要となるのです。しかし、アルゴリズムとソフトウェア、ハードウェアのソリューションによって、事前計算されたデータを使い高速で処理できるようになりました。

以上に説明した方法を使って、結果をご自身で確かめたいとご関心のある方は、http://www.decryptum.com/jp ウェブサイトをご覧ください。MS Word/Excel のパスワード保護文書の解読サービスは Passware 社が提供しており、ほとんどのファイルを即時に解読することができます。機能やサービスについての詳細については、http://www.decryptum.com/jp ウェブサイトをご参照ください。

* ハッシュ化アルゴリズム MD5 については、RFC1321(http://www.ietf.org/rfc/rfc1321.txt)に記述されています。

** ストリーム暗号化アルゴリズム RC4 の所有権は、RSADSI 社にあります。

Copyright © 2005-2016 Passware Inc. All rights reserved.
プライバシーに関する声明 | アフィリエイト プログラム | 公開情報