TOMOYO Linux

'''は、用のセキュアモジュール。"の名前が付いているが、ディストリビューションの一つではない。

歴史
はカーネル（バージョン2.4並びに2.6）をベースとして、「ポリシーの自動学習機能」を備えた強制アクセス制御の実装である。バニラカーネル（リーナス・トーバルズによりリリースされる公式のカーネル）に対するパッチおよびポリシーエディタ等の設定ツールにより構成される。データの研究開発プロジェクトとして年に始まり、年ににてバージョン2によりオープンソースソフトウェアとして公開された。

は当初より名称が注目を集めた歴史がある
。
公式には、"（構造体(_)を活用した「管理者の」負担を軽減する）の略（バクロニム）ということになっているが、開発者の1人である半田哲夫がこよなく愛するカードキャプターさくらの登場キャラから拝借したものであることのほうが今や良く知られている。このことは、プロジェクトの

や執筆した記事でも明記されており、プロジェクト側では名前の由来を隠しているわけではない。なお、彼個人の中ではプロジェクトとしてオーサライズされたものではない壮大な構想がある
。
開発当初は、ポリシーの管理不要な物理的な改竄防止を実現した（ただし、これはコード名であり正式名称ではない）が存在し、セキュリティ・スタジアム2004

の報告書

などにその名前がでてくるが、の機能は現在本体に統合されている。

プロジェクトは、当初日本国内ユーザに特化する考えを持っていたが、様々な観点からプロジェクトの方針はのメインライン化（標準機能としてリーナス・トーバルズによりメンテナンスされているソースコードブランチへの統合）を目指すよう変更された。その理由はいくつかある。

のにおける情報家電・組み込み開発者の一部から上がった意見「組み込み開発者の多くが組み込み環境における、セキュリティ強化を希求しているが、（当時）すでにメインライン統合済みであった () には一部組み込み環境では負荷が大きい側面があり、そのためのようなパス名ベースのライトウェイトなセキュリティモジュールはうまく適合する側面がある。しかし組み込み開発者はカーネルへのパッチ適用を避ける傾向がある。」
（横浜ユーザグループ）カーネル読書会などでの「熱い洗礼」
プロジェクト側の考えとしてメインラインカーネルツリーの外で「野良」メンテナンスし続けることは、一部の技術力の高いユーザは何もせずとも利用するかもしれないが、ビジネスユーザにとってはメインラインではないカーネルを使用することなど論外であり、ユーザの裾野を広げる点で障害になっていた点
カーネル開発者の多くは「リーナス・トーバルズのソースツリーに含まれていないものは見ない」傾向がある、すなわちメインライン化を図っていないコードはカーネル開発者の目に届きにくく、メインラインのに追随し野良メンテナンスを行いつづけたとしても、ある日メインラインのカーネルツリーに追随不可能なコードの変更が加えられるかもしれない危険性があったという点

などである。これらに対応するため、プロジェクトは現行のバージョン1とは別に()に対応したバージョン2の作成に着手、年よりにてバージョン2のメインライン化に向けて提案を開始した。マージへ向けての道のりは険しく、と同じくパス名ベースの強制アクセス制御モジュールAppArmorと共に一部の開発者からその実装を非難され、同時にの削除とへの一本化を提案される状態だった。当時のはマージ済みのセキュア実装がしかなかったこともあり、ラベルベースのフックに偏っていたため、マージのために新たなファイルパス名ベースのフックを導入する必要があったが、これはと双方の変更が必要だった。のメンテナはこの変更を当初頑なに拒否したため説得に難航したが、最終的にはツリーメンテナのアンドリュー・モートンが直接の真意を聞き出し、結果的にへのマージに成功した。その他様々な提案とコードの変更を行った結果、バージョン2は、年6月9日()にバージョン2.6.30に無事マージされた

。

メインライン化までの道のりについて、いくつかの記事が書かれている。

標準カーネル統合間近！の足跡：第1回--コミュニティの熱い力 - 
標準カーネル統合間近！の足跡：第2回--押し寄せる危機の連続 - 
標準カーネル統合間近！の足跡：第3回--を支えた人々 - 
 第1回：熱い言葉に背中を押されて (1/3)

機能
前述の通り、現行バージョンは2つあり、バージョン1はバニラカーネルへのパッチ（と呼称される）の適用が必要であるが、カーネルバージョン2.4 および2.6双方で利用でき、など他のセキュア実装と同時に利用できる。これはカーネル標準のを使用せず独自のフレームワークを利用しているためである。通常の上になど各種セキュアが実装されているが、は複数のセキュア実装を同時実行できない。（更にカーネルバージョン2.6.24からはとしても実装できなくなった。）この為、バージョン1は他のセキュア実装を有効化した状態でも使用でき、セキュアとして標準的な強制アクセス制御のすべて（ネットワーク、環境変数に対する制御なども含む）を利用できる。アクセス制御機能の豊富さから旧来のユーザーを中心とした利用者が多い。
バージョン2は、に基づくセキュア実装である。カーネルに必要な機能が既に統合されたのは前述のとおりであるが、2011年1月現在においては、ファイルに対する強制アクセス制御の一部のみしか利用できない。また前述のとおり、他のセキュア実装と同時実行できない。これは機能的にはバージョン1に劣るが、カーネル設定で有効化するだけで（設定ツールのインストールなどの準備などを除いたとしても）容易に強制アクセス制御を有効化できる点で新規ユーザー側にとっての利点があるともいえる。

ポリシーの自動学習機能にて基本的動作を学習させることができるため、従来のセキュアに比べ導入にかかる期間・手間を大幅に削減できる。

沿革
プロジェクト発足からオープンソースとして公開されるまでの道のりについて、で「への道」と題し講演されている。

オープンソースとして公開されてから2008年7月までの取り組みについて、  #8シンポジウムにて、として講演されている。

はオープンソースプロジェクトであり、ソースコードに対するアクセスが確保されていることもさることながら、情報公開を重視し各種イベントへの出展やイベントで使用した資料について全て公開されている。以下がその例である。

カテゴリ: ルート - （日本語資料）
（英語資料）

脚注

関連項目

 () - とほぼ同等の機能を有する。やなどカーネル統合済みのセキュアとも同時実行できる。半田哲夫個人のプロジェクト。なお、この名称はARIAの登場人物である「水無灯里」から採られているAKARI という名前の由来について - 熊猫さくらのブログ 2010年10月16日、2020年3月16日閲覧。。

外部リンク

【めざせ】 【本家入り】 マージ前後においてちゃんねる＠2掲示板において開発者を交え議論がなされていたのは特徴的である（吉岡弘隆による解説）。
熊猫さくらのブログ

’

@ カーネルマージまでの道のり
 - 閉環境下における、ポリシールール学習デーモン

Category:Linux
Category:日本のLinux開発
Category:セキュリティソフト