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

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)』 (2023/05/27 23:31 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.


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

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

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

   

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



ケーパビリティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
実用日本語表現辞典実用日本語表現辞典
Copyright © 2025実用日本語表現辞典 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の元に提供されております。

©2025 GRAS Group, Inc.RSS