記事一覧

メール質問回答 (TPMについて)

メールで質問を頂きましたので以下記載します。

>私osomatuと申します、いきなりですが疑問な点が有るので質問します。
>御社のIBMパスワード解除項目に、(純ランダム生成サーバーやMD5逆算)
>と記載が有りますが、このような方法で果たして解除が出来るのですか?
>TPMチップはどのメーカーのサイト内の説明を見ても、秘密鍵は外に漏らさない
>TPMチップ内の不揮発性メモリーに保存すると書かれています。
>特にIBMのTPMを破ると言うことが、現実的に可能なのですか?
>開発に数億円近い開発費を掛け開発し、PCに各1台1台入っているTPMで
>同形式でも他のPCのTPMやHDDを接続しても中身が見えない、記載が有ります。
>参考資料(http://www-06.ibm.com/jp/pc/think/security/chip.shtml
>
>なのに企業レベルで解析や尚且つ解読が可能なのでしょうか?
>本来ありえない記載としか見えません、他に何か裏口でも有るのですか
>
>返信頂けたら幸いです、企業秘密で明かせないので有れば仕方が無いです。
>本当に可能なのか自分でも分かりません。
>

回答>>答えは可能です、但し解除に2パタン存在します。
    何故可能かと言うと、TPMから吸い出してはいません。
    Biosの設定値を書き込むeepromにこのTPM用の任意コードが記録されます。
    このコードはRSA暗号処理(2048bit)の産物で、このコードを逆算する事で
    可能になります、がんじがらめのTPMから吸い出さず、Bios設定を保存している
    eepromから産物を吸出し生成しますが、この生成には実は整合性が無く
    確実と言う保証が有りません、この状態では解除が出来ず単にランダムに
    逆算しただけとなります、そのため純ランダムサーバーが必要になります。
    ランダムサーバーはRSA暗号処理(2048bit)の産物からのパラメーターを元に
    規定枠内で設定できる最大行数分の純度の高いランダムを生成します。
    先ほどの整合性の無いコードとこのランダムサーバーで生成されたコードを
    合わせて、最終的に2つに絞ります。
    ただこの2つは、前ユーザーが設定したパスワードでは有りません。
    あくまでチックサム上での答えです。
    この答えで解除します、以下簡単に書くと。

例)
※答えは5です、パスワードは式と思ってください。(式の行数が3桁のパスワード)
 eepromから5の数字が出てきたとします。
 5を得るための式は以下。

1+4
2+3
4+1
3+2
5X1
1X5

例で書くと3桁の式がパスワードの場合簡単に書くと上記の式6パタンが出てきます。
(実際は引き算や割り算も有りますが、簡単に書きました。)
eeprom内には5と言うコードが有るので、このコードと同じで有れば問題は有りません
でも上記6例の式は、答えではなく、この6例のチックサムをeeprom内のチックサムと
比較し同じチックサムかを比較します、比較して同じであってもパスワードでは有りません。
この逆算をhexコード16進に変換します、変換したコードのチックサムと
ランダム生成したチックサムが同一になるまで何百億回と計算をします。
チックサムが同じ一律に成ったデーターのみを抜粋し、この抜粋した総合チックサムと
eeprom内の産物を比較しASCIIで表記できる物かを確認し、表示されます。

eepromからの吸出しは10分ほどですが、生成は短くて8時間、長くて89時間掛かります。
時間を短縮したければ、ランダムサーバーを数十台にすれば短時間で生成できると思います
RSA暗号処理(2048bit)の逆算は2台のサーバーで行っています、それよりランダム側が時間が
掛かります。

電卓片手の手作業では到底出来ませんし人生一生掛けても無理でしょう。

本来パスワードは「英字26桁、数字10桁」の合計36桁ですが、これが全てバラバラで
桁数が増えればそれなりに生成時間が掛かります。

生成されたコードは前ユーザーが設定したパスワードと一律しません。
あくまで合計チックサムが同じと言うだけの意味の無い答えになります。
これで解除は出来ます、最悪ASCII表記できないので有れば、強制eeprom書き換え
で解決します。
人間には数値しか見えないけど、PC上ではしっかり答えになっています。


2パタン目

2パタン目は簡単です、すでに[000000000000]12桁の数字のゼロを変換して
eepromに書き込みます、eepromにアクセスするにはromライターなどを使えば
直ぐに出来ます。

強制で書き込んだ違うパスワードはtpm上ではエラー扱いで、相手にしてくれません
tpmが相手にしてくれなくても、Biosが相手にしてくれれば良いだけです。
BiosパスワードはBios上で比較しています、Biosの設定値を記録するeeprom
に上記のコードを書き込めば良いだけです、何も設備投資して数台のサーバーを
用意して、電気代や時間を掛けて解除しなくても良いわけです。
でもこの方法は書き込み後1回しか通用しません、1回目のみBios上でパスワードを
解除できます、tpmがエラーと解釈しBiosにフラグを立てると次回の起動時には
上記で書き込んだ12桁の数字のゼロは無効化されます。
その場合12桁の数字のイチにすれば良いだけですが。


あくまで簡単に書くとこんな感じです、確かにtpmに外部からアクセスは出来ませんが
その付帯機器からはアクセスできます、この方法はBios内にtpmが存在する場合はほぼ無理ですが。

 

トラックバック一覧

コメント一覧

hakugai 2010年07月12日(月)10時59分 編集・削除

参考になりました。

他のメーカーも同様な構造なのでしょうか。

私が持っているPCはVaioですが、PC裏側にメクラ蓋
が有って其処を開けると小さい基盤にTPMチップが
付いています。

それを同形式のPCと差し替えると、PCが起動しなくなりました。

現在2台、元に戻しても起動しません。

依頼したら直せるのでしょうか。

大内 誠 Eメール URL 2010年07月20日(火)00時26分 編集・削除

TPMリセットですね。
中1日で直せますよ、専用コンソールPCを接続し
外部PCからマザーTPMパラメーターを書き直せば
OKです。

TPM内のUUIDから生成されるマシンコードを一時書き換えリセット後、元に戻します。

費用は機種により変わりますが。
大体6800円ほどです。