【完全保存版】BananaSDKを通じて、Secure Enclaveを学んでみよう!
こちらは、BananaSDKのドキュメントを翻訳・編集したものです。
1 Secure Enclaveとは
1 概要
Secure Enclaveは、Appleデバイスに統合されたコプロセッサで、機密データの安全なストレージおよび処理機能を提供します。
![](https://assets.st-note.com/img/1689891514534-EzVgS7zfZX.png?width=800)
なお、コプロセッサとは「中央処理装置(CPU)を補助するために搭載される、機能を特化させた補助的な処理装置」です(Wikipediaから)
![](https://assets.st-note.com/img/1689891766514-d7MZxgXQwA.png?width=800)
指紋や暗号化キーなどの機密データを格納し、処理します。
Secure Enclaveは中央プロセッサから隔離されています。
これにより、デバイスへの不正なアクセスから保護されます。
2 sepOSについて
Secure Enclaveは自身のオペレーティングシステム、Secure Enclave Processor OS(sepOS)を実行します。
![](https://assets.st-note.com/img/1689892201726-VpsnxEBEyJ.png?width=800)
それにより攻撃者がその上に格納されたデータを侵害するのがより難しくなります。
3 その他の特徴について
また、ハードウェアベースの乱数生成器を提供します。
暗号化や復号化などの暗号操作を実行することができます。
Secure Enclaveは署名者として機能し、Banana Walletのすべてのトランザクションの署名を担当します。
2 アーキテクチャ
1 Secure Enclave Processor (SEP)
Secure Enclaveの主要な計算リソースは、デバイスのOSから完全に独立しています。
ファイルをどのように暗号化するか、そしてどの種類の暗号化を使用するかを管理します。
![](https://assets.st-note.com/img/1689892438108-xEZWIAGkjw.png?width=800)
2 Secure Enclave AES Engine
AES暗号に基づく対称暗号を実行するために使用されます。
ハードウェアキーは、Secure EnclaveのUIDまたはGIDから派生します。
![](https://assets.st-note.com/img/1689892650424-YO3EhYFwYy.png?width=800)
3 Public Key Accelerator (PKA)
非対称暗号操作を実行するためのハードウェアブロックです。
PKAは、RSAおよびECC(楕円曲線暗号)の署名と暗号化アルゴリズムをサポートします。
![](https://assets.st-note.com/img/1689892742342-2g2JN32nDF.png?width=800)
4 Secure non-volatile storage (NVRAM)
AESエンジンによって使用される暗号化キー、PKAによって使用される公開鍵および秘密鍵、Touch IDおよびFace IDのためのバイオメトリックテンプレートなどの様々な種類のキーを格納します
![](https://assets.st-note.com/img/1689892838889-IvxLBrRdHT.png?width=800)
サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊