本文に進む 日本−日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫ お問い合わせ
日本HPホーム
HP OpenVMS: システム・セキュリティ・ガイド > パート III  システム管理者のためのセキュリティ

第9章 暗号化機能の使用

≫ 

OpenVMSドキュメント・ライブラリ

タイトル/目次
まえがき
Part 1:セキュリティの概要
第1章:システムセキュリティ
第2章:OpenVMSのセキュリティモデル
Part 2:一般ユーザのためのセキュリティ
第3章:システムの安全な使用
第4章:データの保護
第5章:オブジェクトクラスの詳細
Part 3:システム管理者のためのセキュリティ
第6章:システムとデータの管理
第7章:システムアクセスの管理
第8章:システムのデータと資源へのアクセス制御
第9章:暗号化機能の使用
第10章:セキュリティ監査の実施
第11章:システムのセキュリティ侵害
第12章:クラスタのセキュリティ保護
第13章:ネットワーク環境におけるセキュリティ
第14章:保護サブシステムの使用
付録A:特権の割り当て
付録B:システムファイルの保護
付録C:アラーム・メッセージ
用語集
索引
PDF
OpenVMS ホーム
ここから本文が始まります

この章では以下の内容について説明します。

  • キーの定義

  • ファイルの暗号化

  • ファイルの認証

  • キー定義の削除

  • ファイルの復号

  • セーブセットの暗号化

9.1 キーの定義

ファイルの暗号化および復号を行う前に,まずキーを作成する必要があります。

キーの定義には,次のように ENCRYPT/CREATE_KEY コマンドを使用します。

ENCRYPT /CREATE key-name key-value [ qualifiers ]

パラメータの意味は以下のとおりです。

key-nameキーの名前
key-valueキーに割り当てる値
qualifiers キー値の形式あるいはキーを保管する場所を制御するためのオプション

AES キーに対しては,次のように /AES 修飾子を追加する必要があります。

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

このコマンドは,キーの長さが 21 文字の AES キーを生成します。 キー長の最短要件を満たし,暗号の最大文字数(約240)を超えない範囲でキーの長さを指定する必要があります。 /AES 修飾子についての詳細は,『HP OpenVMS DCL ディクショナリ』 を参照してください。

キーのアルゴリズムの指定には,/KEY_ALGORITHM 修飾子を使用します。/AES 修飾子を使用する際の DES キーおよび AESCBC128 に対するデフォルトのキー・アルゴリズムは DESCBC です。 詳細は 9.2.7.1 項 「/KEY_ALGORITHM 修飾子」 を参照してください。

9.1.1 キー名の指定

ENCRYPT /CREATE_KEY コマンドでキー名を指定する際には,以下のルールに従って文字列を指定してください。

  • 値の長さ: 1 ~ 243 文字

  • 有効な文字: 英数字,ドル記号,アンダースコア

  • 大文字/小文字の区別: なし

キー名を忘れないように,意味のある文字列を使用して指定してください。

注記: ENCRYPT$ で始まるキー名は HP が予約済みなので使用できません。

9.1.2 キー値の指定

ENCRYPT /CREATE_KEY コマンドでキー値を指定する際は,次のルールでテキスト文字列あるいは16進数の定数を指定してください。

ASCII テキスト文字列 (デフォルト):

  • 長さ: 8 ~ 240 文字

  • 大文字/小文字の区別はありません。

  • 空白文字などの英文字以外の文字を使用する場合は,引用符で囲んでください。

次のコマンドでは,文字列値(And you yourself shall keep the key of it)で HAMLET という名前のキーを定義しています。

$ ENCRYPT /CREATE_KEY HAMLET
_ Key value: "And you yourself shall keep the key of it"

16 進数の定数:

  • /HEXADECIMAL 修飾子を使用します。

  • 有効な文字: 0 ~ 9, A ~ F

  • 有効な最小長: 15 文字

  • 値は引用符で囲みません。

次のコマンドは,16 進数 2F4A98F46BBC11D で ARCANE という名前のキーを定義しています。

$ ENCRYPT /CREATE_KEY /HEX ARCANE 2F4A98F46BBC11D

キー値を選択する際には ウイーク・キーは使用しないでください。 ウイーク・キーとは,文字列あるいは文字列グループを反復したパターンのキー値です。 このようなパターンのキー値を使用すると,認証されていないユーザが簡単に復号できる暗号になってしまう可能性があります。 たとえば,16 進数定数 0101010101010101 やテキスト文字列 'abcabcabc' はウイーク・キーです。

ウイーク・キーを使用すると,次のような状況が発生する可能性があります。

  • 暗号化されたデータのセキュリティが危険にさらされる。

  • 暗号と復号が同じになる場合がある。

あるウイーク・キーで暗号化した後に別のウイーク・キーで暗号化すると,元のプレーンテキストに戻る場合があります。

HP は既知のウイーク・キーのテーブルを提供しています。ユーザが定義したキーは,このテーブルを参照してチェックされ,ウイーク・キーに該当する場合はエラー・メッセージが表示されます。

9.1.3 作成したキーの確認

キーが正しく作成されたかどうかを確認するには,/LOG 修飾子を使用します。 たとえは,次のコマンドはキー HAMLET が定義されたことを報告しています。

$ ENCRYPT /CREATE_KEY /LOG HAMLET
_ Key value: "And you yourself shall keep the key of it"
%ENCRYPT-S-KEYDEF, key defined for key name = HAMLET

次の例は AES キーを確認しています。

$ ENCRYPT/CREATE MY_KEY "This is a sample ASCII key value" /AES/LOG
%ENCRYPT-S-KEYDEF, key defined for key name = MY_KEY

このコマンドでは,DES キーとではないことを示すために AES キーのフラグが指定されています。

9.1.4 キー格納テーブルの指定

キーを定義する際,暗号化された形式でキー格納テーブルに保管されます。キー値はキー名の下に保管されます。ファイルを暗号化する際,プロセスは保管された情報を取り出し,次の処理を行います。

  • キー格納テーブルから取り出したキー値を,2 進数で 8 バイトのキーに圧縮します。

  • バイトごとに次の 2 つのうち 1 つを修正して,各バイトが奇数パリティになるようにします。

    • 必要な場合,サイン・ビット(デフォルト)

    • ロー・ビット (ビット 0) (/HEXADECIMAL 修飾子を指定した場合)

  • テキスト文字列キー値の場合,文字を大文字に変換し,複数の連続するスペースを 1 つのスペースに減らし,句読文字を削除して,キー文字列を圧縮します。

    このため,キー値の正確な構文を憶えておく必要はありません。たとえば,単語間に 2 つのスペースをつけてキーを定義した場合,再びキーを指定する際にこのスペースについて憶えておく必要はありません。

キー格納テーブルには,どのユーザがキーにアクセス可能かが定義されています。次のキー格納テーブルがユーザ・アクセスを制御します。

  • プロセス・キー格納テーブル(デフォルト) ― このテーブル内でキーが定義されているプロセスにのみアクセス可能。

    他のプロセスで使用するキーを定義する場合は,想定されるユーザがアクセスできるように適切な修飾子 (/JOB,/GROUP,あるいは /SYSTEM) を指定してください。

  • ジョブ・キー格納テーブル ― このテーブル内でキーを定義したプロセスと同じジョブ・ツリー内にあるプロセスにのみアクセス可能。

  • グループ・キー格納テーブル ― このテーブルでキーを定義したプロセスと同じ UIC グループに属するユーザにアクセス可能。

  • システム保管テーブル ― すべてのシステム・ユーザにアクセス可能。

キー格納テーブルにキーを入力する場合は,次の ENCRYPT /CREATE_KEY 修飾子を使用します。

  • /PROCESS (デフォルト)

  • /JOB

  • /GROUP (GRPNAM あるいは SYSPRV 特権が必要)

  • /SYSTEM (SYSPRV 特権が必要)

    そのシステムで作業する任意のユーザがファイルの暗号化に使用可能なキーを定義します。 キーは暗号化されて保管されるため,キーの値を見ることはできません。 定義したキーはシステムがリブートされるまで使用できます。

    たとえば,次のコマンドは SYSMASTER という名前のキーを定義し,システム・キー格納テーブルに保管します。

    $ ENCRYPT /CREATE_KEY /SYSTEM SYSMASTER
    _$ Key Value: "The human heart has hidden treasures, in secret kept, in silence sealed"
    

9.1.5 キーの管理

ファイルを暗号化する際に使用するキーは,そのファイルのパスワードとして機能します。 第三者には秘密にしておくことが重要です。 また,キー値は忘れないようにしてください。 ファイルの復号には,キーとキー値の両方が必要になります。

プロセス・キー格納テーブルに保管されたキーは,テーブルにキーを定義したプロセスが存在する間,存続します。 他のプロセス固有の構造体と同様,ユーザがログアウトするとプロセス・キー格納テーブルは見えなくなります。

意味のあるキー値は憶えやすいですが,ニックネームや愛車の製造メーカなど,第三者が容易に推測できる値は避けてください。 キー名や値を,オフィスの見える場所に張ったりファイルに保管することも避けてください。 オペレ-ティング・システムのパスワードと同様に,キー値を長くすれば,推測される可能性は低くできます。

DES アルゴリズムでは,最低で 8 文字の長さのキー値を必要とします。キー値のセキュリティを向上させるために,8 文字以上の値を指定してください。

AES アルゴリズムでは,必要な最小キー・サイズは下記のとおりです。

  • 128 ビット・モード = 16 バイト・キー

  • 192 ビット・モード = 24 バイト・キー

  • 256 ビット・モード = 32 バイト・キー

9.2 ファイルの暗号化

ENCRYPT /CREATE_KEY コマンドでキーを定義した後,このキーを使用してファイルを暗号化してください。キーの他に,プレーン・テキスト・ファイルを指定して ENCRYPT コマンドを実行してください。 ENCRYPT コマンドの構文は次のとおりです。

ENCRYPT file-spec key-name [ qualifiers ]

パラメータの意味は以下のとおりです。

file-specプレーンテキストの入力ファイルを指定します。
key-nameキーの名前を指定します。
qualifiers 暗号化処理や暗号化するファイルの選択を制御するオプションを指定します。

次の例は,キーの定義方法と,AES および DES アルゴリズムを使用して定義されたキーで testfile.txt ファイルを暗号化する方法を示しています。

$ ENCRYPT/CREATE_KEY/AES MY_AES_KEY16 "My AES Key length>16"
$ ENCRYPT testfile.txt MY_AES_KEY16 /DATA_ALGORITHM=AESCBC128 /KEY_ALGORITHM=AESCBC128
$!
$ ENCRYPT/CREATE_KEY/AES MY_AES_KEY24 "TEST My AES Key length>24"
$ ENCRYPT testfile.txt MY_AES_KEY24 /DATA_ALGORITHM=AESCBC192 /KEY_ALGORITHM=AESCBC192
$!
$ ENCRYPT/CREATE_KEY/AES MY_AES_KEY32 "TEST TEST TEST My AES Key length>32"
$ ENCRYPT testfile.txt MY_AES_KEY32 /DATA_ALGORITHM=AESCBC256 /KEY_ALGORITHM=AESCBC256
$!
$ ENCRYPT/CREATE_KEY MY_DES_KEY "This is My DES Key"
$ ENCRYPT testfile.txt MY_DES_KEY

AES キーが必要な場合,/DATA_ALGORITHM および /KEY_ALGORITHM で AES アルゴリズムを指定する必要があります。

/DATA_ALGORITHM 修飾子が指定されていない場合, デフォルトで DESCBC データ・アルゴリズムが使用されます。

/KEY_ALGORITHM 修飾子が指定されていない場合,デフォルトで DESCBC キー・アルゴリズムが使用されます。

9.2.1 入力ファイル指定

ENCRYPT コマンドで指定するプレーンテキスト・ファイルは,ディレクトリ・ファイルではなく,ディスクに存在するファイルを指定してください。

複数のファイルを指定する場合は,ファイル指定にワイルドカードを使用してください。 ファイル選択を制御するには,適切な ENCRYPT コマンド修飾子を使用します。 ワイルドカード文字を使用する場合は,不正なブロックを含むディレクトリ・ファイルあるいはファイルを指定しないように注意してください。

9.2.2 出力ファイル指定

暗号化処理の出力は暗号文ファイルです。 暗号化された入力ファイルごとに 1 つの暗号文ファイルが作成されます。

デフォルトでは,ENCRYPT コマンドは,現在の入力ファイルよりもバージョン番号が 1 つ高い,同じ名前の暗号文ファイルを出力します。

別の出力ファイル名を指定するには /OUTPUT 修飾子を使用します。 デフォルトから変更したいファイル指定部分だけを指定してください。 たとえば,次のコマンドは,現在のディレクトリにあるワイルドカード・ファイル指定 *.COM で一致するすべてのファイルを暗号化します。 /OUTPUT 修飾子は,ファイル・タイプ ENC で出力ファイルを作成することを指定してします。 FRANCISSCOTT はファイルの暗号化に使用されるキーです。

$ ENCRYPT *.COM /OUTPUT=.ENC FRANCISSCOTT

すでに存在するファイルは指定しないでください。たとえば,すでに NEWS.DAT;2 が存在する場合は,NEWS.DAT;2 の名前で出力ファイルを指定することはできません。ただし,入力ファイルおよび出力ファイルのどちらにも,ファイル名として NEWS.DAT を指定することはできます。

9.2.3 処理情報の表示

デフォルトでは,暗号化処理についての情報は表示されません。 SYS$COMMAND にファイル暗号化処理についての情報を表示するには,/SHOW 修飾子を使用してください。 /SHOW 修飾子の形式は次のとおりです。

/SHOW=keyword

あるいは

/SHOW=keyword-list

次のキーワードを 1 つあるいは複数指定します。

  • FILES

  • STATISTICS

9.2.3.1 FILES キーワード

FILES キーワードは,入力および出力のファイル指定を表示します。 たとえば,次のコマンドの /SHOW=FILES は,暗号化の際に, 各入出力ファイル指定を表示することを指定しています。

$ ENCRYPT /SHOW=FILES *.COM FRANCISSCOTT
%ENCRYPT-S-ENCRYPTED, DISK2:[FLYNN]MOVE.COM.2 encrypted to DISK2:[FLYNN]MOVE.COM;3 (8 blocks)
.
.
.

9.2.3.2 STATISTICS キーワード

各ファイル操作が完了した後に暗号化ストリームの統計値を表示する場合は,STATISTICS キーワードを使用します。次のような統計値が表示されます。

  • 処したバイト数

  • 処理した内部レコード数

  • 暗号化アルゴリズム内で消費した CPU 時間

次のコマンドは,SYS$COMMAND に暗号化ストリーム統計値を表示することを指定しています。

$ ENCRYPT /SHOW=STATISTICS *.COM FRANCISSCOTT
%ENCRYPT-S-STATISTICS, encryption stream statistics:
         Total Records: 65
         Total Bytes: 4083
         Total Time: 00:00:01.63
.
.
.

9.2.4 暗号化するファイルの指定

複数の入力ファイルを指定するには,入力ファイル指定にワイルドカードを使用して ENCRYPT コマンドを実行します。

次の ENCRYPT コマンド修飾子でファイルを選択することができます。

  • /BACKUP

  • /BEFORE

  • /BY_OWNER

  • /CONFIRM

  • /EXCLUDE

  • /EXPIRED

  • /MODIFIED

  • /SINCE

9.2.4.1 /BACKUP 修飾子

/BACKUP 修飾子は,最新のバックアップの日付データをもとに,暗号化するファイルを選択します。 この修飾子は,/BEFORE あるいは /SINCE 修飾子のいずれかを使用している場合のみ機能します。 /BACKUP 修飾子の形式は次のとおりです。

/BACKUP /BEFORE[=time]

あるいは

/BACKUP /SINCE[=time]

time パラメータには OpenVMS 時間を指定します。

時間の指定を省略すると TODAY が使用されます。TODAY は現在の年月日の 00:00:00 です。

次のコマンドは,現在のディレクトリにあるファイルのうち,00:00:00 15-APR-2009 以前のバックアップ・コピーを持ち,ワイルドカードファイル指定 *.COM と一致するすべてのファイルを暗号化することを選択します。

$ ENCRYPT /BACKUP /BEFORE=15-APR-2009 *.COM FRANCISSCOTT

/BACKUP 修飾子は /EXPIRED あるいは /MODIFIED 修飾子と同時には使用しないでください。

9.2.4.2 /BEFORE 修飾子

/BEFORE 修飾子は,この修飾子に指定した時間よりも前に作成されたファイルを, 暗号化するファイルとして選択します。 /BEFORE 修飾子の形式は次のとおりです。

/BEFORE[=time]

time パラメータには OpenVMS 時間を指定します。

時間の指定を省略した場合,TODAY が使用されます。TODAY は現在の年月日の 00:00:00 です。

次のコマンドは,現在のディレクトリにあるファイルのうち,00:00:00 15-APR-2009 よりも前に作成され,ワイルドカードファイル指定 *.COM に一致するすべてのファイルを暗号化します。

$ ENCRYPT /BEFORE=15-APR-2009 *.COM FRANCISSCOTT

9.2.4.3 /BY_OWNER 修飾子

/BY_OWNER 修飾子は,特定の UIC を持つファイルを暗号化する際に使用します。 UIC の指定を省略すると,現在のプロセスの UIC が使用されます。 /BY_OWNER 修飾子の形式は次のとおりです。

/BY_OWNER=uic

uic パラメータにはファイルの所有者の UIC を指定します。

次のコマンドは,現在のディレクトリに存在し,UIC が [FLYNN] のユーザが所有するファイルのうち,ワイルドカード指定 *.COM に一致するすべてのファイルを選択しています。

$ ENCRYPT /BY_OWNER=[FLYNN] *.COM FRANCISSCOTT

9.2.4.4 /CONFIRM 修飾子

デフォルトでは,暗号化の対象として選択されたことを確認するためのプロンプトは表示せず,コマンド行で指定されたすべての入力ファイルが処理されます。 暗号化されるファイルごとにファイル名を示したプロンプトを表示したい場合は,/CONFIRM 修飾子を指定してください。 プロンプトに対する応答によって,個々のファイルを暗号化するかどうかが決まります。

応答意味
YESファイルを暗号化します。
NO あるいは RETURN ファイルを暗号化しません。デフォルトの値です。
QUIT あるいは CTRL/Z そのファイルあるいは以降のファイルを暗号化しません。
ALL そのファイルとそれ以降のファイルをすべて暗号化します。

次のコマンドは,現在のディレクトリに存在するファイルのうち,ワイルドカード指定 *.COM に一致するすべてのファイルを暗号化の対象として選択しています。 /CONFIRM 修飾子が指定されているため,暗号化するファイルごとに確認のためのプロンプトが表示されます。MOVE.COM;3 ファイルに対する応答は肯定的なので,出力ファイル MOVE.COM;4 が作成されます。

$ ENCRYPT /CONFIRM *.COM FRANCISSCOTT
Encrypt DISK2:[FLYNN]MOVE.COM;3 ? [N] YES 

9.2.4.5 /EXCLUDE 修飾子

暗号化の対象から除外するファイルを指定する場合は,/EXCLUDE 修飾子を使用します。/EXCLUDE 修飾子で指定するファイル指定と一致するファイルは暗号化されません。/EXCLUDE 修飾子の形式は次のとおりです。

/EXCLUDE=(file-spec[,...])

file-spec パラメータには,暗号化せずにそのまま残すファイルの名前を指定します。

ファイル指定ではワイルドカードが使用可能です。 このファイル指定にデフォルト値はありません。 ディレクトリ・ファイルは暗号化できないため,それらを /EXCLUDE 修飾子で指定する必要はありません。 ただし,/EXCLUDE=*.DIR, と指定しても, %ENCRYPT-W-FILNODIR, file encryption of directories is not supported, filename.dirという警告メッセージは表示されません。

次のコマンドは,/EXCLUDE で指定した LOGIN.COM を除き,現在のディレクトリにあり *.COM のワイルドカード指定に一致するすべてのファイルを暗号化します。

$ ENCRYPT /EXCLUDE=LOGIN.COM *.COM FRANCISSCOTT

9.2.4.6 /EXPIRED 修飾子

/EXPIRED 修飾子は,満了日になる日付にもとづいて暗号化するファイルを選択します(満了日は SET FILE /EXPIRATION_DATE コマンドで設定されます)。 この修飾子は,/BEFORE あるいは /SINCE と同時に使用する場合のみ意味を持ちます。/EXPIRED 修飾子の形式は次のとおりです。

/EXPIRED /BEFORE[=time]

あるいは

/EXPIRED /SINCE[=time]

time パラメータには OpenVMS 時間を指定します。

時間の指定を省略した場合,TODAY が使用されます。TODAY は現在の年月日の 00:00:00 です。

次のコマンドは,現在のディレクトリにあるファイルのうち,*.COM のワールドカード指定に一致し,00:00:00 15-APR-2009 で満了日になるすべてのファイルを暗号化の対象として選択します。

$ ENCRYPT /EXPIRED /SINCE=15-APR-2009 *.COM FRANCISSCOTT

/EXPIRED 修飾子は /BACKUP あるいは /MODIFIED と同時には使用しないでください。

9.2.4.7 /MODIFIED 修飾子

/MODIFIED 修飾子は,ファイルの修正日時にもとづいて,暗号化するファイルを選択します。この修飾子は,/BEFORE あるいは /SINCE 修飾子と同時に使用する場合のみ機能します。 /MODIFIED 修飾子の形式は次のとおりです。

/MODIFIED /BEFORE[=time]

あるいは

/MODIFIED /SINCE[=time]

time パラメータには OpenVMS 時間を指定します。

時間の指定を省略した場合,TODAY が使用されます。TODAY は現在の年月日の 00:00:00 です。

次のコマンドは,現在のディレクトリにある *.COM のワイルドカード指定に一致するすべてのファイルのうち 00:00:00 15-APR-2009 以降に変更されたものを暗号化の対象として選択します。

$ ENCRYPT /MODIFIED /SINCE=15-APR-2009 *.COM FRANCISSCOTT

/MODIFIED 修飾子は /BACKUP あるいは /EXPIRED と同時には使用しないでください。

9.2.4.8 /SINCE 修飾子

/SINCE 修飾子は,この修飾子で指定された日時以降に作成されたファイルを暗号化の対象として選択します。/SINCE 修飾子の形式は次のとおりです。

/SINCE[=time]

time パラメータには OpenVMS 時間を指定します。

時間の指定を省略した場合,TODAY が使用されます。TODAY は現在の年月日の 00:00:00 です。

次のコマンドは,現在のディレクトリにあるワイルドカード指定 *.COM に一致するすべてのファイルのうち 00:00:00 15-APR-2009.以降に作成されたのものを暗号化の対象として選択します。

$ ENCRYPT /SINCE=15-APR-2009 *.COM FRANCISSCOTT

9.2.5 暗号化されたファイルの削除

デフォルトでは,ENCRYPT が入力ファイルを暗号化し,出力ファイルに書き込んでも,入力ファイルはそのまま残されます。 ただし,ファイルのセキュリティの観点から,ファイルを暗号化した後,プレーンテキスト・ファイルを削除することを検討してください。

DCL の DELETE コマンドに /ERASE 修飾子を指定することにより,ディスクからプレーンテキスト・ファイルの内容を削除することができます。 あるいは,次の修飾子を指定して ENCRYPT コマンドを使用することができます。

  • /DELETE

  • /ERASE

9.2.5.1 /DELETE 修飾子

/DELETE 修飾子は,暗号化処理が完了し出力ファイルに書き込んだ後に,入力ファイルを削除します。 入力ファイルに複数のバージョンがある場合は,すべてのファイルは削除されません。 /DELETE は,暗号化の対象となったバージョンの入力ファイルのみを削除します。

次のコマンドは,暗号化キー TWENTYFIVECENTS を使用して,SAVEDMAIL.MAI ファイルを削除します。 /DELETE 修飾子が指定されているため,暗号化されたデータが出力ファイルに書き込まれた後に,入力ファイルが削除されます。

$ ENCRYPT /DELETE SAVEDMAIL.MAI TWENTYFIVECENTS

注記: ENCRYPT/COMPRESS コマンドがエラー無しで実行されても,復号処理が失敗する場合があります。 /DELETE 修飾子が指定されていると,暗号化処理中に元の BACKUP セーブセット・ファイルが削除されるため,必要な場合に元の状態に戻せない事態が発生します。 このため,/DELETE 修飾子は /COMPRESS と同時には使用しないことをお勧めします。

9.2.5.2 /ERASE 修飾子

ファイルを削除あるいはパージするとファイルのヘッダ・レコードが破壊されるため,通常の方法ではそのファイルにアクセスできなくなります。 ただしそのファイルの情報は,上書きされるまではディスク上に残されます。このようなファイル・データをディスクから取り出す技法をディスク・スカビンジングと呼びます。ディスク・スカビンジングでデータを取り出せないようにするには,/DELETE 修飾子と同時に /ERASE 修飾子を使用します。 /ERASE を指定すると,OpenVMS オペレーティング・システムは,入力ファイルが保管されていた場所をデータ・セキュリティ・パターンで上書きします。 これにより,そのデータはディスク上に存在しなくなります。

次のコマンドは,SAVEDMAIL.MAI を暗号化した後,入力ファイルを削除する前にデータ・セキュリティ・パターンでデータを上書きすることを指定しています。

$ ENCRYPT /DELETE /ERASE SAVEDMAIL.MAI TWENTYFIVECENTS

9.2.6 暗号化アルゴリズム

ファイルはランダムに生成されるデータ・キーにより暗号化されます。この処理の利点の 1 つは,全く同じ 2 つのプレーンテキスト形式のファイルを同じコマンドを使用して暗号化しても,暗号化されたそれぞれのファイルが同じにならない点です。

DES を実装した OpenVMS の暗号化機能では,次の DES アルゴリズム・モードを使用します。

  • Cipher Block Chaining (DESCBC) モード

  • Electronic Code Book (DESECB) モード

  • Cipher Feedback (DESCFB) モード

これらのモードでは,それぞれ次のように、異なる暗号化処理を実行します。

  • DESCBC (デフォルト)

    1. 入力は 8 バイト・ブロックです。

    2. DESCBC は,各ブロックで排他的 OR 操作 (XOR) を実行します (XOR は,ビットごとに繰上げ無しでモジュロ 2 加算を行います。たとえば,バイナリ数 001 と 111 の XOR は 110 になります)。

      最初の XOR 操作は入力の最初のブロックと初期化ベクトルに対して実行されます (初期化ベクトルは,データの最初のブロックの暗号化に影響する暗号文がないため,データの連鎖を開始するのに使用されます)。

    3. この結果ブロックは暗号化されます。

    4. 次の XOR 操作は,生成された暗号文のブロックと,次のプレーンテキストのブロックに対して実行されます。

    5. 最後の反復で 8 バイト未満が残った場合,そのブロックには任意の値のビットが埋め込まれます。

    6. 8 バイトの各ブロックは,同じキー値で暗号化されます。

    7. DESCBC アルゴリズムは,データ・キーと初期化ベクトルの暗号化に使用されます。暗号化されたキーと初期化ベクトルは暗号化ファイルに保管されます。DESCBC アルゴリズムは,デフォルトでファイル・データの暗号化にも使用されます。

  • DESECB

    1. 入力は 8 バイト・ブロックです。

    2. 入力が 8 バイトに満たない場合は,ヌルが埋め込まれます。

    3. 各ブロックは,同じキーを使用して DES アルゴリズムで処理されます。

    4. 出力の他のすべてのブロックから独立した,8 バイト・ブロックの出力が生成されます。

  • DESCFB

    1. 一連の 1 バイトずつの入力を取ります。

    2. 入力は左にシフトされ,直前の反復の結果と連結されます。

    3. DESCFB は最初の反復で初期化ベクトルを使用します。

    4. 入力で指定された正確なバイト数のみが使用されます。

    5. 出力バイト数は入力バイト数と同じになります(埋め込み無し)。

AES アルゴリズムは次のモードを使用します。

  • Cipher block chaining モード:

    • AESCBC128 (デフォルト)

    • AESCBC192

    • AESCBC256

  • Electronic code book モード:

    • AESECB128

    • AESECB192

    • AESECB256

  • Cipher feedback モード:

    • AESCFB128

    • AESCFB192

    • AESCFB256

  • Output feedback モード:

    • AESOFB128

    • AESOFB192

    • AESOFB256

9.2.7 暗号化アルゴリズムの修飾子

データ・キーおよびファイル・データを暗号化するための暗号化アルゴリズムを選択できます。図 9-1 は,暗号化のキーとアルゴリズムの関係を示しています。この図では以下のことを説明しています。

  • キーの暗号化 ― /KEY_ALGORITHM あるいは /KEY_ALGORITHM=AESmmmkkk 修飾子を使用して,デフォルトの DESCBC あるいは AESCBC128 以外のアルゴリズムを指定します。

  • ファイルの暗号化 ― /DATA_ALGORITHM あるいは /DATA_ALGORITHM=AESmmmkkk 修飾子を使用して,デフォルトの DESCBC あるいは AESCBC128 以外のアルゴリズムを指定します。

mmm には,CBC,ECB,CFB,あるいは OFB のいずれかのモードを指定し,kkk には 128,192,あるいは 256 ビットを指定します。

図 9-1 キーとアルゴリズムの関係

Per-Thread Security Profile Model

修飾子は,次のように復号処理に影響します。

  • 暗号化に /DATA_ALGORITHM 修飾子を使用した場合,復号の際にそのアルゴリズムを指定する必要はありません。

  • 暗号化の際に /KEY_ALGORITHM 修飾子を使用した場合,復号の際にアルゴリズムを指定する必要があります。

9.2.7.1 /KEY_ALGORITHM 修飾子

キーおよび初期化ベクトルの暗号化にデフォルト以外のアルゴリズムを指定する場合は,/KEY_ALGORITHM 修飾子を使用します。 この修飾子の形式は以下のとおりです。

/KEY_ALGORITHM={DESCBC (デフォルト)|AESmmmkkk}

たとえば,次のコマンドは,データ・キーと初期化ベクトルを保護するために TWENTYFIVECENTS キーと共に DESCFB アルゴリズムを使用しています。

$ ENCRYPT /KEY_ALGORITHM=DESCFB SAVEDMAIL.MAI TWENTYFIVECENTS

次の例のように,AESCBC128 の指定を短縮して,/KEY_ALGORITHM=AES を使用することができます。

$ ENCRYPT file-name key-name /KEY_ALGORITHM=AES

9.2.7.2 /DATA_ALGORITHM 修飾子

ファイルの暗号化にデフォルト以外のアルゴリズムを指定する場合は,/DATA_ALGORITHM 修飾子を指定します。この修飾子の形式は次のとおりです。

/DATA_ALGORITHM={DESCBC (デフォルト)|AESmmmkkk}

たとえば,次のコマンドは Cipher Feedback モードの DES アルゴリズム (DESCFB) を使用して SAVEDMAIL.MAI ファイルを暗号化します。

$ ENCRYPT /DATA_ALGORITHM=DESCFB SAVEDMAIL.MAI TWENTYFIVECENTS

ファイルの暗号化で /DATA_ALGORITHM 修飾子にデフォルトの DESCBC を使用する場合,復号の際にはこの修飾子は省略できます。

次のように AESCBC128 の指定を省略して /DATA_ALGORITHM=AES を使用することができます。

$ ENCRYPT file-name key-name /KEY_ALGORITHM=AES /DATA_ALGORITHM=AES

9.2.8 AES データ・アルゴリズムおよび AES キー・アルゴリズムの指定

ファイルの暗号化にデフォルトの DESCBC 以外のアルゴリズムを選択する場合, DCL の ENCRYPT コマンドではデータとキーのアルゴリズム修飾子を使用でき, DECRYPT コマンドではキーのアルゴリズム修飾子を使用できます。

AES でファイルを暗号化する場合,/DATA_ ALGORITHM=AESmmmkkk と/KEY_ALGORITHM=AESmmmkkk の両方を指定してください。

  • mmm には次の AES モードを指定します: ECB,CBC,CFB,あるいは OFB

  • kkk にはキー・サイズを指定します: 128,192,あるいは 256 ビット (それぞれ 16 バイト,24 バイト,32 バイト・キー)

キーとそのキー・アルゴリズムは一致していなければなりません。 AES キーは AES キー・アルゴリズムで使用しなければなりません。 また,DES キーは DES キー・アルゴリズムで使用しなければなりません。ENCRYPT コマンドで /DATA_ ALGORITHM=AESmmmkkk が指定されていない場合のデフォルトのデータ・アルゴリズムは DES です。DES キーと KEY_ALGORITHM=DES を使用するとデータは強力なアルゴリズムで保護されますが,キーは保護されません。

注記: AES に DES キーとデータ・アルゴリズムを組み合わせても機能しません。 異なるアルゴリズムの組み合わせは,エラー状態 ENCRYPT$_AESMIXDES になります。

AES で復号する場合は,/KEY_ ALGORITHM=AESmmmkkk 修飾子のみを指定してください。 これは,そのファイルのデータ・レコードを復号する際に使用されるランダム・キーを含むランダム・キー・レコードの復号に,このキー・アルゴリズムが使用されるためです。 データ・アルゴリズムの指定は必須ではありませんが,指定がない場合は unrecognized-qualifier エラー・メッセージが出力されます。

注記: 暗号化処理の場合は,/KEY_ALGORITHM 無しで /DATA_ALGORITHM=AES を指定するとエラーが発生します。ランダム・キーとファイル情報を含むランダム・キー・レコードの暗号化には,デフォルトのアルゴリズム DESCBC が使用されます。 しかし,ユーザ・キーは KEY アルゴリズムと一致しなければなりません。 一致しない場合はエラーが発生します。 たとえば,キー名が AES キー名で,AES 値の場合を例に考えて見ます。キーが論理名テーブルから取り出され DES マスターキーで復号されると, そのキーは不要なデータを復号し,次のようなエラーで処理が失敗します。
%STR-F-FATINTERR, fatal internal error

9.2.9 ファイルの圧縮

暗号化の前にプレーンテキスト・ファイルのサイズを小さくしておくには,/COMPRESS 修飾子を使用します。 データ圧縮を使用すると,暗号化したファイルを物理的に転送する際のメディアの容量と,ネットワーク間で転送する際の時間を節約できます。

圧縮の効果は,ファイル内のデータの構造に依存します。この修飾子を使用するかどうかを判断する際には,性能低下との兼ね合いを考慮してください。一般に,圧縮ファイルは復号処理は速くなりますが,暗号化の処理時間は長くなります。次のような場合は /COMPRESS 修飾子の使用を検討してください。

  • ファイルの復号に時間がかかる。

  • ファイルのサイズが 200 ディスク・ブロック以上ある。

次のコマンドでは,暗号化の前に SAVEDMAIL.MAI ファイルを圧縮しています。

注記: /COMPRESS 修飾子でファイルを暗号化した場合,復号の際にこの修飾子を指定する必要はありません。 復号の際には,必要に応じてファイルの圧縮が自動的に解除されます。

$ ENCRYPT /COMPRESS SAVEDMAIL.MAI TWENTYFIVECENTS
注記: エラー無しで ENCRYPT/COMPRESS コマンドを実行できたとしても復号で失敗する場合があるため,/DELETE 修飾子を /COMPRESS 修飾子と一緒に使用しないでください。 /DELETE 修飾子を使用すると暗号化処理中にバックアップ・セーブセットが削除されるので,バックアップから元の状態に復元できないという事態になる可能性があります。

9.2.10 バージョン番号の表示

お使いのシステム上で動作している暗号化ソフトウェアのバージョンを確認するには,次の例のように /VERSION 修飾子を使用してください。

$ ENCRYPT /VERSION
Copyright (c) Compaq 2001, Digital Equipment Corporation. 1978, 1997. All
rights reserved.
Compaq Encryption V1.6)

9.3 ファイルの認証

認証とは,ファイルが変更されていないかどうかを確認するためのチェック処理です。

ENCRYPT/AUTHENTICATE コマンドは,プレーンテキスト・ファイルあるいは暗号文ファイルの変更を検出します。 ファイルの内容をもとに Message Authentication Code (MAC) が計算され,1 つ あるいは複数のファイルに関連付けられます。 セキュリティ MAC を作成しないように特別に要求している場合を除き,セキュリティ設定をもとに追加の MAC が作成されます。 後でファイルの整合性を確認したい場合,MAC を再計算し,現在の値と保管されている MAC とを比較します。 ENCRYPT /AUTHENTICATE コマンドを使用する前に,MAC とファイルを関連付ける処理を完了してください。

注記: /AUTHENTICATE 修飾子では AES (Advanced Encryption Standard) はサポートされていません。

ENCRYPT /AUTHENTICATE コマンドの構文は次のとおりです。

ENCRYPT /AUTHENTICATE file-spec key-name [ qualifiers ]

パラメータの意味は次のとおりです。

file-spec チェックしたいファイルの名前を指定します。
key-nameキーの名前を指定します。1 ~ 243 文字の文字列を指定します。
qualifiers 暗号化したいファイルの暗号化処理あるいはファイル選択を制御するためのオプションを指定します。

SYS$OUTPUT に認証処理に関する要約レポートが表示されます。

ENCRYPT /AUTHENTICATE では次の修飾子を使用できます。

  • /[NO]DATABASE[=file-spec]

    ファイルの内容を入力として使用して作成された,バイナリ MAC 値を保管するためのファイルを指定します。

  • /LOG

    ファイルごとに認証処理の結果を表示します。

  • /MULTIPLE_FILES

    file-spec パラメータがチェックすべきファイル名のリストであることを示します。

  • /[NO]OUTPUT[=file-spec]

    読み取り可能な MAC を保管するファイルを指定します。

  • /[NO]SECURITY[=file-spec]

    所有者,プロテクション設定,オプションの ACL などのファイル・セキュリティ設定を使用して MAC を生成し,バイナリ MAC 値を保管するファイルくを指定します。

  • /[NO]UPDATE

    新しい MAC 値を 1 つあるいは複数のファイルと関連付けます。

また,ENCRYPT コマンドで利用可能な次のファイル選択修飾子をすべて使用することができます。 /BACKUP,/BEFORE,/BY_OWNER,/CONFIRM,/EXCLUDE,/EXPIRED,/MODIFIED および /SINCE.。

以下の項で,/DATABASE,/LOG,/SECURITY,/OUTPUT および /UPDATE 修飾子を ENCRYPT /AUTHENTICATE で使用する方法について説明します。

9.3.1 MAC とファイルの関連付け

ファイルとの MAC の関連付けや,以前の MAC と新しい MAC の置き換えには,/UPDATE 修飾子を使用します。/UPDATE 修飾子は,ファイルの内容とセキュリティ設定から作成された 2 つの異なる MAC をアップデートします。次のコマンドは,現在のディレクトリのすべてのファイルに対して MAC 値を作成します。

$ ENCRYPT /AUTHENTICATE *.* whitehen /UPDATE

%ENCRYPT-I-SUMMARY1,   Summary:   Files successfully authenticated: 0
%ENCRYPT-I-SUMMARY2,              Files failing authentication:  0            
%ENCRYPT-I-SUMMARY3,              Files not in database:  3
%ENCRYPT-I-SECSUMM1,   Summary:   Security settings authenticated: 0
%ENCRYPT-I-SECSUMM2,              Security settings failing authentication: 0
%ENCRYPT-I-SECSUMM3,              Security settings not in database: 3

2 組の要約情報が表示されます。 最初の要約情報はファイルの内容から生成された MAC 値のもので,2 つめの要約情報はセキュリティ情報から生成された MAC 値のものです。 MAC がこれらのファイルに関連付けられるのは初めてなので,認証済み(要約メッセージ 1) あるいは認証失敗(要約メッセージ 2) と報告されているものはありません。それぞれの要約レポートの最後のメッセージは,これらのファイルに関付けられた古い MAC が無いことを示しています。

MAC はバイナリ・データベースに保管されます。このため,/NODATABASE あるいは /NOSECURITY を /UPDATE と共に指定することはできません。

9.3.2 ファイルのチェック

他に修飾子が指定されていなければ,ENCRYPT /AUTHENTICATE コマンドは以前の MAC と現在の MAC を比較します。また,現在 MAC が関連付けられていないファイルについても報告されます。

次のコマンドでは,現在のディkレクトリにあるすべてのファイルについての状態を報告しています。

$ ENCRYPT /AUTHENTICATE *.* whitehen

%ENCRYPT-I-NOUPDATE, database will not be updated with new authentication codes
%ENCRYPT-I-SUMMARY1, Summary:   Files successfully authenticated: 3
%ENCRYPT-I-SUMMARY2,            Files failing authentication:  0
%ENCRYPT-I-SUMMARY3,            Files not in database:  0
%ENCYRPT-I-SECSUMM1, Summary:   Security settings authenticated: 3
%ENCYRPT-I-SECSUMM2,            Security settings failing authenticated: 0
%ENCYRPT-I-SECSUMM3,            Security settings not in database:0

9.3.3 ファイルの内容から生成された MAC に対するファイル指定

データベース・ファイルは MAC 値をバイナリ形式で保管します。デフォルトでは, ファイルの内容から生成されたバイナリ MAC 値は SYS$LOGIN:ENCRYPT$MAC.DAT に保管されます。/DATABASE 修飾子を使用して別のファイルに MAC 値を保管することもできます。

次のコマンドは,MAC 値を保管する代替ファイルを選択しています。

$ ENCRYPT /AUTHENTICATE *.com whitehen /DATABASE=[MACS]MACCHECK.DAT /UPDATE

%ENCRYPT-I-NEWDB,     New authentication code database has been created
%ENCRYPT-I-SUMMARY1,  Summary: Files successfully authenticated: 0
%ENCRYPT-I-SUMMARY2,  Files failing authentication:  0                
%ENCRYPT-I-SUMMARY3,  Files not in database:  6

/NODATABASE を指定すると MAC 値は保管されません。 次回 ENCRYPT /AUTHENTICATE コマンドを使用したときには確認すべき現在の MAC 値は存在しないため,新しいファイルとして処理されます。

9.3.4 セキュリティ MAC ファイルの指定

/UPDATE 修飾子が使用されている場合,セキュリティ設定に基づく MAC エントリは自動的に作成され,セキュリティ・データベースに保管されます。 セキュリティ設定に基づいた MAC 値を生成したくない場合は,ENCRYPT /AUTHENTICATE コマンドで /NOSECURITY 修飾子を使用してください。

セキュリティ・データベース内のエントリは,所有者,プロテクション設定,あるいは ACL (設定されている場合) などのセキュリティ設定を使用して生成されます。デフォルトでは,セキュリティ MAC 値は ENCRYPT$SEC.DAT データベースに保管されます。セキュリティ MAC 値を代替ファイルに設定する場合は /SECURITY 修飾子を使用できます。

次のコマンドでは,セキュリティ MAC 値を保管する代替ファイルを選択しています。

$ ENCRYPT /AUTHENTICATE *.com seveneleven /SECURITY=SECURITYMAC.DAT /UPDATE

%ENCYRPT-I-NEWSECDB, New authentication security settings database has been created
%ENCRYPT-I-SUMMARY1, Summary:   Files successfully authenticated: 0
%ENCRYPT-I-SUMMARY2,            Files failing authentication: 0
%ENCRYPT-I-SUMMARY3,            Files not in database: 3
%ENCRYPT-I-SECSUMM1, Summary:   Security settings authenticated: 0
%ENCRYPT-I-SECSUMM2,            Security settings failing authentication: 0
%ENCRYPT-I-SECSUMM3,            Security settings not in database: 3

9.3.5 リスト・ファイルの指定

MAC 値と状態情報は,バイナリ MAC データベースに加え,読み取り可能な形式でも保管されます。デフォルトでは,読み取り可能な MAC 値は SYS$LOGIN:ENCRYPT$MAC.LIS に保管されます。

読み取り可能な値を代替ファイルに保管する場合は,/OUTPUT 修飾子を使用します。デフォルトのファイル拡張子は .LIS です。 次のコマンドでは,リスト・ファイルとして SYS$LOGIN:08MAC.LIS を指定しています。

$ ENCRYPT /AUTHENTICATE *.*  whitehen /OUTPUT=08MAC

%ENCRYPT-I-NOUPDATE, database will not be updated with new authentication codes
%ENCRYPT-I-SUMMARY1, Summary: Files successfully authenticated: 6
%ENCRYPT-I-SUMMARY2, Files failing authentication:  0                
%ENCRYPT-I-SUMMARY3, Files not in database:  0

SYS$OUTPUT の内容を表示するには,次のようなコマンドを実行します。

$ TYPE 08MAC.LIS 

File Integrity Report  22-APR-2009 10:50:22.62       Compaq Encryption  V1.6  Page  1
Authentication database: DISK_1:[000000.SCRATCH]ENCRYPT$MAC.DAT;1

File name                           Stored MAC         Current MAC  Status
==================================  =================  ===========  ======
DISK_1[SCRATCH]EXAMPLE.FILE;1       90E70CB4E8E96BBF   (same)      
 owner: [1,1]  prot: (RWED, RWED, RWED, ) 
DISK_1[SCRATCH]PICTURE.SLS;1        FCAD115A72E7934A   (same)          
 owner: [1,1]  prot: (RWED, RWED, RWED, ) 
DISK_1[SCRATCH]RELEASE.TXT;1        11375BD8D504ABB3   (same)
 owner: [1,1]  prot: (RWED, RWED, RWED, ) 
DISK_1[SCRATCH]RELEASE_NOTES.PS;3   2632027C133A8B5F   (same)
 owner: [1,1]  prot: (RWED, RWED, RWED, ) 
DISK_1[SCRATCH]SCHEDULE.LIST;3      852D440358FBFF95   (same)          
 owner: [1,1]  prot: (RWED, RWED, RWED, ) 
DISK_1[SCRATCH]WATCH_MAIL.COM;5     B75D00EC4991662C   (same)
 owner: [1,1]  prot: (RWED, RWED, RWED, ) 

Summary:        Files successfully authenticated: 6             
                Files failing authentication: 0
                Files not in database: 0

Summary:        Security settings authenticated: 6
                Security settings failing authentication: 0
                Security settings not in database: 0

このリスト・ファイルの作成を行なわない場合は,/NOOUTPUT 修飾子を使用します。

9.3.6 認証処理のログ

各ファイルの認証処理の結果を表示するには,/LOG 修飾子を使用します。たとえば, 次のコマンドは,使用している端末画面にそれぞれの認証処理の結果を表示しています。

$ ENCRYPT /AUTHENTICATE /LOG *.* whitehen

%ENCRYPT-I-NOUPDATE, database will not be updated with new authentication codes
%ENCRYPT-S-AUTHMATCH, File DISK_1:[SCRATCH]EXAMPLE.TXT;1 successfully authenticated
%ENCRYPT-S-SECAUTHMATCH, Security settings for DISK_1:[SCRATCH]EXAMPLE.TXT successfully authenticated
%ENCRYPT-S-AUTHMATCH, File DISK_1:[SCRATCH]TEST.TXT;1 successfully authenticated.           
%ENCRYPT-S-SECAUTHMATCH, Security settings for DISK_1:[SCRATCH]TEST.TXT successfully authenticated
%ENCRYPT-S-AUTHMATCH, File DISK_1:[SCRATCH]RELEASE.TXT;2 successfully authenticated.
%ENCRYPT-S-SECAUTHMATCH, Security settings for DISK_1:[SCRATCH]RELEASE.TXT successfully authenticated
%ENCRYPT-I-SUMMARY1, Summary:   Files successfully authenticated: 6
%ENCRYPT-I-SUMMARY2,            Files failing authentication:0
%ENCRYPT-I-SUMMARY3,            Files not in database:0

%ENCRYPT-I-SECSUMM1, Summary:   Security settings authenticated: 6
%ENCRYPT-I-SECSUMM2,            Security settings failing authentication:0
%ENCRYPT-I-SECSUMM3,            Security settings not in database:0

9.4 キー定義の削除

必要なくなくなったキーはキー格納テーブルから削除してください。ENCRYPT /REMOVE_KEY コマンドで,キー・テーブルに保管されている暗号化キー値の名前を指定してください。 ここで指定するキー名は,ENCRYPT/CREATE_KEY コマンドで前に定義した文字列です。

ENCRYPT /REMOVE_KEY コマンドの形式は次のとおりです。

ENCRYPT /REMOVE_KEY key-name [ qualifiers ]

デフォルトでは,ENCRYPT /REMOVE_KEY コマンドはプロセス・キー格納テーブルからキー定義を削除します。プロセスをログアウトした際,プロセス・キー格納テーブルからキー定義が削除されます。

ジョブ,グループ,あるいはシステムの格納テーブルからキー定義を削除するには,ENCRYPT /REMOVE_KEY コマンドで /JOB,/GROUP,あるいは /SYSTEM 修飾子を指定してください。 グループあるいはシステム・キーを作成する際に特権が必要なのと同様に,それらを削除するためには特権が必要になります。

たとえば,次のコマンドはシステム・キー格納テーブルから HAMLET キーを削除しています。

$ DECRYPT /REMOVE_KEY HAMLET /SYSTEM

キーの削除を確認するには,/REMOVE_KEY コマンドで /LOG 修飾子を指定してください。次の例では,キー HAMLET が削除されたことを示しています。

$ ENCRYPT /REMOVE_KEY HAMLET /SYSTEM /LOG 
%ENCRYPT-S-KEYDEL, key deleted for key name = HAMLET

9.5 ファイルの復号

暗号化したファイル内のデータにアクセスするには,DECRYPT コマンドでファイルを復号してください。以下に手順を示します。

  1. ファイルの暗号化に使用したのと同じキーを指定します。

    ENCRYPT /CREATE_KEY コマンドでキーの再定義が必要かどうか確認してください。たとえば,プロセス・キー格納テーブルにキーがあり,プロセスがログアウトすると,そのキー定義はなくなります。

  2. デフォルト以外ののアルゴリズムでファイルを暗号化したい場合は,/KEY_ALGORITHM 修飾子でアルゴリズムを指定します。

DECRYPT file-spec key-name [ qualifiers ]

パラメータの意味は次のとおりです。

file-specファイルの名前を指定します。
key-nameキーの名前を指定します。
qualifiers 復号したいファイルの復号処理とファイル選択を制御するためのオプションを指定します。

次に例を示します。

$ ENCRYPT/CREATE_KEY/AES MY_AES_KEY16 "My AES Key length>16"
$ ENCRYPT testfile.txt MY_AES_KEY16 /DATA_ALGORITHM=AESCBC128 /KEY_ALGORITHM=AESCBC128
$ DECRYPT testfile.txt MY_AES_KEY16 /KEY_ALGORITHM=AESCBC128
$!
$ ENCRYPT/CREATE_KEY/AES MY_AES_KEY24 "TEST My AES Key length>24"
$ ENCRYPT testfile.txt MY_AES_KEY24 /DATA_ALGORITHM=AESCBC192 /KEY_ALGORITHM=AESCBC192
$ DECRYPT testfile.txt MY_AES_KEY24 /KEY_ALGORITHM=AESCBC192
$!
$ ENCRYPT/CREATE_KEY/AES MY_AES_KEY32 "TEST TEST TEST My AES Key length>32"
$ ENCRYPT testfile.txt MY_AES_KEY32 /DATA_ALGORITHM=AESCBC256 /KEY_ALGORITHM=AESCBC256
$ DECRYPT testfile.txt MY_AES_KEY32 /KEY_ALGORITHM=AESCBC256
$!
$ ENCRYPT/CREATE_KEY MY_DES_KEY "This is My DES Key"
$ ENCRYPT testfile.txt MY_DES_KEY
$ DECRYPT testfile.txt MY_DES_KEY

9.5.1 入力ファイル指定

復号する暗号文ファイルとして,ディスク上に存在するファイルを指定します。 ディレクトリ・ファイルは指定できません。

DECRYPT コマンドで複数の入力ファイルを指定するには,ファイル指定でワイルドカード文字を使用してください。 ファイル選択を制御するには,適切な DECRYPT コマンド修飾子を指定してください。 ワイルドカード文字を使用する際は,ディレクトリ・ファイルや不正ブロックを含むファイルを指定しないように注意してください。

9.5.2 出力ファイル指定

復号処理の結果,プレーンテキスト・ファイルが生成されます。 復号処理された各入力ファイルごとにプレーンテキスト・ファイルが生成されます。デフォルトでは,DECRYPT コマンドは,入力ファイル指定で指定したファイル名と同じ名前でバージョン番号が 1 つ高い出力ファイルにプレーンテキストを書き込みます。

/OUTPUT 修飾子を使用して,出力先に別のファイルを指定することもできます。/OUTPUT 修飾子を指定する場合,デフォルトのファイル指定と異なる部分だけを指定します。完全なファイル名を指定する必要はなく,デフォルトの入力指定と同じ部分は省略できます。

たとえば,次の DCL コマンドでは,現在のディレクトリにある *.ENC のワイルドカード指定と一致するすべてのファイルを選択しています。/OUTPUT 修飾子には,作成されるすべてのファイルのファイル・タイプが COM であることを指定しています。

$ DECRYPT *.ENC/OUTPUT=.COM FRANCISSCOTT

9.5.3 処理情報の表示

デフォルトでは,復号処理に関する情報は SYS$COMMAND には表示されません。 この情報を表示させる場合は,/SHOW 修飾子を使用してください。/SHOW 修飾子の形式は次のとおりです。

/SHOW=keyword

あるいは

/SHOW=keyword-list

以下のキーワードを 1 つあるいは複数指定します。

  • FILES

  • STATISTICS

9.5.3.1 FILES キーワード

復号処理の際の入力および出力ファイル指定を表示するには,FILES キーワードを使用してください。たとえば,下記のコマンドの /SHOW=FILES は,復号処理の際に表示する各入力および出力ファイル指定を指定しています。

$ DECRYPT /SHOW=FILES *.COM FRANCISSCOTT
%ENCRYPT-S-DECRYPTED, DISK2:[FLYNN]MOVE.COM.3 decrypted to 
  DISK2:[FLYNN]MOVE.COM;4 (8 blocks)           
.
.
.

9.5.3.2 STATISTICS キーワード

各ファイルの復号操作の完了時に暗号ストリームの統計値を表示するには,STATISTICS キーワードを使用します。表示される統計値は以下のとおりです。

  • 処理したバイト数

  • 処理した内部レコード数

  • 暗号化アルゴリズムで消費した CPU 時間

次のコマンドでは,SYS$COMMAND に復号ストリームの統計値を表示することを指定しています。

$ DECRYPT /SHOW=STATISTICS *.COM FRANCISSCOTT
%ENCRYPT-S-STATISTICS, encryption stream statistics:            
         Total Records: 65
         Total Bytes: 4083
         Total Time: 00:00:00:01.63
.        
.
.

9.5.4 復号するファイルの指定

入力ファイル指定でワイルドカードを使用することにより, DECRYPT コマンドで複数の入力ファイルを指定することができます。このコマンドでは,ファイルの選択用に次の修飾子が用意されています。

  • /BACKUP

  • /BEFORE

  • /BY_OWNER

  • /CONFIRM

  • /EXCLUDE

  • /EXPIRED

  • /MODIFIED

  • /SINCE

以降の項で,これらの修飾子について説明します。

9.5.4.1 /BACKUP 修飾子

/BACKUP 修飾子は,最新のバックアップの日付をもとに,復号するファイルを選択します。この修飾子は,/BEFORE あるいは /SINCE 修飾子とともに使用する場合のみ機能します。 /BACKUP 修飾子の形式は次のとおりです。

/BACKUP /BEFORE[=time]

/BACKUP /SINCE[=time]

time パラメータには OpenVMS 時間を指定します。

時間の指定を省略した場合,TODAY が使用されます。TODAY は現在の年月日の 00:00:00 です。

次のコマンドは,現在のディレクトリにある 00:00:00 15-APR-2009 以前にバックアップ・コピーが作成されているファイルのうち,ワイルドカード指定 *.COM に一致するすべてのファイルを復号します。

$ DECRYPT /BACKUP /BEFORE=15-APR-2009 *.COM FRANCISSCOTT

/BACKUP 修飾子は /EXPIRED あるいは /MODIFIED 修飾子とは同時には使用しないでください。

9.5.4.2 /BEFORE 修飾子

/BEFORE 修飾子は,指定した日付よりも作成日が古いファイルを,復号するファイルとして選択します。/BEFORE 修飾子の形式は次のとおりです。

/BEFORE[=time]

time パラメータには OpenVMS 時間を指定します。

時間の指定を省略した場合は,TODAY が使用されます。TODAY は現在の年月日の 00:00:00 です。

次のコマンドは,現在のディレクトリにあるファイルのうち 00:00:00 15-APR-2009 以前に作成されワイルドカード指定 *.COM に一致するすべてのファイルを復号の対象として選択しています。

$ DECRYPT /BEFORE=15-APR-2009 *.COM FRANCISSCOTT

9.5.4.3 /BY_OWNER 修飾子

/BY_OWNER 修飾子は,特定の所有者認識コード(UIC)を持つファイルを復号の対象として選択します。 この修飾子で UIC が選択されていない場合,現在のプロセスの UIC が使用されます。 /BY_OWNER 修飾子の形式は次のとおりです。

/BY_OWNER=uic

uic パラメータにはファイルの所有者の UIC を指定します。

9.5.4.4 /CONFIRM 修飾子

デフォルトでは,復号対象の各ファイルごとの確認は行なわずに,コマンド行で指定したすべての入力ファイルが処理されます。 復号するファイルごとに,名前を示したプロンプトを表示したい場合は,/CONFIRM 修飾子を使用します。 この場合,ユーザの応答によって,個々のファイルを復号するかどうかが制御されます。

次のいずれかの応答を使用することができます。

応答意味
YESファイルを復号する。
NO あるいは RETURNファイルを復号しない。デフォルト値。
QUIT あるいは Ctrl/Z そのファイルあるいはそれ以降のファイルを復号しない。
ALL そのファイルおよびそれ以降のファイルを復号する。

以下のコマンドは,現在のディレクトリにあるファイルのうち,ワイルドカードファイル指定 *.COM に一致するすべてのファイルを復号対象として選択しています。 /CONFIRM 修飾子が指定されているため, 復号処理するかどうかファイルごとに確認のプロンプトが表示されます。 プロンプトに対して肯定的に応答しているので,MOVE.COM;3 ファイルに対して出力ファイル MOVE.COM;4 が作成されます。

$ DECRYPT /CONFIRM *.COM FRANCISSCOTT
Decrypt DISK2:[FLYNN]MOVE.COM;3 ? [N] YES

9.5.4.5 /EXCLUDE 修飾子

復号操作でファイルの除外を指定する場合は,/EXCLUDE 修飾子を使用してください。この修飾子で指定したファイル指定に一致するファイルは復号されません。/EXCLUDE 修飾子の形式は次のとおりです。

/EXCLUDE=((file-spec)[,...])

file-spec パラメータには暗号化されたまま残すファイルを指定します。

ファイルの指定が 1 つだけの場合は,カッコは省略できます。 ファイル指定ではワイルドカードが使用可能です。 /EXCLUDE 修飾子にはデフォルトのファイル指定はありません。

ディレクトリ・ファイルは暗号化されないので,/EXCLUDE 修飾子でディレクトリを指定する必要はありません。 ただし,/EXCLUDE=*.DIR を指定したとしても次のような警告メッセージが表示されることはありません。 %ENCRYPT-W-FILNODIR, file encryption of directories is not supported, filename.dir

次のコマンドでは,現在のディレクトリにあるファイルのうち,/EXCLUDE で指定されている LOGIN.COM を除き,*.COM のワールドカード指定で一致するすべてのファイルを復号することを選択しています。

$ DECRYPT /EXCLUDE=LOGIN.COM *.COM FRANCISSCOTT

9.5.4.6 /EXPIRED 修飾子

/EXPIRED 修飾子は,設定されている満了日に基づいて,復号するファイルを選択します(満了日は,SET FILE/EXPIRATION_DATE コマンドで設定されます)。この修飾子は,/BEFORE あるいは /SINCE 修飾子が指定されている場合のみ意味を持ちます。/EXPIRED 修飾子の形式は次のとおりです。

/EXPIRED /BEFORE[=time]

/EXPIRED /SINCE[=time]

time パラメータには OpenVMS 時間を指定します。

時間の指定を省略した場合,TODAY が使用されます。TODAY は現在の年月日の 00:00:00 です。

次のコマンドは,現在のディレクトリにあるファイルのうち,00:00:00 15-APR-2009 以降に満了日となる *.COM のワイルドカード指定で一致するすべてのファイルを復号することを選択しています。

$ DECRYPT /EXPIRED /SINCE=15-APR-2009 *.COM FRANCISSCOTT

/EXPIRED 修飾子は,/BACKUP あるいは /MODIFIED 修飾子と同時には使用しないでください。

9.5.4.7 /MODIFIED 修飾子

/MODIFIED 修飾子は,最後に修正した日付にもとづいて,復号するファイルを選択します。 この修飾子は,/BEFORE あるいは /SINCE 修飾子が指定されている場合のみ機能します。 /MODIFIED 修飾子の形式は次のとおりです。

/MODIFIED /BEFORE[=time]

/MODIFIED /SINCE[=time]

time パラメータには OpenVMS 時間を指定します。

時間の指定を省略した場合,TODAY が使用されます。TODAY は現在の年月日の 00:00:00 です。

次のコマンドは,現在のディレクトリにあるファイルのうち,00:00:00 15-APR-2009 以降に変更されたワイルドカード指定 *.COM に一致するファイルを復号します。

$ DECRYPT /MODIFIED /SINCE=15-APR-2009 *.COM FRANCISSCOTT

/MODIFIED 修飾子は,/BACKUP あるいは /EXPIRE 修飾子と同時には使用しないでください。

9.5.4.8 /SINCE 修飾子

/SINCE 修飾子は,復号するファイルとして,指定した時間以降に作成されたファイルを選択します。/SINCE 修飾子の形式は次のとおりです。

/SINCE[=(time)]

time パラメータには,OpenVMS 時間を指定します。

時間の指定を省略した場合は TODAY が使用されます。TODAY は現在の年月日の 00:00:00 です。

次のコマンドは,現在のディレクトリにあるファイルのうち,00:00:00 15-APR-2009 以降に作成されたワイルドカード指定 *.COM で一致するすべてのファイルを選択しています。

$ DECRYPT /SINCE=15-APR-2009 *.COM FRANCISSCOTT

9.5.5 復号ファイルの削除

デフォルトでは,入力ファイルは,復号されファイルに出力された後もそのまま残されます。ディスク容量の節約のため,ファイルを復号した後,暗号化ファイルをディスクから削除してもかまいません。

DCL の DELETE コマンドで /ERASE 修飾子を指定してディスクからファイルの内容を消去するか,あるいは DECRYPT コマンドで /DELETE および /ERASE 修飾子を使用してファイルの内容を消去することができます。

9.5.5.1 /DELETE 修飾子

/DELETE 修飾子は,復号操作が完了して出力ファイルに書き込み,ファイルをクローズした後に,入力ファイルを削除します。入力ファイルに複数のファイル・バージョンがある場合は,それらはすべて削除されます。 /DELETE は暗号化されたファイルに対してのみ機能します。

次のコマンドは, 暗号キー TWENTYFIVECENTS で SAVEDMAIL.MAI ファイルを復号することを指定しています。/DELETE 修飾子が指定されているので,出力ファイルを出力した後,入力ファイルが削除されます。

$ DECRYPT /DELETE SAVEDMAIL.MAI TWENTYFIVECENTS

9.5.5.2 /ERASE 修飾子

ディスクのスカビンジングを防ぐためには,/DELETE 修飾子とともに /ERASE 修飾子を使用します。 たとえば,次のコマンドは,暗号キー TWENTYFIVECENTS を使用して SAVEDMAIL.MAI ファイルを復号します。 この際,データ・セキュリティ・パターンで入力ファイルが消去され,ファイルが削除されます。

$ DECRYPT /DELETE /ERASE SAVEDMAIL.MAI TWENTYFIVECENTS

次のコマンドでは,暗号キー TWENTYFIVECENTS を使用して SAVEDMAIL.MAI ファイルが復号されますが,ファイルの削除の前に,データ・セキュリティ・パターンによる入力ファイルの消去は行なわれません。

$ DECRYPT /DELETE /NOERASE SAVEDMAIL.MAI TWENTYFIVECENTS

9.5.6 アルゴリズム修飾子

暗号化に使用するアルゴリズム修飾子によって,次のように復号時の手順が決まります。

  • 暗号化の際に /DATA_ALGORITHM 修飾子を使用した場合,復号の際にはアルゴリズムの指定は行いません。

  • 暗号化の際に /KEY_ALGORITHM 修飾子を使用した場合,復号の際にはそのアルゴリズムを指定します。

/KEY_ALGORITHM 修飾子の形式は次のとおりです。

/KEY_ALGORITHM=(algorithm)

algorithm パラメータには次のいずれかの値を指定します。

  • DESCBC (デフォルト)

  • DESECB

  • DESCFB

たとえば,SAVEDMAIL.MAI を /KEY_ALGORITHM=DESCFB を指定して暗号化した場合,次のように /KEY_ALGORITHM=DESCFB 修飾子を使用してファイルを復号してください。

$ ENCRYPT /KEY_ALGORITHM=DESCFB SAVEDMAIL.MAI TWENTYFIVECENTS
$ DECRYPT /KEY_ALGORITHM=DESCFB SAVEDMAIL.MAI TWENTYFIVECENTS

9.6 セーブセットの暗号化

OpenVMS の BACKUP ユーティリティは,機能的に同等のバックアップ・コピーを作成することにより,ファイルあるいはボリュームを破損から保護する機能を提供します。 BACKUP ユーティリティによって作成されるファイルはセーブセットと呼ばれ,セーブセット内のデータは BACKUP ユーティリティでのみ読み取り可能な BACKUP 形式で書き込まれます。 セーブセットを作成する際,BACKUP /ENCRYPT コマンドを使用して暗号化することもできます。

注記: BACKUP ユーティリティの 1 つのバージョンであるスタンドアロン BACKUP は,OpenVMS オペレーティング・システムが動作していなくても使用可能ですが,/ENCRYPT 修飾子はサポートしていません。

BACKUP /ENCRYPT はキーを必要とします。セーブセット内のファイルはすべて同じキーで暗号化されます。暗号化されたセーブセットの書き込み操作で /ENCRYPT 修飾子を使用した場合,BACKUP ユーティリティは,日時およびその他の一時的なデータから 16 バイトのランダム番号のキーを生成します。このランダム番号をよりランダムにするために,BACKUP は,この 16 バイト値をそれ自身を使用して DESCBC アルゴリズムのキーとしてもう一度暗号化します。その結果の最初の 8 バイトは,セーブセットに対する暗号化キーとしてとして使用され,次の 8 バイトはコンテキスト領域に対する初期化ベクトルとして使用されます。

この処理の利点の 1 つは,同じコマンドを使用して,同じ 1 セットのファイルから作成された 2 つのセーブセットが暗号化形式では同じにならない点です。

次のいずれかのコマンドを実行すると,システムが生成する暗号化キーと初期化ベクトルを無効にすることができます。

  • ENCRYPT /CREATE_KEY

  • BACKUP /ENCRYPT=(VALUE=key-value)

セキュリティをより高めるには,パラメータ無しで /ENCRYPT 修飾子を指定してください。 この場合,ソフトウェアはキー値の入力を求めるプロンプトを表示します。入力した値はエコーされません。確認のため,値の再入力のためのプロンプトを表示します。

ENCRYPT /CREATE_KEY コマンドでキーを定義する場合, BACKUP コマンド行で /ENCRYPT=(NAME=(key-name)) 修飾子を使用してキー名を指定します。

デフォルトでは,BACKUP は,DESCBC アルゴリズムを使用してセーブセット・データを暗号化します。デフォルトを無効にするためにユーザが指定したキーとアルゴリズムは,データ・キーと初期化ベクトルの暗号化のためだけに使用されます。

BACKUP ユーティリティは,暗号化の結果をBACKUP サマリ・レコードの BACKUP 属性としてセーブセットに記録します。 セーブセットのリストアあるいはリスト操作の際に,BACKUP は,システムが生成するキーあるいはユーザが提供するキーをデータ・キーおよび初期化ベクトル値の復号のために使用します。

BACKUP コマンドの /SAVE_SET 修飾子は,次のように入力セーブセット修飾子および出力セーブセット修飾子の両方として機能します。

  • 出力セーブセット指定で /SAVE_SET および /ENCYRPT 修飾子を指定した場合,BACKUP は暗号化形式でセーブセットにデータ・ファイル(ファイル名およびファイル属性を含む)を書き込みます。

  • 入力セーブセット指定で /SAVE_SET を指定した場合,BACKUP は指定された復号キーを使用してセーブセット・レコードからファイル名,属性,およびデータにアクセスします。ENCRYPT オプションは,BACKUP がセーブセット・メディアからデータ・ファイルを読み取り,他の修飾子にしたがってそれらが処理された後に,データ・ファイルを復号します。

次の例では,以下のように,デフォルト・ディレクトリの暗号化バックアップ・ファイルを作成しています。

  1. ENCRYPT /CREATE_KEY で,SANFRANCISCO キーを A city set on a hill cannot be hid の値で定義しています。

  2. BACKUP /ENCRYPT で,デフォルト・ディレクトリのすべてのファイルをセーブセット 28JULSAVE.BCK に暗号化形式で保管しています。

    デバイス MKA600: では,ファイル名,属性,およびその他のデータを暗号化するのに使用されるデータは,デフォルトの DESCBC アルゴリズムで暗号化されます。この処理では SANFRANCISCO として定義されたキーが使用されます。

$ ENCRYPT /CREATE_KEY SANFRANCISCO "A city set on a hill cannot be hid" 
$ BACKUP /ENCRYPT=(NAME=SANFRANCISCO) * MKA600:28JULSAVE.BCK /SAVE_SET

次の例では,ディスク上のすべてのファイルの最新バージョンのセーブセットを作成しています。このセーブセットは,DESCFB アルゴリズムとキー値 Make peace で暗号化されます。

$ BACKUP /ENCRYPT=(VALUE="Make peace",ALGORITHM=DESCFB) *.* 28JULSAVE /SAVE_SET

9.6.1 ファイルのリストア

セーブセットを暗号化する際,BACKUP はセーブセット内に情報を保管しません。このため,暗号化されたセーブセットを復号する場合は,BACKUP がデータ暗号制御レコードを 探すように RESTORE コマンドで /ENCRYPT 修飾子を指定してください。

暗号化されていないセーブセットをリストアする際に間違って /ENCRYPT を指定した場合,BACKUP はこの修飾子を無視します。暗号化されセーブセットを /ENCYRPT 修飾子を指定せずに,あるいはキー名を指定して,リストアしようとすると,次のようなエラー・メッセージが表示されます。

%BACKUP-F-ENCSAVSET, save set is encrypted, /ENCRYPT must be specified

次のコマンドは,BACKUP /ENCRYPT コマンドで作成されたセーブセットから SALARY.DAT ファイルをリストアします。

$ ENCRYPT /CREATE_KEY CASTERBRIDGE "And all her shining keys"
$ BACKUP /ENCRYPT=(NAME=CASTERBRIDGE)
_$ From: MKA600:28JULSAVE.BCK /SELECT=SALARY.DAT
_$ To: SALARY28J.DAT

BACKUP は暗号化されたセーブセットを次のように復号します。

  1. 属性サブレコードに保管された暗号化データを復号する。

  2. 復号されたデータ・キーの 32 ビットのチェックサムを保管されている値と比較する。

  3. 一致する場合,BACKUP はそのデータ・キーが有効と判断し,セーブセットをリストアします。

  4. BACKUP が不一致を検出する場合は,BACKUP コマンドで指定したデータ・キーあるいはアルゴリズムが間違っている可能性があり,次のようなメッセージが表示されます。

%BACKUP-F-ENCKEYMAT, the supplied decryption key does not yield a readable save set

9.6.2 配布ファイルの暗号化

BACKUP /ENCRYPT を使用して, 配布キット内のセーブセットの暗号化に使用されたキーを持っているカスタマーだけが利用可能になるような配布メディアを作成することができます。

次の例では,ENCRYPT/CREATE_KEY コマンドで 3 つのキーが定義されています。これらのキーのそれぞれで各製品のセーブセットが暗号化され,ソフトウェア配布メディアが作成されています。

$ ENCRYPT /CREATE_KEY SDXKEY "SDX V9.0 kit 99804034671838302"
$ BACKUP /ENCRYPT=(NAME=SDXKEY) /REWIND - 
_From: MASTER:[SDXKIT]*.* MKA600:SDXKIT /SAVE_SET 

$ ENCRYPT /CREATE_KEY RQPKEY "RQP V4.5 kit FWTEBCJDITROEMMKAZXRYTC"
$ BACKUP /ENCRYPT=(NAME=RQPKEY) -
_From: MASTER: [RQPKIT]*.* MKA600:RQPKIT /SAVE_SET

$ ENCRYPT /CREATE_KEY WOLKEY "WOL V2.0 kit 28374UEJDTLHGD84JF849SK95KD0"
$ BACKUP /ENCRYPT=(NAME=WOLKEY) -
_From: MASTER:[WOLKIT]*.* MKA600:WOLKIT /SAVE_SET

生成されるセーブセットは,適切なキーを持っているカスタマーのシステム上にのみリストアできます。

次の例ではセーブセット WOLKIT をリストアしています。

$ ENCRYPT /CREATE_KEY WOLKEY "WOL V2.0 kit 28374UEJDTLHGD84JF849SK95KD0"
$ BACKUP /ENCRYPT=(NAME=WOLKEY) MKA600:WOLKIT /SAVE_SET SYSTEM:[RQPKIT]*.*

次の例では,コマンド行でキー名とキー値を入力しない形でセーブセット SDXKIT をリストアしています。 この場合,BACKUP /ENCRYPT コマンドは情報の入力を求めるプロンプトを表示します。 入力内容は画面にはエコーされません。

$ BACKUP /ENCRYPT /REWIND MKA600:SDXKIT /SAVE_SET SYSTEM:[SDXKIT]*.*
Enter Key Value: (input not echoed) 
Verify: (input not echoed) 
プライバシー 本サイト利用時の合意事項
© 2011 Hewlett-Packard Development Company, L.P.