「ステートレス OpenPGP」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (ステートレスに書き換え) |
(訳を修正) |
||
11行目: | 11行目: | ||
ステートレス OpenPGP (SOP) は、コマンドラインインターフェイス (CLI) ツールが [[OpenPGP]] の操作を行うための標準規格です。 |
ステートレス OpenPGP (SOP) は、コマンドラインインターフェイス (CLI) ツールが [[OpenPGP]] の操作を行うための標準規格です。 |
||
− | この機能と構文の概要が記されている[https://datatracker.ietf.org/doc/draft-dkg-openpgp-stateless-cli/ |
+ | この機能と構文の概要が記されている [https://datatracker.ietf.org/doc/draft-dkg-openpgp-stateless-cli/ IETF のドラフト]で定義されています。 |
SOP は、メッセージの署名/検証および暗号化/復号するための効率的な方法です。これらの全ての操作において[https://openpgp.dev/book/glossary.html#term-OpenPGP-Certificate 証明書]や[https://openpgp.dev/book/glossary.html#term-Transferable-Secret-Key 鍵]を明示的に指定することになっています。 |
SOP は、メッセージの署名/検証および暗号化/復号するための効率的な方法です。これらの全ての操作において[https://openpgp.dev/book/glossary.html#term-OpenPGP-Certificate 証明書]や[https://openpgp.dev/book/glossary.html#term-Transferable-Secret-Key 鍵]を明示的に指定することになっています。 |
2024年8月26日 (月) 15:53時点における最新版
ステートレス OpenPGP (SOP) は、コマンドラインインターフェイス (CLI) ツールが OpenPGP の操作を行うための標準規格です。 この機能と構文の概要が記されている IETF のドラフトで定義されています。
SOP は、メッセージの署名/検証および暗号化/復号するための効率的な方法です。これらの全ての操作において証明書や鍵を明示的に指定することになっています。
通常、秘密鍵の操作はソフトウェア鍵を用います。しかし、一部の SOP 実装においては、ハードウェアセキュリティデバイスに保存してある秘密鍵のデータを使用することもできます。
多くの SOP 実装が存在しており、相互運用性テストスイートで相互テストされています。
実装は様々な名前の実行可能ファイルを提供していますが、これらは全て同じ CLI を持っており、コア機能は互換性があります。
目次
インストール
インストール可能な実装はいくつか存在します:
機能
SOP は統一されたインターフェイスを提供しますが、OpenPGP の規定する暗号化メカニズムからサポートするサブセットを自由に選択することが許されています。 異なるバージョンのフォーマットや、ハードウェア上に保存された鍵をサポートしている場合も有ります。
パッケージ | RFC 4880 (+ RFC 6637) | draft-koch-librepgp | draft-ietf-openpgp-crypto-refresh | ハードウェアに保存された鍵 |
---|---|---|---|---|
rsop | Yes | No | No | Yes |
sequoia-sop | Yes | No | No | No |
ハードウェアデバイスのサポート
ハードウェアセキュリティデバイスを使用する際は、通常、秘密鍵のデータを指定する SOP のパラメータで、代わりに公開鍵のデータだけを指定します。
この公開鍵データは、対応する秘密鍵データを提供するハードウェアデバイスを見つけ使用するための明示的な参照として機能します。
ヒントとテクニック
以下の例では、SOP 実行ファイルの名前 (例: rsop や sqop) が $SOP
環境変数に格納されていると仮定します。
秘密鍵を作成する
User ID <archie@example.org>
付きの OpenPGP transferable secret key (別名: 秘密鍵) を作成するには:
$ $SOP generate-key "<archie@example.org>" > archie.tsk
証明書を抽出する
作成した transferable secret key から証明書 (別名: 公開鍵) を抽出するには:
$ $SOP extract-cert > archie.cert < archie.tsk
Detached 署名を作成する
メッセージの detached 署名を作成するには:
$ echo "Hello world" | $SOP sign archie.tsk > msg.sig
Detached 署名を検証する
Detached 署名を検証するには、オリジナルのメッセージ、署名、そして OpenPGP 証明書を使用してください:
$ echo "Hello world" | $SOP verify msg.sig archie.cert
2024-02-27T17:36:28Z 12b7169b5fc99d1a2d546b8755d1f4d8a355f3cb 12b7169b5fc99d1a2d546b8755d1f4d8a355f3cb mode:binary
メッセージを暗号化する
メッセージは、受信者の OpenPGP 証明書によって暗号化できます:
$ echo "Hello world" | $SOP encrypt archie.cert > encrypted.msg
メッセージを復号する
暗号化されたメッセージを受信したユーザーは、そのユーザーの transferable secret key によってメッセージを復号することができます:
$ $SOP decrypt archie.tsk < encrypted.msg
Hello world
Cleartext 署名されたメッセージを作成する
Transferable secret key で cleartext 署名されたメッセージを作成できます:
$ echo "Hello world" | $SOP inline-sign --as clearsigned archie.tsk
-----BEGIN PGP SIGNED MESSAGE----- Hello world -----BEGIN PGP SIGNATURE----- wnUEARYKAB0WIQQStxabX8mdGi1Ua4dV0fTYo1XzywUCZd4eOgAKCRBV0fTYo1Xz yyqJAQDUD/lbhqOHL/O0cjtytXQXnMOx5twW3FT3RJPlu9JZUAEA2OAMhzLmX6Bb mXz8Tu0eApqbxu64ksieL8YNN20IwQs= =77wU -----END PGP SIGNATURE-----