概要
Smartphone SatelliteをSHIHA COREへ安全に接続する方法について、
スマートフォンの日常利用でも毎回YubiKeyを接続する
方式は採用しないことを決定した。
代わりに、新しい端末をSHIHA SYSTEMへ登録するときだけ強いOWNER認証を要求し、その後はスマートフォン内部のHardware-backed Keyを利用する。
これにより、
登録時の強い信頼確立
と、
日常利用の利便性
を分離する。
背景 / 課題
Smartphone Satelliteには、
- Coreとの会話
- 通知
- 状態確認
- 簡易操作
- OWNER機能
などを持たせる予定である。
しかし毎回、
iPhone
↓
YubiKey接続
↓
FIDO2
↓
CORE接続
とすると、日常利用の負担が大きい。
一方、
Face IDだけで新しいスマートフォンをSHIHA SYSTEMへ追加できる
構成では、端末追加そのものが信頼境界の変更となるため安全性が不足する。
そこでEnrollmentとDaily Authenticationを分離する。
新規端末登録
新しいスマートフォンを登録するときは、
LABO-PC / Master Device
↓
OWNER Authentication
↓
YubiKey / FIDO2
↓
Temporary Enrollment Session
↓
QR Code / Short-lived Registration
↓
Smartphone
という流れを基本とする。
スマートフォン単独から新規登録を開始しない。
Device Key
登録時、スマートフォン自身で、
Public Key
+
Private Key
の端末専用Key Pairを生成する。
Private Key
iPhoneでは、
Secure Enclave
等のHardware-backed Key Storeへ保持する。
秘密鍵をSHIHA COREやLABO-PCへコピーしない。
Public Key
公開鍵のみSHIHA COREへ登録する。
Smartphone
Private Key
→ Secure Enclave内
Public Key
→ SHIHA CORE
という分離を維持する。
日常認証
登録済み端末の日常利用ではYubiKeyを要求しない。
基本フローは、
SHIHA CORE
↓
Challenge
↓
iPhone
↓
Face ID
↓
Secure Enclave Device Key
↓
Challenge署名
↓
SHIHA CORE
↓
Device Authentication OK
とする。
つまり、
Face IDそのものをCoreへ送って認証する
のではない。
Face IDは端末内部で秘密鍵利用を許可するために使う。
Coreは登録済み公開鍵による署名を検証する。
OWNER Session
登録済みスマートフォンでOWNER機能を使用するときは、
Face ID
+
Device Key
+
OWNER Session
を基本とする。
通常操作のたびにYubiKeyをスマートフォンへ接続する必要はない。
Trust Boundaryを変更する操作
ただし、以下はスマートフォンの日常認証だけでは完結させない。
新しい端末の登録
Recovery
Device Key変更
端末Trustの変更
重大なSecurity設定変更
これらは原則として、
LABO-PC / Master
+
OWNER
+
YubiKey / FIDO2
へ戻す。
つまり、
登録済み端末を使う
ことと、
新しい端末を信頼する
ことを別の権限として扱う。
Microsoft Authenticator
Microsoft Authenticatorは、Smartphone Satelliteの主要認証方式にはしない。
位置づけは、
- Recovery補助
- 追加MFA
- 将来の補助認証
候補とする。
SHIHA SYSTEM固有の端末認証は、Device Keyを中心に構成する。
Security Model
最終的な役割は、
MASTER DEVICE
LABO-PC
│
├ OWNER Authentication
├ YubiKey / FIDO2
└ Device Enrollment Authority
│
↓
SHIHA CORE
│
├ Registered Public Key
│
↓
SMARTPHONE SATELLITE
│
├ Face ID
├ Secure Enclave
└ Device Private Key
となる。
紛失時
スマートフォン紛失時には、
Secure Enclave内のPrivate Keyを回収する
のではなく、
CORE側でそのDevice Public KeyのTrustを失効させる
方式とする。
新しい端末は改めてMaster DeviceからEnrollmentする。
結果 / 現在位置
Smartphone Satelliteの認証方式を、
YubiKeyをスマートフォンでも常用する方式
から、
Master Deviceで強く登録し、登録後は端末Hardware Keyで認証する方式
へ正式に固定した。
これによりCORE-10で定義したHardware Authenticationを維持しながら、日常のスマートフォン利用ではYubiKeyを不要にできる。
CURRENT STATUS — MOBILE DEVICE AUTHENTICATION ADOPTED
関連正本:
→ SHIHA SYSTEM
→ Smartphone Satellite
→ DEVLOG 066 / Continuity & Security
→ DEVLOG 072 / OWNER Hardware Authentication