セキュアエレメントチップ:Ledgerを安全に保つ
重要なポイント: |
— ハードウェアウォレットの動作には、秘密鍵を保管しトランザクションに署名するためのチップが必要です。 — 異なるハードウェアウォレットでは、使用するチップも異なるため、同じ方法で実装できない場合があります。 — Ledgerのハードウェアウォレットは、セキュアエレメントと呼ばれる特殊なチップを使用しています。 これらのチップには改ざん防止機能があり、暗号資産に最高レベルの保護を提供します。 |
ハードウェアウォレットを選択する際に、その内部のコンポーネント(構成要素)は見落とされがちです。 しかし、ハードウェアウォレットが使用するチップとその実装方法は、デバイスのセキュリティに影響を与えます。 ご説明すると、ハードウェアウォレットは暗号資産を保管するのではなく、秘密鍵、つまり、暗号資産へのアクセスを許可する鍵を保管します。 仮に誰かがあなたの秘密鍵にアクセスしたら、ゲームオーバーです。
そのため、ハードウェアウォレットの主な目的は、秘密鍵を抽出しようとする攻撃者からあなたの秘密鍵を安全に保つことです。 一方で、これらの秘密鍵を保管し、トランザクションに署名するには、お使いのデバイスにチップが必要です。 さらに、そのチップはパフォーマンスだけでなく、オンライン攻撃と物理的攻撃の両方に対して保護できなければなりません。
Ledgerでは、市場で最も先進的なチップの1つである、セキュアエレメントのみを使用しています。 このチップは秘密鍵を生成して保管し、Ledgerデバイスの安全な画面を駆動する役割を果たします。 また、セキュアエレメントは、LedgerのカスタムオペレーティングシステムBOLOSを実装。BOLOSは、アプリを相互に隔離します。
つまり、セキュアエレメントは、Ledgerハードウェアウォレットが非常に安全である重要な理由の一つなのです。 しかし、なぜこれがそれほど重要であり、他のハードウェアウォレットチップと比べてそれほど効果的なのでしょうか?
完全に理解するために、そもそもなぜ、ハードウェアウォレットにチップが必要なのかを詳しく見てみましょう。
ハードウェアウォレットチップのセキュリティを理解する
ハードウェアウォレットはすべて、秘密鍵の保管、アプリの操作、画面の駆動をチップに依存しています。
単一のチップを使用するハードウェアウォレットもあれば、複数のチップを組み合わせて使用するハードウェアウォレットもあります。
ただし、どんなチップの種類であっても、さまざまな攻撃に対して同じレベルの耐性を持つわけではないことに注意することが重要です。 例えば、掃除機や電子レンジで使用されるチップを使って、暗号資産を保護したいとは思わないですよね? スマートフォンやパソコンに使用されているチップでさえ、秘密鍵を保護するようには設計されていません。 簡単に言えば、ほとんどのチップは性能のために作られており、セキュリティのために作られているとは限らないのです。
次に、ハードウェアウォレットが通常使用するチップの種類と、それらの評価を見てみましょう。
マイクロコントローラユニット(MCU)
汎用マイクロコントローラーユニット、つまりMCUは、電子レンジやテレビのリモコンなどのデバイスに組み込まれています。 これらのチップは操作に大きな柔軟性をもたらしますが、物理的な攻撃には耐性がありません。 特に、電圧やクロックの不具合などの安価な攻撃に対して脆弱になる傾向があります。
MCUチップにパスフレーズ機能を導入すると、これらのリスクを軽減できますが、その方法ですら単一障害点が発生します。 例えば、パスフレーズが単純すぎると、ハッカーに解読されてしまう可能性があります。 また、パスフレーズが複雑すぎると、忘れたり、間違って記録したりする危険があります。
セーフメモリチップ
ハードウェアウォレットで使用されるもう1つのチップは、セーフメモリ(Safe Memory)チップです。 これは、さまざまな物理的攻撃に対する複数の対策を提供しますが、セキュリティラボによる評価から得られるような認証はありません。 この認証がなければ、このチップが謳っているほど安全であるかどうかを確認することはできません。 そのため、このチップは銀行カードやパスポートには適していないのです。
ハードウェアウォレットにおいて、セーフメモリチップを使用するのは簡単ではありません。 少し専門的な話になりますが、セーフメモリチップは、単一の楕円曲線上でスカラー倍算を実行します。 これはビットコイントランザクションの署名には機能しないため、セーフメモリチップを搭載したハードウェアウォレットでは、署名プロセスを処理するために、常に2つ目のチップが必要になります。
これにより、脆弱性が生じるのです。 セーフメモリチップから秘密鍵をMCUに送信すると、サイドチャネル攻撃者にとって絶好の機会が生まれます。
セキュアエレメント
セキュアエレメントは、パスポートやクレジットカードで一般的に使用されている高度に特殊化されたチップです。 おそらくあなたも、最も機密性の高い個人情報を安全に保護し、隠す必要があるあらゆる環境で、これらのチップを複数のデバイスで使用していると思われます。
セキュアエレメントチップは、ハードウェアウォレットにとって最も安全な選択肢です。 これはセキュリティ機能だけでなく、多用途性においても利点があります。 セキュアエレメントは秘密鍵を保管し、署名プロセスを処理可能です。さらに、さまざまな物理的攻撃から保護し、署名を証明する証明書を取得できます。
セキュアエレメントチップが非常に安全な理由とは?
セキュアエレメントチップが非常に安全であるのは、主に2つの重要な要素によるものです。それは、さまざまな攻撃に耐える能力と認証する機能です。
セキュアエレメントがウォレットをさまざまな攻撃から保護
開発者(デベロッパー)ではない限り、セキュアエレメントが、どのような種類の攻撃から守ってくれるのか明確でない人も多いでしょう。 一部のセキュアエレメントは、以下に記載されている以外の攻撃にも対処しますが、まずは、最も一般的な攻撃の一部を見てみましょう。
サイドチャネル攻撃
サイドチャネル攻撃とは、ハッカーがデバイスのオペレーティングシステムや組み込みアプリケーションからの物理信号を分析して、デバイスがどのように動作するか、どの機密データが使用されているかを把握することです。
セキュアエレメントチップには、電磁放射と電力使用量を隠すための複雑な対策が施されており、それらの情報をこっそりと盗み取ろうとする者からチップを保護します。
フォールト攻撃
フォールト攻撃では、攻撃者が、あなたのオペレーティングシステムや組込みアプリケーションによる機能の物理的な実行を妨害することを狙います。 例えば、攻撃者はレーザービームを使用して、そのデバイスに間違ったPINコードの受け入れを強制するなど、セキュリティメカニズムを回避する可能性があります。
セキュアエレメントには、レーザーフォールトインジェクション(誤りや故障を注入して意図的に誤動作を引き起こす)用の光検出器、温度センサー、電圧グリッチ(不具合)検出器などの効率的な障害検出システムが搭載されています。
ソフトウェア攻撃
ソフトウェア攻撃には、悪意のある攻撃者がデバイスのオペレーティングシステムや組み込みアプリを操作し、予期せぬ動作を引き起こすことを目的としています。
セキュアエレメントは再プログラミングに耐性があるため、この攻撃を防ぎます。 チップがプログラムされると、他のソフトウェアを実行できなくなります。
セキュアエレメントチップはセキュリティラボによって認証済み
次に、セーフメモリチップとは異なり、セキュアエレメントチップはサードパーティのセキュリティラボ(研究所)によるテストを受けて認証されています。 認証は、各ラボのセキュリティモデルの重要な部分です。 通常、セキュアエレメントはCC EAL規格(別名EAL)に従って評価されます。
CCはCommon Criteria(共通基準)の略で、ハードウェアおよびソフトウェア製品を評価するための国際規格を表します。 また、EALはEvaluation Assurance Level(評価保証レベル)の略です。 この評価は、セキュアエレメントの安全性を測定します。測定は、攻撃に対する物理的な耐性からサプライチェーン全体の脆弱性までに至ります。
評価は単純です。EALレベルが高いほど、セキュアエレメントチップの安全性が高くなります。 CC EALには、低セキュリティから最高のセキュリティ保証まで、7つのレベルがあります。
Ledgerはデバイス内のセキュアエレメントにどのようにアプローチしているのか
Ledgerデバイスは、セキュアエレメントを使用して、暗号資産の秘密鍵を生成および保管します。 他のハードウェアウォレットはセキュアエレメントを使用しますが、Ledgerはその実装に独自のアプローチを採用しています。
LedgerのセキュアエレメントはカスタムオペレーティングシステムBOLOSを実行
Ledgerデバイスのセキュアエレメントは、BOLOSという名前のカスタムオペレーティングシステムを実行しています。 Ledger Liveの正規品チェックメカニズムと組み合わせると、ユーザーは正規のオペレーティングシステムと組み込みアプリケーションを実行していることを確認できます。
セキュアエレメントがセキュアスクリーンを駆動
Ledgerデバイスは、セキュアエレメントを使用して画面を駆動する点でも独特です。 Ledgerをご使用いただくと、お客様が見て確認したものだけに署名できます。 デバイス上のセキュアスクリーン(安全な画面)には、常に、お客様のトランザクションに関する、正確かつ意図されたアドレスが表示されます。 つまり、パソコンやスマートフォンなどのインターネットに接続されたデバイスがマルウェアに感染した場合でも、Ledgerデバイス上のトランザクションの詳細を信頼できるということです。
LedgerのセキュアエレメントチップはEAL 5+とEAL6+認証を取得
Ledgerデバイスには、EAL 5+またはEAL 6+の認証が付いています。 Ledger Nano Xは、EAL5+認証のセキュアエレメントを使用し、Ledger Nano S PlusとLedger StaxはEAL6+認証のセキュアエレメントを使用しています。
EAL5とEAL6の両方の認証は、チップがサードパーティによる広範なテストを受けて、高いセキュリティ基準を満たしていることを保証します。 前述したように、評価は最高でEAL7+なため、Ledgerハードウェアウォレットのセキュアエレメントチップは非常に安全であり、物理的ハッキングおよびリモートハッキングの試みから、お客様を保護するためのさまざまな対策が講じられています。
セキュアエレメント:Ledgerデバイスの不可欠なコンポーネント(構成要素)
ハードウェアウォレットが使用するチップは非常に重要です。 暗号資産トランザクション(取引)を行う場合、完全にセキュリティを確保するためには、3つのことが必要です。
まず、安全地帯、つまり、物理的ハッキングに耐性のあるチップが必要です。 これは、Ledgerデバイスのセキュアエレメントによって処理されます。 次に、その安全地帯に暗号化を実装する必要があります。これはまさに、LedgerのカスタムオペレーティングシステムBOLOSが、セキュアエレメントに対して行うこととまったく同じです。 最後に、トランザクションの意図の真正性(本人のものであること)を認証する方法が必要です。 Ledgerのセキュアスクリーンはセキュアエレメントによって直接駆動されるため、Ledgerデバイスは3つの前提条件をすべて満たしています。
セキュアエレメント固有のセキュリティ機能と、Ledgerの実証済みのセキュリティモデルにより、Ledgerデバイスには、お客様の暗号資産を保護するために必要なツールが備わっております。 さあ、さっそく始めましょう。 Ledgerハードウェアウォレットを入手して、自信を持って資産を取引しましょう