記事検索

検索ワードを入力してください。
Sky Tech Blog
トラストゾーン

トラストゾーン

ARMプロセッサのセキュリティ技術「トラストゾーン(TrustZone)」は、1つのCPU上に安全な「セキュアワールド」と通常の「ノーマルワールド」という2つの独立した実行環境を構築します。本記事では、このトラストゾーンが指紋認証や動画配信サービスのDRMといった身近な技術でどのように利用されているかを解説します。また、その構成要素であるCA(Client Apps)、TA(Trusted Apps)、Trusted OSの役割を説明し、セキュアなアプリケーション開発における重要性を紹介します。

トラストゾーンとは

1つのCPUで2つの世界を実現します。

ARMプロセッサが提供するトラストゾーン(TrustZone)は、システム全体をセキュアワールドとノーマルワールドに分けるセキュリティ技術です。
AndroidやLinuxなどRich OSで動くノーマルワールド、指紋認証や暗号鍵の管理などを行うセキュアワールドです。
セキュリティが必要な処理をセキュアワールドで行い、一般的な処理をノーマルワールドで行うことができます。

トラストゾーンは​身近に​ある

トラストゾーンは具体的には以下のような機能で利用されています。
身近なところで使われていることが分かります。

  • 機能: 指紋データやパスワードなどのユーザー認証情報の保護と認証処理。
    利用シーン: スマートフォンでの生体認証に利用される。認証情報をセキュアな領域に保存、認証処理をセキュアに実行することで不正アクセスを防ぐ。
  • 機能: デジタルコンテンツの復号化と再生をセキュアな環境で行う。
    利用シーン: NetflixやAmazon Prime Videoなどの動画ストリーミングサービスで、コンテンツの復号化と再生をセキュアに行い不正コピーを防止する。
  • 機能: クレジットカード情報や個人情報などの機密データのセキュアな保存とアクセス制御。
    利用シーン: モバイルペイメントアプリで、クレジットカード情報や取引情報をセキュアな領域に保存し不正なアクセスや改ざんを防ぐ。

トラストゾーンの​構成

  • Client Apps (CA): ノーマルワールドで動作するアプリケーション。セキュアAPIを呼び出してセキュアワールドの機能を利用する。
  • Trusted Apps (TA): セキュアワールドで動作するアプリケーション。セキュアAPIを通じてCAからのリクエストを受け、セキュアな処理を行う。
  • Trusted OS: セキュアワールドで動作するオペレーティングシステム。TAを管理しセキュアな環境を提供する。

AndroidアプリケーションでARMトラストゾーンを利用するためには、セキュアAPIを使用してノーマルワールドからセキュアワールドにアクセスする必要があります。
セキュアAPIの初期化、呼び出し、終了の手順を正しく実装し、セキュリティ対策を講じることで、安全なアプリケーションを開発します。

まとめ

トラストゾーンは悪意ある攻撃の表面積を最小限にするための強固な盾です。
AndroidなどのRich OSが攻撃にさらされても、ノーマルワールドとセキュアワールドの切り替えを司るNSビットをハードウェアが守る限りセキュアなデータは守られます。
エンジニアはトラストゾーンがセキュアだと信じるだけではなく、ここでは説明しませんがEL3のモニターコードやTZASC(TrustZone Address Space Controller)の設定がいかに重要かを考え設計しましょう。


\シェアをお願いします!/
  • X
  • Facebook
  • LINE
キャリア採用募集中!

入社後にスキルアップを目指す若手の方も、ご自身の経験を幅広いフィールドで生かしたいベテランの方も、お一人おひとりの経験に応じたキャリア採用を行っています。

Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム