seL4

英語: seL4 microkernel

seL4とは、実装が仕様どおりに振る舞うこと(機能正当性)の機械検証された形式的証明を持つオープンソースのOSマイクロカーネルであり、アプリケーション間の強い分離を高い保証で実現する基盤として、車載を含む高信頼システムで用いられるものである。

要点(Key Takeaways)

  • Klein et al.(SOSP 2009)が「完全な汎用OSカーネルとしては初」となる機能正当性の形式的証明を報告した
  • 証明は抽象仕様からバイナリコードまでを対象とし、機能正当性から情報漏えいの不在までの性質に及ぶ(seL4公式)
  • 証明には前提がある。アセンブリコード・ブートコード・マシンインターフェース・ハードウェア・DMAは証明の仮定側(公式明示)であり、「絶対に安全」を意味しない
  • カーネル本体はGPLv2・ユーザーレベルは2条項BSD。量産車載の採用例としてNIOのSkyOS-M(ONVO L60)が公式サイトに掲載されている

詳細解説

Klein らは2009年のSOSP(ACM Symposium on Operating Systems Principles)で、seL4マイクロカーネルの機械検証された検証を報告し、「我々の知る限り、完全かつ汎用のOSカーネルとしては初の機能正当性の形式的証明」であると述べた。ここでいう機能正当性とは、カーネルの実装が高水準の抽象仕様に常に従って振る舞うことを意味する。カーネルの責務を最小限に絞るマイクロカーネル設計によって信頼すべきコードの規模を小さく保ったことが、この規模の形式検証を現実的にした。その後の証明は公式に「高水準仕様からバイナリコードまで」拡張され、対象となる性質も機能正当性から情報漏えいの不在(機密性)などのセキュリティ性質に及ぶ。

ただし、証明の効力は前提の上に成り立つ。seL4公式は証明の仮定として、アセンブリコード・ブートコード・マシンインターフェース・ハードウェア・DMAを明示しており、これらの欠陥は証明の保証範囲外である。また公式は検証(verification)と認証(certification)を明確に区別しており、形式検証が与えるのは最高水準の保証根拠であって、ISO 26262(自動車)やDO-178C(航空)のような規格認証そのものではない——認証は規格に対する評価プロセスとして別途必要になる。「数学的に証明済み=無条件に安全・認証済み」と読み替えるのは誤りである。

ライセンスは、カーネルレベルのコードがGPLv2、ユーザーレベルのコードが2条項BSDで提供され(公式LICENSE.md・SPDXタグ管理)、プロジェクトはseL4 Foundationの下で運営されている。

SDVにおける位置づけ

SDVの中核課題のひとつは混合臨界(mixed criticality)——安全性の要求水準が異なるソフトウェア(走行制御とインフォテインメント等)を同一の計算機資源に同居させること——であり、その成立条件は「区画間の干渉が起きないこと」の保証にある。seL4の形式的に証明された分離は、この保証を経験則やテストではなく数学的根拠で与える点で、車載の高保証基盤として注目される。

量産採用の公開事例として、seL4公式サイトはNIOがseL4ベースのOS「SkyOS-M」を搭載した ONVO L60 を量産していることを掲載している(seL4 Summit 2024でのNIO発表)。一方で、車載業界全体での採用規模や他OEMの量産状況について一次情報で確認できる包括的データは見当たらず、本稿では個別の公開事例の記載に留める。

  • マイクロカーネル — マイクロカーネルとは、OSのカーネルが担う機能をプロセス間通信・スケジューリング…
  • 形式検証 — 形式検証とは、システムやプログラムが仕様を満たすことを、有限個のテストによる確認…
  • ハイパーバイザ — ハイパーバイザとは、1台の物理ハードウェア上に複数の仮想マシン(VM)を作り出し…
  • 混合臨界 — 混合臨界(mixed criticality)とは、安全性への影響度(クリティカ…

出典・一次情報

  1. Klein et al., "seL4: Formal Verification of an OS Kernel"(SOSP 2009) (Abstract("To our knowledge, this is the first formal proof of functional correctness of a complete, general-purpose operating-system kernel")) — 原文PDFで照合済・2026-06-06
  2. seL4公式・Verificationページ(seL4 Foundation) (証明の範囲(仕様→バイナリ、機能正当性〜情報漏えい不在)・証明の前提(assembly code, boot code, machine interface, hardware, DMA)) — 公式サイトで照合済・2026-06-06
  3. seL4公式・Proofs & Certificationページ (検証(verification)と認証(certification)の区別 — 認証はISO 26262等の規格に対する評価プロセスであり検証とは別) — 公式サイトで照合済・2026-06-06
  4. seL4 LICENSE.md(GitHub・seL4リポジトリ) (カーネルレベル=GPLv2/ユーザーレベル=BSD-2-Clause(SPDXタグで管理)) — 原文で照合済・2026-06-06
  5. seL4公式・採用事例ページ (NIOがseL4ベースのSkyOS-Mを搭載したONVO L60を量産(seL4 Summit 2024でNIO VPが発表・NIOはseL4 Foundationプレミアムメンバー)) — 公式サイトで照合済・2026-06-06