見出し画像

No312 Windows11で必要なTPMとはナニモノか?

最近になって、Windows10のサポート終了日が2025年10月に決まりました。
(当初2023年10月と記載していましたが、誤りでした。上記のとおり訂正いたします)

登場した時は「最後のWindows」という触れ込みでしたが、これは元々無理のある話です。
時代の流れに従って、ハードウェアもソフトウェアも変化するのですから、Windowsだって賞味期限があるのはむしろ当然の話です。

さて、そのWIndows10の後継として登2021年に登場したWindows11ですが、それほど大きな変更ではないように見える割に、動作条件が厳しくなっているのが気になります。

その条件の一つに「TPM2.0以降が搭載されていること」という、よくわからないものがあります。

果たしてこのTPM2.0とは何なのでしょうか?
今回はこの点を解説します。

1. TPMとは?

TPMは Trusted Platform Module の略で、日本語なら「信頼できるセキュリティ基盤」といったところでしょうか。

最後の「モジュール」というのはハードウェア用語で半導体チップを使った小さな基板のことを指します。

つまり、TPMというのはセキュリティに関する情報を保持するための特殊なハードウェアのことを指していました。

例えば、条件が整わないとデータの読み込みを許さないとか、別の機器につないでも動作しないようになっている、といった点はかなり特殊はハードウェアと言えます。

こんな妙な性質を持たせているのは、このTPMは特に重要な情報を保管する場所だからです。

特に重要な情報というのは、暗号化で必要となる鍵の類です。

といっても、皆さんがインターネット上でよく目にする「このサイトは暗号化しているため安全です」といった場面の暗号化(HTTPSやSSL/TLSなどと呼ばれます)には使っていません。

ではどこで使っているのでしょうか?
実は、TPMを必須とする機能は2023年現在の時点ではほとんどありません。

これだけ聞くと「なんでWindows11はロクに使われてない機構を必須にしたんだよ!」と言いたくなりますが、そこには少々事情があります。

まずは、TPMの利用イメージを持っていただくため、実際に積極的にTPMを活用しているBitLockerという機能についてお話をします。

2. ハードディスク暗号化を行うBitLocker

Windowsにはハードディスク全体を暗号化するBitLockerという機能があります。
外にノートパソコンを持ち出す機会の多いセールス担当の方であれば、安全確保のためにBitlockerを使っておられる方も多いでしょう。

このBitLocker、かなり複雑な仕組みでハードディスクの暗号化を行っています。

まず、基本的な話ですが、暗号化とは、元のデータ(平文:ひらぶんと言います)を読めないデータ(暗号化文と言います)にすることを指します。

もちろん、暗号化には必ずルールがあります。(でないと戻しようがありません)

少しだけ「暗号化ってなに?」ということを書いておきましょう。

3. 暗号化ってナニ?

現代暗号の超ご先祖様に「シーザー暗号」と呼ばれるものがあります。
これは、換字暗号と呼ばれる文字ずらしを使った暗号です。

と言われてもわからないと思いますので、いつものように具体例でいきます。

ここでは、
 security
という単語をシーザー暗号で暗号化してみましょう。

ここでは、ずらす文字数を「2」としてみます。
つまり、最初の s を2文字ずらすと u(アルファベット並びではs→t→uとなるため)になります。
同様に、e→g 、c→e、u→w、r→t、i→k、t→v、y→a(zの次はaと考える) ですので、最終的な暗号文は
 ugewtkva 2 となります。

最後の2は何文字元に戻せば元の文に戻せるのか?という情報で、これを暗号論では「鍵」と呼びます。

暗号の秘密を守るには「鍵を通信相手と共有しつつ、敵にはバレないこと」という矛盾した条件を満たさないといけないわけです。

シーザー暗号では、暗号化の方法そのものが秘密とできたために、長い期間バレませんでしたが、手法がわかれば、もはや暗号としては使えません。

暗号の歴史は暗号化方式の進歩もさることながら「鍵を相手に伝えつつ敵に盗まれない」手法を探し続けた歴史とも言えます。

余談:
 インターネットでの暗号化通信ってどうやってるの?
 この疑問、実に深いんですよ。
 ご興味のある方は、以下をどうぞ。
 2020年に3回の連載記事にしました。

 「No179 暗号化ってどうやって鍵を渡すの?」
 https://note.com/egao_it/n/nb19a432ec44c
 「No180 暗号化で使われる鍵交換の秘密」
 https://note.com/egao_it/n/n14e0736f939a 
 「No181 鍵交換の鍵は剰余演算にあり」
 https://note.com/egao_it/n/nc3255ae105ad

4. BitLockerでの鍵の保管方法

さて、鍵を秘密裡に保持する方法が難しいのは現代暗号でも同じです。
この一つの答えがTPMなんです。

さて、上で書いたBitLockerの場合の鍵の保管方法を見てみます。

BitLockerの鍵はご想像のとおり、TPMの中に入っています。
では、利用者は最初にパスワードを登録します。BitLockerで暗号化されたデータを利用するには、このパスワードを入力しないといけません。

こう聞くと、「そうか。そのパスワードで暗号化をしてるんだな」と思うじゃないですか。ところがそれは違うのですよ。

BitLockerでは、利用者が指定するパスワードをそのまま鍵に使用せず、内部で生成した(80ケタ程度の)鍵を使います。いくらなんでも80文字ものランダムな文字列なんて覚えられませんよ。

じゃあ、利用者が入力するパスワードは何に使うの?となりますよね。
これは、TPMにある鍵の利用権を得ためのキーワードになるのです。

ん?利用権?
そうなんです。TPMの中に入っている鍵は門外不出で一度保管すると、そこには他のプログラムからアクセスできない仕組みになっています。
これはセキュリティという視点では一番強固な方法です。そもそも外に鍵を一切出さない(出す方法が存在しない)のですから、洩れようがありません。
また、TPMのモジュールには耐タンパ性(内容を得るためにチップを抜き取ろうとしたら壊れて読めなくなるように作ってある)がありますので、うかつに取り外すこともできません。

結局、暗号化や復号を行う時には、TPMに対して「このデータを暗号化して」「これを復号して」とお願いをするしか方法がありません。
この「お願いを受け付けるか?」の判断基準がパスワードなのです。(厳密にはこまごまとあるのですが、ばっさり略)

つまり、パスワードが正しい=BitLocker用の暗号鍵の使用権がある=TPMに依頼ができる=データが読める、であり、それが正しくない=BitLocker用の暗号鍵の使用権がない=TPMに依頼ができない=データが読めない、わけです。

TPMには、上で書いた鍵の保管、暗号化や復号処理の実施以外にもセキュリティに関する多くの機構を搭載しなければいけないことになっています。

このメルマガでも何度か書いている、公開鍵暗号の鍵生成、ハッシュ関数、乱数発生器、などが必要ですし、ハードウェアの改竄(かいざん)検出といった機構も必要になっています。

5. Windows11はどうしてTPMを必須としたのか?

さて、最初の質問に戻ります。

どうしてWindows11 ではTPMを必須機構としたのでしょうか?

現代のセキュリティ重視の傾向を考えると、今後もセキュリティ対策の重要性が低くなることは考えにくく、むしろよりセキュアであることがますます重視されるようになることでしょう。

こう考えると、現時点ではあまり使われていないとしても、TPMのようなセキュアな機構を前提とすることで、より安全なOSを目指すことは正しい選択です。

だからといって、Windows10を古い機器を利用している人に「あんたのマシンはボロやからWindows10の最新は使わせへん」とというのもあんまりです。

この妥協点を探ると「いやいや、お使いのパソコンはそのままお使いいただけますよ。え?最新のWIndows?あ、そちらはまぁ新機能も満載ですんで、TPMくらいは搭載してるパソコンを最低ラインとさせていただいております」あたりで言い訳しやすくしたのかなぁ、などと考えるわけです。

6. まとめ

TPMというのは様々なセキュリティ機構を搭載したハードウェアのことを指します。

もともとは、2006年あたりにTPM1.2というのが規定されたのですが、昨今のセキュリティ重視の流れもあり、2016年にTPM2.0が規定されました。

このTPM2.0ではセキュリティに関する様々な機能をより安全に実行できるように様々な工夫が行われています。

その一つが、暗号化や復号を内部で行ってしまう(結果として鍵を門外不出にできる)機構です。

これを利用すれば、鍵という最も管理しづらいデータをTPM側で管理できるようになり、コンピュータ自体がより堅牢になりますし、データ漏洩なども起きづらくできます。

一方で、TPM2.0の規定が2016年と比較的最近であることから、それより古い機器では搭載されておらず、OSとしての動作には問題がないにもかかわらずWindows11にアップデートできないという事象が発生しています。

TPM2.0の提供する機能は現状ではまだまだ使われていませんが、今後のパソコンでは「あって当然」の機構となっていくものだと筆者は思います。

なお、今回の説明ではTPMを個別の半導体で実現する方式を前提として説明を行いましたが、同様の機構をCPU内部に組み込んだやり方もあり、こちらはfTPM(firmware TPM)と呼ばれています。
現実的には、fTPMが今後の主流になっていくものと思われます。

今回はTPMについて解説をしました。

次回もお楽しみに。

(本稿は 2023年6月に作成しました)

この記事が気に入ったらサポートをしてみませんか?