Bitfrost/lang-ja: Difference between revisions
m (add link to 日本語 translation for full OLPC Bitfrost specification local wiki version) |
m (ウィールス --> ウイルス) |
||
Line 60: | Line 60: | ||
from thirty-five years ago? |
from thirty-five years ago? |
||
| display = none }} |
| display = none }} |
||
それは1971年には承知されたでしょう: ウェブが現れる20年前でしたし、ほとんどのコンピュータユーザに当てはまる脅威モデルも今とは全く違っていました。だが、しかし、我々の守りが35年間の間に何も変わっていない状態なので、未だにウ |
それは1971年には承知されたでしょう: ウェブが現れる20年前でしたし、ほとんどのコンピュータユーザに当てはまる脅威モデルも今とは全く違っていました。だが、しかし、我々の守りが35年間の間に何も変わっていない状態なので、未だにウイルスやマルウェアを止められないのは当然ではないでしょうか? |
||
{{ Translated text | |
{{ Translated text | |
||
The crux of the problem lies in the assumption that any program executing on |
The crux of the problem lies in the assumption that any program executing on |
||
Line 92: | Line 92: | ||
defense for it. |
defense for it. |
||
| display = none }} |
| display = none }} |
||
舞台を現代へ変えてみましょう、事態は極端に違っています。最も対照的なのは多分ユーザが尋ねる殆どのウェブページに置ける'untrusted scripting code'(アントラステッド・スクリプトコード/不信用スクリプトコード)がウェブブラウザによって実行される、ウェブの上でしょう。ブラウザはますますその様なウェブスクリプトの機能を制限する複雑なサンドボックス・システムになっています。しかし、未だに最新バージョンのブラウザはスクリプトエンジンの実装でバグフィックスを行っています。Eメールのことも忘れないでください。だれでもユーザ宛に実行ファイルを送りつけることができます。長い間、ユーザの本能的な行動はアタッチメントを開いてプログラムを作動することでした。'Untrusted code'(アントラステッド・コード/不信用コード)はあっちこっちにあり、唯一の防御方は退屈なユーザトレーニングとアンチウ |
舞台を現代へ変えてみましょう、事態は極端に違っています。最も対照的なのは多分ユーザが尋ねる殆どのウェブページに置ける'untrusted scripting code'(アントラステッド・スクリプトコード/不信用スクリプトコード)がウェブブラウザによって実行される、ウェブの上でしょう。ブラウザはますますその様なウェブスクリプトの機能を制限する複雑なサンドボックス・システムになっています。しかし、未だに最新バージョンのブラウザはスクリプトエンジンの実装でバグフィックスを行っています。Eメールのことも忘れないでください。だれでもユーザ宛に実行ファイルを送りつけることができます。長い間、ユーザの本能的な行動はアタッチメントを開いてプログラムを作動することでした。'Untrusted code'(アントラステッド・コード/不信用コード)はあっちこっちにあり、唯一の防御方は退屈なユーザトレーニングとアンチウイルスだけなようです。後のアンチウイルスに関しては、それがアップデートされており、さらにアンチウイルスメーカーが各新登場ウイルスの分析をして対策を作る時間がある設定を予想した事情の上での話です。 |
||
{{ Translated text | |
{{ Translated text | |
||
Most technologies and approaches that constitute the Bitfrost platform do not |
Most technologies and approaches that constitute the Bitfrost platform do not |
||
Line 107: | Line 107: | ||
largely renders these issues moot. |
largely renders these issues moot. |
||
display = none }} |
display = none }} |
||
Bitfrost(ビットフロスト)を構成するほとんどのテクノロジーは独特のリサーチではありません。それらは、セキュリティ関係の著述ではよく知られていますし、ある物はすでに実際の場で運用されており、研究所でテスト中の物もあります。OLPC XOラップトップに注目を集めるのは、初めてそれらのセキュリティ対策が十及び何百万人ものユーザを対象に使われるシステムで慎重に纏めて導入されることです。そして、そのラップトップは初めてメインストリームのコンピュータが、強いセキュリティを得るためにレガシープログラムへの互換性を自ら進んで諦めた例かもしれません。例として、アンチウ |
Bitfrost(ビットフロスト)を構成するほとんどのテクノロジーは独特のリサーチではありません。それらは、セキュリティ関係の著述ではよく知られていますし、ある物はすでに実際の場で運用されており、研究所でテスト中の物もあります。OLPC XOラップトップに注目を集めるのは、初めてそれらのセキュリティ対策が十及び何百万人ものユーザを対象に使われるシステムで慎重に纏めて導入されることです。そして、そのラップトップは初めてメインストリームのコンピュータが、強いセキュリティを得るためにレガシープログラムへの互換性を自ら進んで諦めた例かもしれません。例として、アンチウイルスやアンチスパイウェア対策テクノロジーの話がビットフロスト・スペックから目立つように不在であるのに気づくでしょう。その理由は、XOラップトップのセキュリティプラットフォームがその様な問題をムート(議論必要なし)にするからです。 |
||
{{ Translated text | |
{{ Translated text | |
||
We have set out to create a system that is both drastically more secure and |
We have set out to create a system that is both drastically more secure and |
Latest revision as of 21:28, 8 December 2007
- This is an on-going translation
Bitfrost(ビットフロスト)とはOLPCのセキュリティ・プラットフォームです。このページでこれから続く内容は、非テクニカル的に紹介した、私たちが解決しようとするセキュリティ問題やそれに関した私たちの目標とそれに基づいた原理です。内容は完全Bitfrost specification(ビットフロスト・スペック)かlocal wiki version(ローカルwikiバージョン、日本語翻訳版はここ「ただいま翻訳中」です)から来ています。それらに付いて、公開のOLPC security mailing list(セキュリティ・メーリングリスト)を通してぜひ 議論に参加できるよう願っています。
紹介と要約
1971年にAT&Tの二人のプログラマー、Ken Thompson (ケン・トンプソン)とDennis Ritchie (デニス・リッチー)が初バージョンのUNIX(ユニックス)をリリースしました。そのオペレーティングシステムは1969年にUNICS(ユニックス)として収入なしのボランティアプロジェクトから始まりました。プログラマー達がテキストプロセッシング・サポートを加える申し出をした時に名前の変更とBell Labs (ベル・ラブス)からの正式な財政援助を得ました。UNIXの大まかなデザインの思いつきは現代まで残っています。人気のあるLinux (リナックス)、FreeBSD (フリーBSD)などのサーバ・オペレーティングシステムや、その他の様々なシステムは基本的に同じUNIX (ユニックス)のデザインを共用しています。
1971年バージョンのUNIX (ユニックス)はuser files (ユーザファイル)で以下のsecurity permissions (セキュリティパーミッション)をサポートしていました。
- non-owner (ノンオウナー/非保有者)はファイルを'change'(チェンジ/変更)できる (write) (ライト/書き込み)
- non-owner (ノンオウナー/非保有者)はファイルが'read'(リード/読む)できる
- owner (オウナー/保有者)はファイルを'change'(チェンジ/変更)できる (write) (ライト/書き込み)
- owner (オウナー/保有者)はファイルが'read'(リード/読む)できる
- ファイルは'execute' (エクセキュート/実行)できる
- ファイルは'set-uid' (setuid/セット・ユー・アイ・ディー)にする
これらのパーミッションはよく見たことがあるでしょう。その理由は、現在ユーザが使うオペレーティングシステムの上での、ファイルにセットできるセキュリティ・パーミッションにそっくりだからです。このパーミッションであまり信じられなくて大変心配なのは、それが昔から現在まで変わりなく、個人ドキュメントの上でユーザが手元に持っているほぼ唯一のコントロールメカニズムだからです。ユーザは同じシステムを共用する他のユーザからファイルを守る事はできますが、自分のプログラムがファイルでいったい何ができるとかのコントロールはまったくありません。
それは1971年には承知されたでしょう: ウェブが現れる20年前でしたし、ほとんどのコンピュータユーザに当てはまる脅威モデルも今とは全く違っていました。だが、しかし、我々の守りが35年間の間に何も変わっていない状態なので、未だにウイルスやマルウェアを止められないのは当然ではないでしょうか?
問題の原因はユーザの名で実行される全プログラムがユーザとまったく同じ機能と特権で実行されることです。 1971年は初のinternational packet-switched network(インターナショナル・パケットスイッチ・ネットワーク)が現れる7年前でした。そして、現在のインターネットが使うコミュニケーション・スーツTCP/IP (ティー・シー・ピー・アイ・ピー)を活用したwide-area network(ワイドエリア・ネットワーク)は1983年まで作られませんでした。これは我々がここで話すトンプソンとリッチーがデザインしたファイルパーミッションから12年後の出来事です。結論的に言うと、1971年ではアカウント保有者のユーザオウナーが肉体的に(例えば、パンチテープで)ファイルを移動するか、または手動で入力しない限りプログラムはコンピュータに存在する事は想像としてもありえませんでした。そのため、実行するプログラムが保有者のアカウントを全体的にコントロールすることできる、例えば、ユーザが実行するコードは実用性のためあらかじめ信用されるとかの"all or nothing"(すべてが無かの)タイプのセキュリティに対するアプローチが結果的に良識されることになったでしょう。
舞台を現代へ変えてみましょう、事態は極端に違っています。最も対照的なのは多分ユーザが尋ねる殆どのウェブページに置ける'untrusted scripting code'(アントラステッド・スクリプトコード/不信用スクリプトコード)がウェブブラウザによって実行される、ウェブの上でしょう。ブラウザはますますその様なウェブスクリプトの機能を制限する複雑なサンドボックス・システムになっています。しかし、未だに最新バージョンのブラウザはスクリプトエンジンの実装でバグフィックスを行っています。Eメールのことも忘れないでください。だれでもユーザ宛に実行ファイルを送りつけることができます。長い間、ユーザの本能的な行動はアタッチメントを開いてプログラムを作動することでした。'Untrusted code'(アントラステッド・コード/不信用コード)はあっちこっちにあり、唯一の防御方は退屈なユーザトレーニングとアンチウイルスだけなようです。後のアンチウイルスに関しては、それがアップデートされており、さらにアンチウイルスメーカーが各新登場ウイルスの分析をして対策を作る時間がある設定を予想した事情の上での話です。
Bitfrost(ビットフロスト)を構成するほとんどのテクノロジーは独特のリサーチではありません。それらは、セキュリティ関係の著述ではよく知られていますし、ある物はすでに実際の場で運用されており、研究所でテスト中の物もあります。OLPC XOラップトップに注目を集めるのは、初めてそれらのセキュリティ対策が十及び何百万人ものユーザを対象に使われるシステムで慎重に纏めて導入されることです。そして、そのラップトップは初めてメインストリームのコンピュータが、強いセキュリティを得るためにレガシープログラムへの互換性を自ら進んで諦めた例かもしれません。例として、アンチウイルスやアンチスパイウェア対策テクノロジーの話がビットフロスト・スペックから目立つように不在であるのに気づくでしょう。その理由は、XOラップトップのセキュリティプラットフォームがその様な問題をムート(議論必要なし)にするからです。
我々は、他の今、マーケットに出ているすべてのメインストリームシステムよりも大幅にセキュアで、大幅に上回るセキュリティでのユーザビリティ(使いやすさ)の両方を装備したシステムの構成を目指しました。ユーザビリティ(使いやすさ)へ取り込んだ一つのいいことは、ビットフロストのプラットフォームでユーザから応答が必要なプロテクションをただ一つに絞ることが出来たことです。その上でも、童子にでも理解できる、単なる'yes or no'(ハイかイイエ)の質問です。残りのセキュリティは目に見えない所で備えられています。しかし、セキュリティとユーザビリティ(使いやすさ)の両方を目指すにも限界があり、ここで、とても大切で言いたいことは、我々は決して"perfectly secure"(完璧なセキュリティ)などは作ろうともしなかったし、そのようなシステムが作られたとも信じてはいません。現実の世界で'perfect security'(完璧なセキュリティ)を完成させるなどのような考えはあまりにもばかげているので、そのような下らない主張からはきっぱりと遠ざかります。
Bitfrost (ビットフロスト)のアプローチ
Principles (原理)
- Open design (オープン・デザイン)
- ラップトップのセキュリティはハードウェアとソフトウェアの上での秘密性には絶対に頼らない。
- No lockdown (ロックダウンなし)
- ディフォルトセッティングでラップトップのセキュリティシステムはユーザに様々な制限をユーザの行動に対してつけ加えますが、セキュリティシステムを解除する方法は必ず必要です。その場合、マシンは全コントロールをユーザに返します。
- No reading required (読書必要なし)
- セキュリティはユーザのコンピュータから来るメッセージの正しい解読能力、そして、それを元に知識的で賢い行動をとる能力に頼ることはできない。セキュリティメカニズムを解除する時は、なにかを読まないといけませんでしょうが、まだ読むことができないユーザに与えれるマシンは出費される前からセキュアであるべきです。
- Unobstrusive security (アンオブストリュシブ・セキュリティ/慎ましいセキュリティ)
- セキュリティはできるだけ裏で行われます。かすかな表示や音のヒントだけでその存在にやっと気づく程度で、決してユーザの邪魔にはなりません。ユーザの少しの便利さとの衝突の場合は、強いアンオブストリュシブ・セキュリティの方が優先になります。けど、そのような手配がひどく、または、派手にマシンの使いやすさを減らさないよう十分に気をつけなければなりません。例えば、もしプログラムがセキュリティセッティングを破ろうとしているなら、ユーザには行動を許可する確認は現れなく、ただ静かに拒否されます。もし、ユーザが行動に許可を与えたいなら、グラフィカルなセキュリティセンター・インターフェースを通して設定を変えることができます。
目標
- No user passwords (ユーザパスワード不必要)
- ユーザの年齢は5歳も満たない子供も対象にしているため、セキュリティの上でユーザがパスワードを覚える能力をあてにすることはできません。ユーザが最初にラップトップを受け取る時にパスワードの設定をするなどの行動は期待できないでしょう。
- No unencrypted authentication (非暗号化された認証なし)
- ラップトップやユーザの認証はネットワークの上で非暗号化された状態で受信した識別子には頼らない。つまり、OLPCプロトコルでは、どんな所でも'cleartext passwords'(クリアテキスト・パスワード/可読テキスト・パスワード)は一切使わず、イーサネットMACアドレスは決して認証には使われません。
- Out-of-the-box security (箱から出た状態でセキュリティ)
- ラップトップはセキュリティアップデートとかをダウンロードする必要なしで、箱から出た状態でセキュアでかつ有用でなければなりません。
- Limited institutional PKI (リミテッド・インスティツーショナル・PKI|ピーケイアイ/限られた機関公開鍵基盤)
- ラップトップの公開鍵はOLPCと国家または地方自治区(例、文部省、教育省)が調達します。だが、これらの鍵はラップトップユーザの身分証明には使われません。このような鍵の唯一の目的は一緒に含まれたソフトウェアとコンテンツの'integrity'(インテグリティ/データの安全性)を検証するために使用されます。ユーザの認証は'certified chain of trust'(サーティファイド・チェイン・オブ・トラスト/認定信頼チェーン)なしの有機的に作られたPKIを通して行われます。すなわち、我々のPKIへのアプローチはKCM (ケーシーエム)、または、'key continuity management'(キー・コンティニュイティー・マネージメント/鍵継続管理)です。
- No permanent data loss (ノー・パーマネント・データロス/永久的データ破損なし)
ラップトップの中にあるデータは、もし、生徒がラップトップをなくしたり、盗まれたり、または、破壊された時にデータの回復を可能にするために、なんらかの'centralized storage place'(セントラライズド・ストレージ・プレース/中央記憶場所)にレプリケートされます。
もし、このトピックに興味があるなら、完全な'Bitfrost specification'(ビットフロスト・スペック)をご覧下さい。そして、OLPCセキュリティ・メーリングリストに加わって、意見の交換や議論にぜひ参加してください。