11. 11
ライフサイクル管理
RO-IoTではデバイス、ソフトウェア、サービスのライフサイク
ルを管理。
3つのライフサイクルをPKIベースの3つのTLS証明書と対
応。証明書の期限とサポートの期限がリンク。
デバイスはルート証明書
ソフトウェアはクライアント証明書
サービスはサーバ証明書
証明書の管理
ルート証明書はDevice SupplierによってTEE内
クライアント証明書はSoftware VendorによってTEE内
サーバ証明書はService Providerによってserverで管理
証明書はHTTPSでネットワークブートする度に検証
され、検証が失敗(失効)すればOSが動かない。
失効には期限切れ以外にも対応。緊急時はサーバ証明書
で対応。
Device
Factory
Service
Provider
Fresh eMMC
Provisioning Server (Port 444)
EstablishTLS
with
provisioning
ServerCert
Download
Booting URL
& Client Cert
& PackageCert
Establish TLS
with
Download
Server Cert
& Client Cert
Download
ROMFS
License
Termination
Service
Termination
Device
Termination
Server Public Cert
Booting Server (Port 443)
SOKKey
Device
Supplier
Software
Vendor
Provisioning Server Private Key
Provisioning Server Public Cert
Client Private Key
Client Public Cert
Package Private Key
Package Public Key
DownloadURL
Secure Storage Encrypted
by Key inTA‐Boot
Ext4 on FirstLinux
Download Server PrivateKey
Download Server Public Cert
request
request
request
fip.bin
(Secure Storage AES Key,
ImageCache AES Key)
Provisioning URL
CA Private Key
CA Public Cert
ROMFS signed by
Package PrivateKey
fip.bin encrypted
by SOC Key
Build in TA‐Boot
Provisioning URL
CA PublicCert
Download URL
Client Public Cert
Client Private Key
Package Public Key
romfs encrypted by
Key inTA
Secure Storage Encrypted
by Key inTA‐Boot
Ext4 on FirstLinux
fip.bin encrypted
by SOC Key
Build in TA‐Boot
Provisioning URL
CA PublicCert
Download URL
Client Public Cert
Client Private Key
Package Public Key
Secure Storage Encrypted
by Key inTA‐Boot
Ext4 on FirstLinux
fip.bin encrypted
by SOC Key
Build in TA‐Boot
Provisioning URL
CA PublicCert
CA
Server Public Cert
Operation
Setup
12. 12
実装
RO-IoTはHiKeyボード (Arm Cortex-A, 2GB
Memory)に実装。
eMMCストレージには First Linux(ブートローダとして
働く)とTEE内のソフトウェア (Trusted OSのOP-
TEE、TA-Boot)がある。
右図のグレー部分は暗号化されているストレージ。
BL2: TrustedBoot
Firmware(29KB)
BL31: Secure
Monitor(33KB)
BL32: SecureOS
OP‐TEE(286KB)
BL33: First Linux
ROMFS(7,100KB)
Kernel(5,464KB)
dtb(37KB)
intramfs.gz (1,598KB)
intramfs.gz
ForNetwork
dhcp
netdate
ip
For OP‐TEE
TEE‐Supplicant (197KB)
TA‐Client1 (17KB)
TA‐Boot(1,173KB)
ForBoot
kexec
For Updatefib.bin
dd
SecureStorage
encrypted by key inTA
Download URL
Client Public Cert
Client Privatekey
ROM
Key in SOC
Run in normal world
Run in secure world
TA‐Boot
For HTTPProtocol
LibWebSockets
ForSecurity
BoringSSL
Keys
CA Pub Cert
Provisioning URL
AES Key for SecureStorage
AES Key for ImageCache
URL
URL of Provisioning Server
eMMC
fip.bin(7,590KB)
encrypted by key in SOC
First Linux FS(EXT4)
Imagecache
encrypted by key
inTA
BL1: BootROM
16. 16
ASCAS2020投稿
実はもうあきらめムードだった。
別のランクの低い会議あり、そちらにするか考えていた。
ギリギリ、Early Rejectなら投稿が間に合いそうだった。
投稿時に共著者に送ったメール。
ACSAC 2020 Submit 2020/6/17
Conditional Accept 2020/8/17 Weak reject + Weak reject + Accept
Dear,
I submit the final version of ACSAC 2020 paper.
My paper number is 312.
If the paper will be rejected, I prefer the early reject. :-)
-------
Kuniyasu Suzaki