このページの本文へ

前へ 1 2 3 次へ

噂のWindows XP最新情報 ~ Microsoft社のWindows Product Activationの内容(上)

2001年07月17日 05時21分更新

文● フーリー・ライセンスト社/著、吉川邦夫/訳

  • この記事をはてなブックマークに追加
  • 本文印刷

1. この文書の作成にはMicrosoftが関わったのか?

Microsoftは、この文書の作成に、まったく関わっていません。ただし、我々はMicrosoftが草稿バージョンを読めるようにはからって、いわば彼らに有利なスタート地点を与えました。我々は、ベンダーに対して、彼らの製品に関する準備中の出版物について、前もって情報を与え、相手にも公式な応答を返す準備ができるようにしてあげるのが、良きエチケットであると考えます。

2. どうして君たちを信じられるのか?

我々は、自分たちを信じてもらえるとは期待しません。だからこそ、WPAとXPDecユーティリティーに関する我々のすべての知識を提供したのです。これら二つを組み合わせれば、我々の主張が真実であることを確認できます。

3. だが、君たちの専務取締役の一人であるトマス・ロパティク(Thomas Lopatic)は、ドイツのウンターシュライスハイム(Unterschleissheim)の生まれで、その町はミュンヘン(Munich)のそばにあり、ミュンヘンにはMicrosoftのヨーロッパ本部があるではないか。

見事な偶然です。その偶然によって、我々の文書全体が、Microsoftによって巧妙に仕組まれた陰謀だという噂が生まれたことは、ある意味でよく理解できます。そして同時に、我々としては、実に面白いことです :-)

トマスは、実際にはドイツのカールスルーヘ(Karlsruhe)で生まれました。ただし彼は1970年代から(つまり、Microsoftが進出してくるより、ずっと昔から)ウンターシュライスハイムに住んでいて、最近になってベルリンに引っ越しました。一部の記録に、まだウンターシュライスハイムが彼の住所として登録してあるのは、そういうわけです。これらの記録を間違って解釈したことが、トマスがウンターシュライスハイム生まれだという噂になったのです。

4. Microsoftは、この文書を見くびっているのか?

いいえ、全然そういうことではありません。この文書は、本当に無害なのです。パイレート(著作権侵害者)がWPAの抜け道を見つけるのに役立つような情報は、この文書では、まったく提供していません。

5. 君たちがWPA(Windows Product Activation)の詳細をリリースした理由は?

我々は、WPAに関する論争で必要とされているのは「事実」だと感じました。多くの人々は、WPAがエンドユーザーに対するスパイ行為に悪用されかねないと疑っていたのです。けれども、我々の文書は、プロダクトアクティベーションの間に送信されるのは無害な情報であることを示しています。このことで、我々が提供する事実が、WPAに関して今も進行中の議論に本当に必要な貢献であることを理解していただけるものと思います。

我々は、インターネットを介して行なわれる今後のソフトウェア配布において、ライセンス強要の機構が重要な役割を演じるものと考えます。だから我々は、この種のテクノロジーに関する公開の議論は、偏見ではなく事実と公開性をベースに行なわなければならないと考えるのです。

我々が提供する情報が、現在の論争にポジティブな影響を与えることを願っています。論争は必要なものです。しかし、それは事実をもとに行なうべきです。そして、プライバシーの問題に関連する情報は、すべて公開すべきなのです。

6. 君たちはWPAを回避する方法を知っているのか?

いいえ。我々が提供するのは、アクティベーションの間にMicrosoftに送信されるのが、どんな情報であるかを見抜く知識です。我々の文書は、WPAが人々の仕事やプライバシーに与える影響を理解するのに役立つという意味で、重要なのです。我々は、WPAによって行なわれるライセンス強要を回避するのに、我々の文書が何らかの役に立つとは、まったく思っていません。

7. 君たちの文書は、Microsoftが「ユーザー側に立ちすぎる」という間違いを犯したと言っている。

我々の文書が示しているのは、以下の2点です。

  • a) Microsoftに送られる情報は無害である
  • b) 典型的なハードウェア・アップグレードは、すでにアクティベートされたインストール済みのWindows XPに対して悪い影響を与えない

ただし、Windows XPを完全に再インストールするか、あるいはプロダクトアクティベーションが許容する以上にハードウェアを変更したら、Windows XPを、もう一度アクティベートする必要があります。

そこで重要な問題は、Microsoftは、どのくらいの頻度で再アクティベーションを許すのか、です。「ユーザー側に立ちすぎる」というのは、あなたが望むだけ頻繁に再アクティベーションを行なうことができ、Microsoftも、そのように言っているようだ、という意味でしょう。

けれども、技術的解析では、そうしたポリシーを確認することは不可能なのです。

8. Microsoftには、私が使っているハードウェアが分からないというのは、なぜですか?

IDEコントローラの場合を例にしましょう。Microsoftに送信されるインストレーションIDの中で、IDEコントローラは4ビットの値で表現されます。この4ビットは、IDEコントローラのベンダとモデルをユニークに識別する文字列に、MD5メッセージダイジェストアルゴリズムを適用することによって得られます。文字列は、このようなものです。

'PCI\VEN_8086&DEV_7111&SUBSYS_00000000&REV_01'

そして、結果として得られる128ビットのメッセージダイジェストの、それぞれ固定の4つの位置から、4ビットを取り出すのです。

4ビットで表現できるのは、最大でも16種類の値です。けれども、世の中にあるIDEコントローラのモデルは数多く、16種類どころではありません。4ビットの値よりも多くのモデルが存在するのですから、上に述べたハッシュ手続きは、複数のモデルについて同じ4ビット値を出すはずです。モデルが多ければ多いほど、特定の4ビット値にマップされるモデルの数も多くなるでしょう。

Microsoftが言っていることとは裏腹に、WPAが提供するプライバシーは、採用されたメッセージダイジェストアルゴリズム(つまりMD5)が不可逆であることを前提にしたものではありません。もし、ハードウェアコンポーネントのID文字列から計算される128ビットのメッセージダイジェストの全体を使っていたならば、その128ビットの値でハードウェアコンポーネントをユニークに識別することは、ほぼ間違いなく可能でしょう。もし128ビットを使っていれば、たぶん地球上のすべてのハードウェアコンポーネントが、それぞれユニークな値にマップされるでしょう。

その場合、攻撃者が何を行なうかといえば、この惑星にあるすべてのハードウェアコンポーネントのリストを作成し、それらに対応する128ビットの値を計算することです。それらは、たぶん、すべて違う値になります。そうすれば、ただテーブルを参照するだけで、ある128ビットの値に対応するハードウェアコンポーネントを特定できるでしょう。

プライバシーは、「結果として得られる128ビットのメッセージダイジェストのうち、ほんの数ビットしか用いられない」という事実に立脚しているのです。これによって、大量の衝突が生じることは明白です。つまり、ある一つの値に、数多くのハードウェアコンポーネントがマップされるのです。もしIDEコントローラに160種類のモデルがあるとしたら、平均して、160 / 16 = 10種類のモデルが、同じ一つの4ビット値にマップされるものと推測できます。

もう一つの例として、イーサネットアダプタのMACアドレスについて考えてみましょう。ここでの説明は技術的に100%正確なものではありませんが、要点は示しています。このMACアドレスは48ビットの値です。ということは、理論的には281,474,976,710,656種類もの値のなかの、1つの値だということになります。けれども、インストレーションIDにおいてMACアドレスを表現する10ビットの値は、48ビットの値を表わす12桁の16進数で構成されるASCII文字列にMD5ハッシュをかけ、その結果から取り出した10ビットによって得られます。10ビットを取り出すことによって得られる結果は、最大で1024種類です。

だから、同じ10ビットの値にマップされるMACアドレスの数は、平均すると

  281,474,976,710,656 / 1,024 = 274,877,906,944

という計算になります。したがって、この10ビットの値から実際のMACアドレスを求めることは誰にもできません。その10ビットの値を得られるMACアドレスの候補の数は、274,877,906,944個あるからです。

MACアドレスを表現するビットフィールドのサイズが10ビットなのに、IDEコントローラを表現するビットフィールドがたったの4ビットしかなかったという発見は、興味深いことです。おそらくMicrosoftは、ID文字列により多くの多様性が見込まれるコンポーネントに、より広いビットフィールドを割り当てたのでしょう。IDEコントローラのモデルの数は、MACアドレスの数と比べれば、何桁も少ないのです。そこで、十分な数の衝突を起こさせるために、彼らはIDEコントローラには比較的小さなビットフィールドを使ったけれども、MACアドレスの場合には、10ビットのビットフィールドを使う余裕があったのでしょう。

9. ハードウェアを変更したあとの再アクティベーションには、どのような意味があるのか。

これは興味深い問題ですが、我々の文書では扱いませんでした。ただ単に、そのことに思い当たらなかったわけで、これは我々のミスでした。このことを我々に教えてくれたのは、www.slashdot.orgに掲載された、Greg Falcon <veloso@verylowsodium.com>の投稿です。ハードウェアを変更した結果としてWindows XPのインストレーションを再アクティベートしなければならないときは、あなたの新しいハードウェア構成が、上に述べたような形式でインストレーションIDに埋め込まれます。これによって、あなたが持っているハードウェアコンポーネントを誰かに知られることはありませんが、どのコンポーネントを変更したかを調べるのは、実に簡単なことです。前のアクティベーションと比べて、どのビットフィールドが変化したかを見るだけで、それが分かるのです。

前へ 1 2 3 次へ

カテゴリートップへ

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン