ケーパビリティとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 日本語表現辞典 > ケーパビリティの意味・解説 

capability

別表記:ケーパビリティ

「capability」とは、能力・才能・手腕のことを意味する英語表現である。

「capability」とは・「capability」の意味

「capability」とは、おもに能力・才能・手腕などの意味で用いられるが、使用されるシーンによって幅広い意味を持つ。人・物の特性や性質、将来性なども、「capability」と表現される。軍事用語としては戦闘能力という意味で用いられるほか、it用語においてはシステムの機能やセキュリティ能力などの意味で用いられ、ビジネス用語では企業の組織的な能力や強みという意味で用いられる。

「capability」の発音・読み方

「capability」の発音は、カタカナ語では「ケーパビリティ」と表記される。しかし、発音記号では「kèipəbíləti」と表記されるため、カタカナにすると「ケェイパァビィラァティ」という発音になる。

「capability」の語源・由来

「capability」の語源は、収容する能力という意味のラテン語「capacitas」である。ラテン語の「capacitas」が、収容可能数という意味の古期フランス語「capacite」に変化した後、「capability」になった。

「capability」と「capable/ability/capacity」の違い

「capability」や「capable/ability/capacity」は、どれも「能力」という意味で用いられる英単語であるが、ニュアンスは少しずつ異なる。まず、それぞれの単語の意味は、以下のようになる。

・capability:能力・素質・将来性
・capable:有能な・才能がある
・ability:能力・技量
・capacity:潜在的な能力・限界容量

「capability」は、開発または改善できる機能、能力、能力、またはプロセスを意味する。個々の適格性や能力を活用して共同展開できるプロセスのことである。また、適切な条件下で発揮される可能性のあるより高いレベルの能力を指す。「ability」は、肉体的または精神的なタスクを実行するスキルまたは能力のことを意味し、人の遺伝子構成に依存する固有の能力である。そのため、組織全体の能力ではなく、個人の能力のことを意味する。「capacity」は、現在持っている能力のことを指す。「capable」は、特定のタスクに必要な能力を持つことを意味する。

「capability」を含む英熟語・英語表現

「process capability」とは


「process capability」とは、工程能力を意味する英語表現である。特定の特性に固有の工程変動性の統計的尺度として定義される。

「negative capability」とは


「negative capability」とは、詩人のジョン・キーツが呈した言葉で、日本語では「消極的能力」、「消極的受容力」、「否定的能力」などと訳される。不確実性、謎、疑念を、事実や理由を追及することなしに受け入れるネガティブな能力のことを意味する。

「business capability」とは


「business capability」とは、ビジネス能力のことを意味する。組織がコア機能を実行するために必要な能力、材料、および専門知識のことを指す。

「capability statement」とは


「capability statement」とは、ビジネスとその能力とスキルについてのプロモーションまたはマーケティングのための声明であり、何を行っているかを宣伝するものである。

「capability approach」とは


「capability approach」とは、潜在能力アプローチのことを意味する。人間の福祉に対する規範的なアプローチであり、単に権利や自由を持っているのではなく、価値ある人生を達成するための実際の能力に焦点を当てている。

「capability」を含む用語の解説

「compute capability」とは


「compute capability」とは、コンピューター機能のことを意味する。GPU ハードウェアによってサポートされる機能を識別する機能のことで、実行時にアプリケーションによって使用され、どのハードウェア機能、命令が GPU デバイスで使用可能かを判断する。

「capability」の使い方・例文

・With the new technology we finally have the capability to do the job efficiently.(新しいテクノロジーにより、私たちは最終的に仕事を効率的に行う能力を手に入れた)
・The device has the capability of recording three television channels at once.(このデバイスには、一度に 3 つのテレビ チャンネルを録画する機能がある)
・Several countries are trying to develop a hydrogen capability.(いくつかの国が水素能力の開発を試みている)
・Companies with stronger technological capability are more likely to realize e-commerce value.(技術力の高い企業ほど、eコマースの価値を実現する可能性が高くなる)
・That company have the capability to triple their exports.(あの会社は、輸出を3倍にする能力を持っている)

「capability」の英語での説明

「capability」is a noun that means ability, talent, or skill.

Capability-based security

(ケーパビリティ から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/03/04 02:21 UTC 版)

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 の交換を行い、これを最も基本的な方法として、システム全体を通したアクセス権の保証と伝播を実現することを骨子としている。

Capability-based security入門

Capability は オブジェクトの一種である。capability を所有しているユーザプロセスに限って、あるオブジェクトと何らかの相互作用を起こすための能力(あるいは名前)を得ることができる。相互作用とは、オブジェクトに関連するデータを読んだり、オブジェクトに変化を加えたり、オブジェクト内のデータをプロセスとして実行したり、といったアクセス権を必要とするような操作をいう。論理的には capability を構成するものは、ある特定のオブジェクトを一意に特定する参照と、一つまたは複数のアクセス権の集合である。

例えば、メモリ内にある一つのユーザプロセスに次のような文字列があるとする:

    /etc/passwd

これはシステムの中のあるオブジェクト(パスワードを保管するのに用いられるファイル)を一意に特定するが(つまり上記の「参照」ではある)、アクセス権を特記していないので、capabilityではない。ここで、上記に代わって次の二つの値を考える:

    /etc/passwd
    O_RDWR

一つのオブジェクトとアクセス権の集合とが一緒になっている(O_RDWRは「読み取り書き込み両用オープン」。パスワードファイルを読んだり変更したりできる状態で開く)。これでもなお capability ではない。というのもユーザプロセスがこれを「所有」したからといって、アクセスが実際に合法的なものになるのかはわからないからである。

さて、新たに次の文を考えよう。ユーザプロセスがこれを成功裡に実行できたとする(open関数はOSから受け取ったファイル記述子を返す。副作用としてファイルを実際に開ける):

    int fd = open("/etc/passwd", O_RDWR);

この時点で変数fdはプロセス用ファイル記述子テーブル中のあるファイル記述子への添字を含んでいる。このファイル記述子(具体的にはfd)は capability である。このファイル記述子がプロセス用ファイル記述子テーブルに含まれることさえわかれば、そのプロセスにはそのオブジェクト(ここではファイル)への合法的なアクセスを持つことが確実にわかるからである。この方法だと、ファイル記述テーブルがカーネルに存在し、ユーザプログラムからは直接操作できないことに注目して欲しい。OSは、システム内の capability が特定の操作しか受け付けないことを、確実に保障しなければならない。それを怠るとセキュリティポリシーにおけるシステムの一貫性が維持できなくなる。

伝統的なOSではしばしば、プログラムは別のプログラムあるいはストレージと最初の二例のような参照を通して連絡しあう。パス名はコマンドラインパラメタとしてソケットを通してディスクに保存される。これら参照は capability ではなく、使用を許可する前にその有効性を確認しなければならない(あるディレクトリを触るのにパスワードを要求する等)。これらのシステムでは、中心となる質問は「誰の」権限 authority によって「任意の参照を評価することになるか?」である。二つの異なる権限をもったエンティティのために動作するプロセスにおいて、これは危険な問題になり、「混乱した使節の問題」Confused deputy problemとして知られるバグを引き起こす。これは極めてしばしばセキュリティホールの原因になるバグである。

capability-based system では、capability それ自体がプロセスやストレージ間でやりとりされ、やりとりにはOS監視下に一貫性をもって統合されたセキュリティーメカニズムが働く。

Capability

Capability ないし key (「鍵」)はセキュアなコンピューティングにおける中核となるコンセプトである。Capability とは、あるオブジェクトを参照するための値と、関連するアクセス権の集合とをセットにしたものである。capability-basedなOS上では、ユーザプログラムは capability なしにオブジェクトにアクセスすることができない。

Capability は、典型的には特権を表すデータ構造体 (privilege data structure) として実装される。これはアクセス権を詳細に明示したセクションと、アクセスの対象となるオブジェクトを一意に特定するためのセクションから成る。実際には、capability の使用法は伝統的なOSにおけるファイル記述子(ファイルデスクリプタ)の使用法に良く似ている。しかし伝統的なOSとは違い、システム内のいかなるオブジェクトに対しても capability が要求される。Capability はOS内にリストの形で格納されるのが典型例であり、その領域は(ユーザからは)直接操作できないように保護され、参照されるオブジェクトの挿げ替えやアクセス権の乗っ取りなどを防ぐようになっている。

Capability を扱うプログラムは、それらに関数を適用することができ、他のプログラムに渡したり、更に制約の多い(少ない特権しか持たない)バージョンに変換したり、消滅させたりできる。

平文による参照 plain reference の代わりに capability を用いると、システムのセキュリティ向上が実現できる。plain reference (例えば、パス名)は一意にオブジェクトを特定するが、どのようなアクセス権が附随するかを明示しないので、そのオブジェクトにアクセスするのに適当なユーザプログラムが行った参照なのか決めることができない。従って、参照されたオブジェクトへのアクセスは全てOSが審査する必要ができてくる。典型的にはこれはAccess Control List (ACL)を用いて行う。対照的に純粋なcapability-based OSでは、ユーザプログラムがcapability を持っていること自体が、それが参照するオブジェクトを(capabilityが許す範囲で)操作する権利を持つことになる。理論的にはACLの類いは一切不要になり、capabilityさえあればセキュリティは実現できる。

多くのOSに実装されているファイル記述子ないしファイルハンドルは capability に近い使われ方をしている。例えばBSD UNIXでは、ファイル記述子は破棄(クローズ)することも、子プロセスに継承することも、ソケットを通じて他のプロセスに送ることすらできる。しかしながら、純粋なcapability-based OSの全ての利点を受け取るには、このような伝統的なシステムでは問題がある。最大の問題は、capabilityを保持するはずのプロセス、ファイル等の実体を、(capability によって代表される)セキュリティ情報の一貫性を保った形で永続的に維持できないことである。ユーザプログラムがオブジェクトへの参照やアクセス権を改竄しないことを、OS側では信頼することができない。そのため、ユーザプログラムが再度ディスク上にあると参照されているオブジェクトに対しアクセスを試みる際にOSはアクセス要求が正当なものか検査しなければならない。そのためACLや類似のものが必要になる。

実体の永続性がないという問題を解決する新しいアプローチが orthogonally persistent OSである(Flexマシンとして実現された。en:Ten15参照)。この種のシステムでは、実体は破棄される必要がなく、capability も無効になる必要がない。従って後に利用するためcapabilityをとっておくためのACL類似の機構も必要でない。OSは、揮発性のも不揮発性のも、全てのストレージについて常時capabilityの一貫性とセキュリティを維持するが、その一部はシリアル化(ここでは、データ等をネットに流せるようなタイプの一連のビット列に変換すること)作業をOSそれ自体が行い、ユーザプログラムに任せないことによる(ほとんどのOSではユーザプログラムが行う)。そのため、ユーザプログラムが合法的な capability だけを再生産すると信じる必要も、アクセス制御を用いてユーザプログラムからの要求を確認する必要もない。

研究用及び商用システム

参考文献

外部リンク

  • Capability Myths Demolished: an analysis that shows (in terms of Equivalence, Confinement and Irrevocability myths) that pure capability systems have significant advantages over ACL systems.
  • What is a Capability?: an informal introduction to capabilities.


英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「ケーパビリティ」の関連用語

ケーパビリティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ケーパビリティのページの著作権

   
実用日本語表現辞典実用日本語表現辞典
Copyright © 2026実用日本語表現辞典 All Rights Reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのCapability-based security (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2026 GRAS Group, Inc.RSS