|
| 1 | +# 概要 |
| 2 | + |
| 3 | +wolfHSMは、暗号操作・鍵管理・不揮発性ストレージの制御など、HSM操作用の統合APIを提供するソフトウェアフレームワークです。 |
| 4 | +HSMアプリケーションに関連するコードの移植性を向上させるように設計しており、ベンダー固有のライブラリ呼び出しに縛られることなく、強力なセキュリティ機能を多くのハードウェア上で容易に使用できるようにします。 |
| 5 | +wolfCrypt APIを直接使用できるため、クライアントアプリケーションが大幅に簡素化されます。ライブラリは、クライアントアプリで追加のロジックを必要とせずに、すべての機密性の高い暗号化操作をリモートプロシージャコールとしてHSMコアに自動的にオフロードします。 |
| 6 | + |
| 7 | +当初、主に自動車に搭載されるHSM対応マイクロコントローラを対象としていました。 |
| 8 | +しかし現在では、自動車に限らずあらゆるユースケースにおいてPKCS11やAUTOSAR SHEなどの標準化されたインターフェイスとプロトコルをサポートできるようにしました。 |
| 9 | +プラットフォームに将来追加される機能をサポートすることのできる、拡張可能なソリューションです。wolfCrypt以外の外部依存はなく、ほぼすべての実行環境に移植可能です。 |
| 10 | + |
| 11 | +## 機能 |
| 12 | + |
| 13 | +- ユーザーベースの権限による安全な不揮発性オブジェクトストレージ |
| 14 | +- ハードウェアキーをサポートする暗号鍵管理 |
| 15 | +- 互換性のあるデバイスに対するハードウェア暗号化サポート |
| 16 | +- 完全に非同期のクライアントAPI |
| 17 | +- 柔軟なコールバックアーキテクチャにより、ライブラリを変更せずにカスタムユースケースを実現 |
| 18 | +- wolfCrypt APIをクライアントで直接使用し、HSMコアに自動的にオフロード |
| 19 | +- 信頼チェーンをサポートするイメージマネージャー |
| 20 | +- AUTOSARとの統合 |
| 21 | +- SHE+との統合 |
| 22 | +- PKCS11インターフェイスを使用可能 |
| 23 | +- TPM 2.0インターフェイスを使用可能 |
| 24 | +- Secure OnBoard Communication (SecOC) モジュール統合を使用可能 |
| 25 | +- 証明書の処理 |
| 26 | +- 共通鍵暗号・公開鍵暗号の両方に対応 |
| 27 | +- 半導体ベンダーによって実装されたアルゴリズムだけでなく、wolfCryptに実装されているすべてのアルゴリズムを提供することで、「暗号アジリティ」をサポート |
| 28 | +- FIPS 140-3認証を取得可能 |
| 29 | + |
| 30 | +## アーキテクチャ |
| 31 | + |
| 32 | + wolfHSMは、サーバーが信頼できる安全な環境(通常は安全なコプロセッサ上)で実行され、クライアントがライブラリであるクライアントサーバーモデルを採用しています。このアーキテクチャにより、機密性の高い暗号化操作と鍵管理がサーバー内で安全に処理され、クライアントライブラリがサーバーとのレイヤーの低い通信を抽象化します。 |
| 33 | + |
| 34 | +- サーバー: wolfHSMのサーバーコンポーネントは、HSMコアで実行されるスタンドアロンアプリケーションです。安全な環境内で暗号化操作、鍵管理、不揮発性ストレージを処理します。サーバーはクライアントからの要求を処理し、結果を返す役割を担います。 |
| 35 | + |
| 36 | +- クライアント: wolfHSMのクライアントコンポーネントは、ユーザーアプリケーションにリンクできるライブラリです。サーバーに要求を送信し、応答を受信するためのAPIを提供します。クライアントは、通信の複雑さを抽象化し、アプリケーションがHSMと安全かつ効率的に対話できるようにします。 |
| 37 | + |
| 38 | +## ポート |
| 39 | + |
| 40 | +wolfHSM自体には特定のハードウェアと対話するためのコードは含まれておらず、単体では実行できません。 wolfHSMをデバイスで実行するには、サーバ アプリケーションがクライアントと通信して実行できるように、必要なハードウェアドライバーと抽象化レイヤーを使用してライブラリを構成する必要があります。具体的には、次の要素が必要です。 |
| 41 | + |
| 42 | +- サーバーアプリケーションの起動とハードウェアの初期化 |
| 43 | +- サーバーにおけるwolfCrypt構成 |
| 44 | +- サーバーの不揮発性メモリ構成 |
| 45 | +- サーバーとクライアントのトランスポート構成 |
| 46 | +- サーバーとクライアントの接続処理 |
| 47 | + |
| 48 | +これらの要件を提供し、サーバーAPIを起動可能なアプリケーションにラップするコードを、wolfHSM「ポート」と呼んでいます。 |
| 49 | + |
| 50 | +wolfHSMの公式ポートは、サポートされているさまざまなアーキテクチャ用に提供しています。それぞれのポートには次のものが含まれます。 |
| 51 | + |
| 52 | +- スタンドアロンリファレンスサーバーアプリケーション: このアプリケーションは、HSMコアで実行され、すべての安全な操作を処理することを目的としています。すぐに使用できる状態で完全に機能しますが、エンドユーザーがカスタマイズして追加のユースケースをサポートすることもできます。 |
| 53 | +- クライアントライブラリ: このライブラリは、ユーザーアプリケーションにリンクして、サーバーとの通信を容易にします。 |
| 54 | + |
| 55 | +### 対応状況 |
| 56 | + |
| 57 | +本章執筆時点において、次のデバイス/環境のポートをサポートしています。 |
| 58 | + |
| 59 | +- POSIX ランタイム |
| 60 | +- ST Micro SPC58N\* |
| 61 | +- Infineon Aurix TC3xx\* |
| 62 | +- Infineon Aurix TC4xx\* (近日対応予定) |
| 63 | +- Infineon Traveo T2G\* (近日対応予定) |
| 64 | +- Renesas RH850\* (近日対応予定) |
| 65 | +- NXP S32\* (近日対応予定) |
| 66 | + |
| 67 | +ここに示した環境のほか、いくつかの環境へのポートを現在準備中です。 |
| 68 | + |
| 69 | +\* 残念ながら、これらのポートでは、HSMコアに関する情報を取得するためにシリコンベンダーとのNDAが必要です。したがって、これらのプラットフォームのwolfHSMポートは一般には公開しておりません。ご興味がございましたら、 [email protected] までお問い合わせください。 |
0 commit comments