マイクロソフトが Windows に課したプロダクト アクティベーションを擁護する人はほとんどいないが、その開発者の 1 人が週末に立ち上がり、悪名高いこの技術について説明し、擁護した。
Windowsがアクティベーションについてうるさく言うのは、お馴染みの光景です(特にBork特集をご覧になっている方には)。Office生産性スイートの主力製品であるこのアクティベーションは、Windows XPでも従来のシリアル番号の延長として導入されました。これは、Microsoftが著作権侵害への懸念に対処しようとしたためです。
シリアル番号と同様に、ユーザーはシステムコンポーネントに基づいて計算されたハッシュに関連付けられた長い英数字を入力する必要がありました。Microsoftのサーバーがアクティベーションを処理し、ハードウェアハッシュが大きく変化しない限り、繰り返しアクティベーションを行うことができました。
マイクロソフトを退職したエンジニアの Dave Plummer 氏は、自身の YouTube チャンネルに投稿し、Windows XP の初期の頃にこの技術に携わっていたことを認めたほか、レジストリのちょっとした操作を可能にするために Windows に加えられた調整についても言及しました。
Windows Protectのアクティベーションは長年にわたり批判されてきました。プラマー氏は、使用されているハードウェア識別子の背景にある考え方を説明し、ユーザーが値を指定してアクティベーションを実行できるようにする必要性を強調しました。
アセンブリ言語、アーケードゲーム、YouTube: The Regが元マイクロソフトエンジニアのデイブ・プラマー氏にインタビュー
続きを読む
「私たちが自らに課した要件の一つは、人々がオンラインである必要がないということでした」と彼は説明した。「今日ならやり方は違うかもしれませんが、2000年代初頭には、すべてのコンピューターがネットに接続できるとは考えられませんでした。」
同氏は、「電話によるアクティベーションは、やり取りできる情報量を常に制限するため、常に攻撃ベクトルとなり、ハッカーにとって最も狙いやすいものになる可能性が高い」と語った。
プラマー氏は、「ユーザーが電話で入力できる情報」によって得られる帯域幅が限られているため、いくつかの妥協を余儀なくされたと指摘した。例えば、担当エンジニアは、識別子という限られたスペースに数字全体を詰め込むのではなく、メモリサイズを分類するといった選択肢もあるだろうと彼は提案した。
この引退したエンジニアは、レジストリに加えられたいくつかの調整についても強調しました。この場合、評価期間の不正行為を削減するために、Windows を初めて使用した日付を隠すというものです。
日付を保存するために複雑な方法を採用するのではなく、プラマー氏は次のように説明した。「日付をレジストリに入力するだけです。本当に簡単です。」
「重要なのは、データが読み取り専用のレジストリキーに保存されているため、単に削除したりリセットしたりすることはできないということです」と彼は付け加えた。
同氏はレジスター紙に対し、猶予期間のリセットは認められるが、「数は限られている」と語った。
このコンセプトは一部の Windows 開発者にとって奇妙に思えるかもしれないが、彼はこう続けた。「私はこれを WPA 専用に発明し、まさにその目的のためにカーネルに追加しました。」
ああ、文書化されていないWindows API呼び出しの喜び。ワールドワイドウェブをざっと検索してみると、プラマーがWindowsカーネルをいじってからほぼ20年後に行われたリバースエンジニアリングが見つかります(関連リンク先のページはその後削除されました - 編集者注)。プラマーがコメントすることは不可能ですが、機能的にはかなり似ているようです。
プラマー氏はこう語った。「まあ、私があまり多くを語ったら何が起こるかはご存じでしょう。」
Windows製品アクティベーションは、XP時代に起こり得た機能への打撃は多少和らいだとはいえ、少なからず物議を醸してきました。導入後の評価において、プラマー氏は当初5点満点中5点という信じられないほど高い評価を付けましたが、その後、権力者によって4.5点に引き下げられました。
「ハイランダーのように、唯一の存在は存在し得ず、ビルは私の時ではないと判断しました。」®