ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
マニュアルページセクション 1: ユーザーコマンド Oracle Solaris 11.1 Information Library (日本語) |
- ファイルの暗号化または復号化
/usr/bin/encrypt -l
/usr/bin/encrypt -a algorithm [-v] [-k key_file | -K key_label [-T token_spec]] [-i input_file] [-o output_file]
/usr/bin/decrypt -l
/usr/bin/decrypt -a algorithm [-v] [-k key_file | -K key_label [-T token_spec]] [-i input_file] [-o output_file]
このユーティリティーは、指定されたアルゴリズムを使用して、指定されたファイルまたは stdin を暗号化または復号化します。出力ファイルが指定されていない場合、標準出力に出力されます。cryptoadm -i オプションと -o オプションが同じファイルを指定している場合は、暗号化された出力が同じファイルシステム内の一時作業ファイルに書き込まれてから、元のファイルを置き換えるために使用されます。
復号化時に cryptoadm -i オプションと -o オプションが同じファイルを指定している場合は、平文によって暗号化テキストファイルが置き換えられます。
encrypt の出力ファイルと decrypt の入力ファイルには、次の情報が含まれています。
出力形式バージョン番号 (ネットワークバイトオーダーの 4 バイト)。現在のバージョンは 1 です。
鍵生成関数で使用される繰り返し (ネットワークバイトオーダーの 4 バイト)。
IV (ivlen バイト)[1]。iv データは、1 ブロックサイズと等しいランダムバイトにより生成されます。
鍵生成に使用される salt データ (16 バイト)。
暗号化テキストデータ。
サポートしているオプションは、次のとおりです。
暗号化または復号化プロセスで使用するアルゴリズムの名前を指定します。詳細については、「使用法」の「アルゴリズム」を参照してください。
入力ファイルを指定します。input_file が指定されていない場合、デフォルトは標準入力です。
暗号化アルゴリズムのキー値を含むファイルを指定します。PKCS#11 仕様で規定されているように、各アルゴリズムには固有のキー素材要件があります。-k が指定されていない場合、encrypt は getpassphrase(3C) を使用してキー素材の入力を要求します。鍵ファイルのサイズにより鍵の長さが決まります。また、可変長鍵を使用した暗号化用の 128 ビット長鍵の生成には、端末から設定されたパスフレーズが常に使用されます。
鍵ファイルの生成については、pktool(1) の genkey サブコマンドを参照してください。また、dd(1M) を使用することもできます。
PKCS#11 トークン内で対称トークンキーのラベルを指定します。
システムで利用可能なアルゴリズムの一覧を表示します。この一覧は、暗号化フレームワークの構成によって変わります。キーサイズはビット単位で表示されます。
出力ファイルを指定します。output_file が指定されていない場合のデフォルトは標準出力です。ファイルへのリダイレクトなしに標準出力が使用される場合、暗号化または復号化された raw データにより端末エミュレーションが中断されるため、端末ウィンドウがハングアップしたように見える場合があります。これは、バイナリファイルを表示しているときに時折発生する状態によく似ています。
-K が指定されている場合に、デフォルトのソフトトークンオブジェクトストア以外の PKCS#11 トークンを指定します。
token_spec は次の形式になります。
token_name [:manuf_id [:serial_no]]
トークンラベルの末尾にスペースがある場合でも、このオプションではユーザーがスペースを入力する必要はありません。
トークン識別文字列はコロンで区切ります。いずれかの部分に文字としてコロン (:) を含める場合、そのコロンをバックスラッシュで (\) でエスケープする必要があります。コロン (:) がない場合、文字列全体が (最大 32 文字) がトークンラベルと見なされます。コロンが (:) 1 つだけある場合、文字列はトークンラベルと作成者となります。
詳細な情報を表示します。Verbose を参照してください。
-l オプションを指定すると、サポートされるアルゴリズムと、鍵の最小サイズおよび最大サイズが表示されます。これらのアルゴリズムは、暗号化フレームワークによって提供されます。サポートされる各アルゴリズムは PKCS #11 メカニズムの別名であり、特定のアルゴリズムタイプでもっともよく使用され、もっとも制限が少ないバージョンです。たとえば、des は CKM_DES_CBC_PAD の別名、arcfour は CKM_RC4 の別名です。パディングや ECB のない派生アルゴリズムは、サポートされていません。
これらの別名は -a オプションとともに使用され、大文字と小文字が区別されます。
-k オプションが暗号化および復号化タスクで使用されない場合、ユーザーはパスフレーズの入力を求められます。パスフレーズは、PKCS #5 で指定されている PBKDF2 アルゴリズムを使用して処理され、より安全な鍵に変換されます。
暗号化および復号化でパスフレーズが使用される場合、ユーザーが入力したパスフレーズが PBKDF2 アルゴリズムを使用して暗号化鍵に変換されます。詳細は、http://www.rsasecurity.com の「PKCS #5 v2.0.」を参照してください。
コマンドに入力ファイルが指定されている場合、進行状況が画面に表示されます。進行状況の表示では、25% 完了するごとにパイプ記号 (|) が表示されます。 標準入力からの入力の場合は、40KB 読み取られるたびにピリオド (.) が表示されます。両方の入力方法が完了すると、「Done」が出力されます。
例 1 使用できるアルゴリズムの一覧表示
次の例では、使用できるアルゴリムが一覧表示されます。
example$ encrypt -l Algorithm Keysize: Min Max ----------------------------------- aes 128 128 arcfour 8 128 des 64 64 3des 192 192
例 2 AES を使用して暗号化する
次の例では、AES を使用して暗号化し、暗号化鍵の入力を求めます。
example$ encrypt -a aes -i myfile.txt -o secretstuff
例 3 鍵ファイルの作成後に AES を使用して暗号化する
次の例では、鍵ファイルの作成後に AES を使用して暗号化します。
example$ pktool genkey keystore=file keytype=aes keylen=128 \ outkey=key example$ encrypt -a aes -k key -i myfile.txt -o secretstuff
例 4 インパイプを使用して暗号化されたテープバックアップを指定する
次の例では、インパイプを使用して、暗号化されたテープバックアップを提供します。
example$ ufsdump 0f - /var | encrypt -a arcfour \ -k /etc/mykeys/backup.k | dd of=/dev/rmt/0
例 5 インパイプを使用してテープバックアップを復元する
次の例では、インパイプを使用してテープバックアップを復元します。
example$ decrypt -a arcfour -k /etc/mykeys/backup.k \ -i /dev/rmt/0 | ufsrestore xvf -
例 6 3DES アルゴリズムを使用して入力ファイルを暗号化する
次の例では、des3key ファイルに格納された 192 ビット鍵を使用して inputfile ファイルを暗号化します。
example$ encrypt -a 3des -k des3key -i inputfile -o outputfile
例 7 DES トークンキーを使用して入力ファイルを暗号化する
次の例では、ソフトトークンキーストア内の DES トークンキーを使用して入力ファイルを暗号化します。DES トークンキーは、pktool(1) で生成できます。
example$ encrypt -a des -K mydeskey \ -T "Sun Software PKCS#11 softtoken" -i inputfile \ -o outputfile
次の終了ステータスが返されます。
正常終了。
エラーが発生した。
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
|
digest(1), pktool(1), mac(1), dd(1M), getpassphrase(3C), libpkcs11(3LIB), attributes(5), pkcs11_softtoken(5)
『Oracle Solaris 11.1 の管理: セキュリティーサービス』
RSA PKCS#11 v2.11: http://www.rsasecurity.com
RSA PKCS#5 v2.0: http://www.rsasecurity.com