【完全保存版】BananaSDKを通じて、Secure Enclaveを学んでみよう!

こちらは、BananaSDKのドキュメントを翻訳・編集したものです。

1 Secure Enclaveとは

1 概要

Secure Enclaveは、Appleデバイスに統合されたコプロセッサで、機密データの安全なストレージおよび処理機能を提供します。

https://www.iphone-d.jp/blog/mobile_industry/9216.php

なお、コプロセッサとは「中央処理装置(CPU)を補助するために搭載される、機能を特化させた補助的な処理装置」です(Wikipediaから)

https://wa3.i-3-i.info/word18005.html

指紋暗号化キーなどの機密データを格納し、処理します。

Secure Enclaveは中央プロセッサから隔離されています。

これにより、デバイスへの不正なアクセスから保護されます。

2 sepOSについて

Secure Enclave自身のオペレーティングシステムSecure Enclave Processor OS(sepOS)を実行します。

https://www.niap-ccevs.org/MMO/Product/st_vid11147-st.pdf

それにより攻撃者がその上に格納されたデータを侵害するのがより難しくなります。

3 その他の特徴について

また、ハードウェアベース乱数生成器を提供します。

暗号化や復号化などの暗号操作を実行することができます。

Secure Enclave署名者として機能し、Banana Walletのすべてのトランザクションの署名を担当します。

2 アーキテクチャ

1 Secure Enclave Processor (SEP)

Secure Enclaveの主要な計算リソースは、デバイスのOSから完全に独立しています。

ファイルをどのように暗号化するか、そしてどの種類の暗号化を使用するかを管理します。

2 Secure Enclave AES Engine

AES暗号に基づく対称暗号を実行するために使用されます。

ハードウェアキーは、Secure EnclaveUIDまたはGIDから派生します。

3 Public Key Accelerator (PKA)

非対称暗号操作を実行するためのハードウェアブロックです。

PKAは、RSAおよびECC(楕円曲線暗号)の署名と暗号化アルゴリズムをサポートします。

4 Secure non-volatile storage (NVRAM)

AESエンジンによって使用される暗号化キーPKAによって使用される公開鍵および秘密鍵Touch IDおよびFace IDのためのバイオメトリックテンプレートなどの様々な種類のキー格納します


サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊