保護キーとは? わかりやすく解説

保護キー

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/12/24 06:47 UTC 版)

メモリ保護」の記事における「保護キー」の解説

保護キー機構では、メモリはある一定のサイズかたまり分割される例えば、4Kバイト)。そして、それぞれに保護キー (protection key) と呼ばれる数値対応付けられる。また、プロセスもひとつの保護キーを割り当てられている。メモリアクセスする際、ハードウェア現在のプロセスの保護キーとアクセスようとしているメモリの保護キーが合っているかをチェックする。もし合ってない場合例外発生する。この機構System/360アーキテクチャ使用されている。これは最近メインフレーム System z でも利用可能で、そのOSサブシステムがよく使用している。 今日メインフレーム本質的にPCミッドレンジサーバWindowsLinuxUNIXなど)に見られる欠陥である特権エスカレーション英語版)に耐性がある。これはメインフレームにおけるメモリ保護機構が、ハードウェア実装された複数CPU保護リング暗号機構で支えられた保護キーなどを使っているためである。そういった機構により、ユーザープロセスが直接ハードウェアアクセスすることが防がれ、カーネルレベルのサービスもほとんど不要となっている。例えアプリケーション脆弱性利用してシェルコード実行させようとしても、より高い特権レベルプロセスドライバカーネル)に影響を及ぼすことはできないし、保護キーの異なる他のプロセスにも影響を及ぼせない。CPU保護リングPCやミッドレンジサーバのOSでは限定的にしか使われておらず(例えば、x86ではカーネルリング0ユーザーリング3だけを使用することが多い)、結果としてオールオアナッシング的な設計になっている。すなわち、ハードウェアアクセスするにはカーネル必須であり、その中で何か悪さをしようとする悪意あるコードシステム全体乗っ取ることになる。 上述System/360の保護キーは物理アドレス対応しているインテルItaniumヒューレット・パッカードPA-RISCなどでは、それとは異なる保護キー機構使われており、仮想アドレスと保護キーが対応付けられていて、プロセス複数の保護キーを割り当て可能である。 ItaniumPA-RISCアーキテクチャでは、論理アドレスから物理アドレスへの変換TLBエントリ)にキー (Itanium) またはプロテクションID (PA-RISC) が付属している。ある時点動作中のプロセスには保護キーレジスタ群がある(Itaniumでは16本、PA-RISCでは4本)。物理アドレスへの変換選ばれTLBエントリにあるキーはそれらレジスタ群にある保護キーと比較される。他のチェック同時にキー一致しないアクセス許可されないキーがどのレジスタとも一致しない場合例外発生する。その例外処理では、必要に応じて実行プロセスが他に保護キーを持っていないかチェックする。すなわち、保護キーレジスタ群はソフトウェア管理するキャッシュのように扱われるPA-RISCの保護キーは15ビットから18ビットで、Itaniumでは最小でも18ビットである。保護キーは保護領域 (protection domain) に対応しており、一般的にはライブラリモジュールなどに対応する

※この「保護キー」の解説は、「メモリ保護」の解説の一部です。
「保護キー」を含む「メモリ保護」の記事については、「メモリ保護」の概要を参照ください。

ウィキペディア小見出し辞書の「保護キー」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



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

辞書ショートカット

すべての辞書の索引

「保護キー」の関連用語

保護キーのお隣キーワード
検索ランキング

   

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



保護キーのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのメモリ保護 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS