Capability-based security
Capability-based security はユーザアプリケーションを設計するためのコンセプトで、それらが「最小権限の原則」 (principle of least privilege) に基づいて直接 capability を分け合う方法でセキュリティを実現する方法をいう。オペレーティングシステム (OS) 側にもそれらのトランザクションを効率的に行い、かつセキュアなものにする下地が必要である。
ほとんどの商用OSでは、capability-based securityは用いられず、そのかわりアクセス制御リストをベースにしたセキュリティが行われる。そこでは、プロセスがあるオブジェクトにアクセスする際、OSに対し非特権的な参照を行い、OSはそれに対しプロセスの利用者情報を元に、アクセス権を渡すかどうか決定する。capability-based system ではユーザプロセスは非特権的な参照ではなく、特権的 (privileged) な capability を用いる。capability というのは合法的なアクセス法であり、それを持っている時点で、違法アクセスを防止するための利用者特定ステップ等は不要となる。
既にほとんどのOSがこれに似た仕組みを装備している(ファイル記述子、ファイルハンドルなど)が、典型的には capability の交換をサポートしていない。capability-based OSは対照的に、信頼できないエンティティも混じった中で capability の交換を行い、これを最も基本的な方法として、システム全体を通したアクセス権の保証と伝播を実現することを骨子としている。