組込みセキュリティの現状

CELinux Forum Japan Technical Jamboree #18で、「セキュリティ機能の開発動向と、組込み分野での課題」と題して話をしてきた。

直前に中村さんの組込みSELinux話と、岡山大・松田さんのLSMPMONのトピックがあったので、セキュリティ話3連発という事になる。

今回は特にSELinuxに限定した話ではなく、最近のLinux界隈のセキュリティ機能を組込み領域で適用する際にどういった課題があるかという事のまとめ。
(そして、開発に参加してみたいという人を釣ることが目的)
そんなエサに俺様がクマー!とか言わないでほしい。
直前のセッションで、『SELinux機能を組込みに移植する目的は何ですか?』と質問があったが、その回答は『OS向けのPP(Protection Profile)に記載された要件を満たすため』という事になる。
但し、今のところ組込みOS向けのProtection Profileは存在しないので、参考にしたのはCAPP/LSPP/MLOSPPなどのIT領域向けOSのPP

間違ってほしくないのは、SELinuxの特性は所詮 User Data Protection の機能要求に対応するもので、これさえ入れれば大丈夫というものではない。
SELinuxカバレッジが及ばない部分に関しては、他のセキュリティ機能と組み合わせる事が必要。例えば、電源OFFの時にデバイスを抜かれたら〜というのは、アクセス制御ではなく暗号化システムの範疇ということになる。

暗号鍵管理の方法で面白い話を仕入れた。
サーバ/デスクトップ用途であればTPMチップ搭載H/Wがだいぶ増えてきたが、部品数とコスト要求のシビアな組込み分野では、容易に部品数を増やせない場合がある。そういう場合に適用する事のできるARM TrustZoneという技術があるらしい。アイデアは、一般のコードを実行する領域と、TrustedCodeを実行するコードをH/W的に分離することで、安全な鍵管理などに使えるのだとか。
勉強のネタ+1

あと、午前中の発表で Android (Google Phone)の話があったが、ここで開発環境として紹介されていた QEMU が面白そう。自分はARMなどのCPUで評価を行うための環境を持っていないが、QEMUで仮想CPU/仮想HW上の環境を構築できれば、面白い実験ができそう。