library home hp.com home products and services support and drivers solutions
cd-rom home
End of Jump to page title
HP OpenVMS Systems
Documentation

Jump to content


HP OpenVMS

HP OpenVMS
V8.3 新機能説明書


前へ 次へ 目次 索引


3.3.5 サテライトのブート

ブート・メニューにオプションを追加した場合は,そのオプションを選択します。オプションを追加しなかった場合は,ハードウェアのドキュメントでネットワーク・アダプタからのブートに必要な手順を参照してください。環境変数 VMS_FLAGS は,必ずメモリ・ディスク・ブート・フラグ (0x200000) が含まれるように設定してください。システムは,ネットワークから VMS_LOADER を取得すると,詳細なブートの進行状況をシステム・メッセージの形で表示します。ブート・シーケンスを開始するためにダウンロードした各ファイルに対して,コンソール・デバイスにピリオドが 1 つ表示され,最後に IPB (一次ブートストラップ・イメージ) がロードされたことを示すメッセージが表示されます。

以下に例を示します。


Loading.: Satellite Boot EIA0 Mac(00-13-21-5b-86-48) 
Running LoadFile() 
 
CLIENT MAC ADDR: 00 13 21 5B 86 48 
CLIENT IP: 16.116.43.79  MASK: 255.255.248.0  DHCP IP: 0.240.0.0 
 
TSize.Running LoadFile() 
 
Starting: Satellite Boot EIA0 Mac(00-13-21-5b-86-48) 
Loading memory disk from IP 16.116.43.78 
............................................................................ 
Loading file: $13$DKA0:[SYS10.SYSCOMMON.SYSEXE]IPB.EXE from IP 16.116.43.78 
%IPB-I-SATSYSDIS, Satellite boot from system device $13$DKA0: 
 
 
    HP OpenVMS Industry Standard 64 Operating System, Version V8.3 
    (c) Copyright 1976-2006 Hewlett-Packard Development Company, L.P. 
 

最初のフル・ブート時には,サテライト・システムは AUTOGEN を実行してリブートします。

3.3.6 サテライト・システム上での追加作業

まだ DOSD 用のダンプ・ファイルを作成していない場合は,ここで作成します。 SYS$STARTUP:SYCONFIG.COM ファイルを編集し,DOSD デバイスをマウントするコマンドを追加します。エラー・ログ・バッファが復旧されるようにするには, DOSD デバイスを SYCONFIG 内でマウントする必要があります。

3.4 ロックの動的な再マスタリング---LOCKRMWT

OpenVMS がロック・ツリーを再マスタリングするかどうかを判断する方法が,OpenVMS Version 8.3 で更新されました。 Version 8.3 よりも前のバージョンでは,システム・パラメータ LOCKDIRWT に基づいて決定されていました。ロック・ツリーは,LOCKDIRWT 値が大きなノードに移動されていました。複数のノードの LOCKDIRWT の値が同じ場合は,ロック・ツリーはアクティビティの高いノードに移動されていました。アクティビティの量の判断では,ハードコードされた非常に小さなしきい値が使用されていたため,ノード間でのロック・ツリーの移動でスラッシングが発生することがよくありました。

Version 8.3 では,新しいシステム・パラメータであるロック・マスタの重み (LOCKRMWT) が実装されています。このパラメータは,ゼロ (0) から 10 の範囲の値を取り,デフォルト値は 5 です。このパラメータの値は,ノードがマスタ・ロック・ツリーを必要としている度合いを表します。値が大きいほどツリーがそのノードに移動する可能性が高まります。 0 と 10 は特別な値です。ゼロは,そのノードが,リソース・ツリー上のロックを持つ唯一のノードにならないかぎり,そのノードにマスタ・ツリーを移動させないことを示します。値がゼロのノード上のマスタ・ツリーは,LOCKRMWT の値が 0 より大きなノードがあれば,そのノードに移動されます。値 10 は,そのノードが常にマスタ・ロック・ツリーを必要とすることを示します。 LOCKRMWT の値が 10 より小さいノードにマスタ・ロック・ツリーがあり,値が 10 のノードが必要としている場合は,値が 10 のノードにロック・ツリーが再マスタリングされます。

その他の場合は,現在のマスタ・ノードとリモート・ノードの LOCKRMWT の差が計算されます。差が大きいほど,ツリーが再マスタリングされる可能性が高まります。ノードの LOCKRMWT の値が同じ場合は,リモート・ノード上の動作が約 13% 以上多い場合にツリーが再マスタリングされます。リモート・ノードが 8 で現在のマスタが 5 の場合は,差は 3 となり,あと約 2% 動作が多いとロック・ツリーはリモート・ノードに移動されます。リモート・ノードが 1 で現在のマスタが 9 の場合は,差は -8 となります。この場合,仮に現在のマスタよりも約 200% 動作が多くても,ロック・ツリーはリモート・ノードに再マスタリングされます。

新しい LOCKRMWT パラメータは動的であるため,動作中のシステム上で SYSGEN を使用して変更することができます。また,ロックの再マスタリングでは,引き続き PE1 システム・パラメータが考慮されます。 PE1 の値よりも多くのロックを持つロック・ツリーは再マスタリングされません。 LOCKDIRWT パラメータは,ロックの動的な再マスタリングとは全く関係がなくなりました。このパラメータは,リソース・ディレクトリ・エントリを管理するノードの可能性だけを決定します。

複合バージョン・クラスタでは,Version 8.3 のノードと (LOCKRMWT システムパラメータを持たない) Version 8.3 よりも前のノードの間のやり取りには,LOCKDIRWT を使用した古い規則が使用されます。ロック・ツリーがクラスタ内で移動し続けるのを避けるために,上の規則には 1 つの例外があります。 Version 8.3 のマスタ・ノードは,LOCKDIRWT の値が大きなノードがあると,Version 8.3 よりも前のノードに,ロック・ツリーを再マスタリングしません。この例外が必要な理由としては,Version 8.3 よりも前のノードが,値が大きな LOCKDIRWT を持つノードにすぐに再マスタリングするためです。

SHOW CLUSTER ユーティリティは,クラスタ内のノードの LOCKRMWT システム・パラメータを表示するように拡張されています。 LOCKRMWT を表示するには,コマンド ADD RM_WT または ADD MEMBERS/ALL を使用します。 Version 8.3 よりも前のノードでは,このフィールドは **** で表示され,これらのノードに LOCKRMWT システム・パラメータがないことを示します。

3.5 OpenVMS での暗号化

OpenVMS Version 8.3 では,以前の Encryption for OpenVMS ソフトウェア製品がオペレーティング・システムに統合されています。これにより,別途製品をインストールする必要がなく,製品ライセンスも不要になります。また,OpenVMS Version 8.3 には,AES (Advanced Encryption Standard) アルゴリズムのサポートが追加されており,OpenVMS ユーザ,システム管理者,セキュリティ管理者,プログラマが,ファイル,セーブ・セット,アプリケーション・データを AES 暗号化で保護することができます。

暗号化は,機密データや個人的なデータを,暗号文と呼ばれる理解不能な形式に変換することを指します。これは,データの機密を保護するために行います。復号化ではこの処理を逆に実行し,理解不能な暗号文を,平文と呼ばれる元の形式のデータに戻します。復号化は解読とも呼ばれます。

3.5.1 AES の機能

AES 暗号化は,以下の機能と互換性を備えています。

3.5.2 /CREATE_KEY /AES コマンド修飾子

AES の鍵 (および DES の鍵) は,ENCRYPT のコマンド行修飾子 /CREATE_KEY で作成します。ただし,AES の鍵の場合は,/AES 修飾子を追加する必要があります。


$ ENCRYPT /CREATE_KEY keyname "This is my secret key" /AES 

これにより,21 文字の AES 鍵が生成されます。最小の鍵の長さの要件を満たし, Encrypt の最大文字数 (約 240 文字) を超えない,任意の長さの鍵を指定することができます。

3.5.3 AES 鍵の長さに関する要件

AES 鍵の要件は,それぞれの AES モードで使用される実際のビット数です。これは,実際には,暗号化操作または復号化操作で必要な最小バイト数です。必要な最小の鍵サイズは以下のとおりです。

3.5.4 リテラル鍵の値と ASCII 圧縮

リテラル鍵の値は,通常は圧縮されずにそのまま暗号化アルゴリズムに渡されます。リテラル鍵の値は,ASCII,HEX,バイナリのいずれかです。ただし,ASCII DES 鍵の値は,記述子のデータ型が DSC$K_TYPE_T, DSC$K_TYPE_VT,DSC$K_TYPE_VT のいずれかの場合は圧縮されます。 AES 鍵は圧縮されません。その他の記述子データ型では,DES リテラル鍵の値を圧縮せずにそのまま渡すことが可能です。

リテラル鍵の値はコマンド行の /HEX 修飾子とともに指定するか, ENCRYPT$DEFINE _KEY() ルーチンに対する鍵フラグ literal とともに指定します。リテラル鍵の値は,key-type 引数を使用し,鍵名の記述子で値を渡すことで, ENCRYPT$INIT() ルーチンに直接渡すことも可能です。コマンド行で指定した DES ASCII 鍵の値は,鍵が引用符で囲まれているかどうかにかかわらず圧縮されます。

3.5.5 XOR 鍵フラグ,または鍵の折りたたみ

Encrypt は,鍵の中の残りの文字に対して XOR 操作を行って,鍵自体に対して折りたたみを行い,アルゴリズムで使用する数のバイトで,AES (または DES) 用のサイズの鍵を作成します。そのため,鍵の値に対して最大バイト数 (240) のバイト・データを指定できますが,鍵の作成時には,AES 用に保存されるのは 32 バイト, DES 用に保存されるのは 8 バイトです。

この鍵を使用するときには,元の鍵が復元され,ストレージから復号化されます。しかし,暗号化操作に対して選択した AES 鍵のサイズに応じて, DES では 8 バイト (折りたたみ済み) の鍵だけが使用され, AES では 16 バイト,24 バイト,32 バイト (折りたたみ済み) の鍵だけが使用されます。

鍵サイズは,algorithm-name パラメータの一部として指定します。たとえば,以下の API で,または ENCRYPT コマンドおよび DECRYPT コマンドのファイルに対する修飾子 /DATA_ALGORITHM または /KEY_ALGORITHM で AESCBC256 を指定します。

AES 鍵を作成する例

次の例では,32 バイトの AES 鍵を作成します。この鍵は AES (現在は AESCBC128) で暗号化され,特に指定しなければプロセスの論理名テーブルに ENCRYPT$KEY$MY_KEY という名前で格納されます。この鍵には,DES 鍵と区別するために AES 鍵のフラグが設定されます。


$  encrypt/create MY_KEY "This is a sample ASCII key value" /aes/log
%ENCRYPT-S-KEYDEF, key defined for key name = MY_KEY

3.5.6 ENCRYPT$DEFINE_KEY( ) API

AES 鍵と DES 鍵は,Encrypt のアプリケーション・プログラム・インタフェース (API) ENCRYPT$DEFINE_KEY( ) でも作成できます。鍵フラグは,鍵の種類 (名前またはリテラル鍵の値) と,鍵を格納する論理名テーブルを区別するために使用します。

AES 鍵フラグ・マスク ENCRYPT$M_KEY_AES と,値 ENCRYPT$V_KEY_AES も,AES 鍵を作成するために使用されます。


ENCRYPT$DEFINE_KEY ( key-name , key-value , key-flags ) 

ENCRYPT$GENERATE_KEY( ) API では,ランダムな鍵の値を生成することができます。


ENCRYPT$GENERATE_KEY (algorithm-name , key-length              [,factor-a] [,factor-b] [,factor-c]              [,key buffer]) 

AES 鍵フラグ

以下の AES マスクを他のフラグと組み合わせて, key-flags パラメータで (参照渡しのロングワードとして) 使用することができます。対応する AES 鍵の値を,プログラム中のビットのテストで使用することができます。 API ENCRYPT$DEFINE_KEY( ),ENCRYPT$DELETE_KEY( ),および ENCRYPT$GENERATE_KEY( ) で,KEY_AES 鍵フラグを使用して AES 鍵を指定します。

3.5.7 鍵に関する注意事項

以下に鍵に関する情報を示します。

3.5.8 AES 鍵の削除

AES (および DES) 鍵は,Encrypt のコマンド行修飾子 /REMOVE_KEY,または API ENCRYPT$DELETE_KEY( ) で削除します。


$ ENCRYPT/REMOVE_KEY KEYNAME /AES 

ユーザの秘密鍵は,マスタ鍵で暗号化され,論理名テーブル (PROCESS, JOB,GROUP,または SYSTEM---ENCRYP$SYSTEM テーブル) に格納されます。省略時の論理名テーブルは PROCESS です。 PROCESS 論理名テーブル以外のテーブルから鍵を削除するには, ENCRYPT /REMOVE_KEY コマンドで適切な修飾子 (/JOB,/GROUP,または /SYSTEM) を指定する必要があります。

ユーザの秘密鍵名は一意であるため,DES 鍵と AES 鍵のどちらであっても,同じ論理名テーブルには同じ名前の鍵が 1 つしか存在できません。そのため,/AES 修飾子が実装されていますが,この修飾子は不要です。

3.5.9 ENCRYPT$DELETE_KEY( ) API

Encrypt API を使用して論理名テーブルから鍵を削除するには,削除対象の鍵の名前を指定します。どの論理名テーブルから削除するかをフラグで指定します。


ENCRYPT$DELETE_KEY (key-name , key-flags) 

AES 鍵フラグ

key-flags パラメータでは,他のフラグとともに (論理和をとって),以下の AES マスクを (参照渡しのロングワードとして) 使用することができます。対応する AES 鍵の値は,プログラム内でビットのテストを行うために使用できます。 ENCRYPT$DEFINE_KEY( ),ENCRYPT$DELETE_KEY( ),および ENCRYPT$GENERATE_KEY( ) の各 API で AES 鍵を指定するには,KEY_AES 鍵フラグを使用します。


前へ 次へ 目次 索引