Skip to content

Commit 52483b1

Browse files
authored
Merge pull request #239 from tamasan238/pr96-and-others
[JA] Update and fix various wolfSSL user manual chapters
2 parents fcfa07a + ebbbc7d commit 52483b1

File tree

9 files changed

+234
-85
lines changed

9 files changed

+234
-85
lines changed

wolfSSL/src-ja/appendix07.md

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,24 @@ wolfSSLチームは以前、実験的なポスト量子暗号アルゴリズム
2020
しかし、「あらかじめデータを収集、蓄積し、後に時間をかけて解読を進めていく」といった脅威モデルが存在します。
2121
すなわち、暗号の復号に特化した量子コンピューターが出現するよりも早いうちに準備が必要です。
2222

23-
NISTが、量子コンピューターに対して脆弱になる公開鍵暗号アルゴリズムを置き換えるように設計された、新しいクラスのアルゴリズムの標準化を進めています。
24-
この章の執筆時点で、NISTはすでにML-DSA、ML-KEM、SLH-DSAを標準化しています。
25-
現在、標準化団体はOIDとコードポイントを記述する様々なドラフト文書を持っています。
26-
NISTはこれらのアルゴリズムをCMVP規制フレームワークの下に置き、これらのアルゴリズムの実装のFIPS-140-3検証を可能にする作業を進めています。
23+
NISTは量子コンピュータに対して脆弱になる公開鍵暗号アルゴリズムを置き換えるために設計された、新しいアルゴリズムの標準化を主導しています。
24+
この文章の執筆時点において、NISTはすでにML-DSA、ML-KEM、SLH-DSAを標準化しました。
25+
26+
ML-KEM (Module Lattice Key Encapsulation Mechanism) は、NISTが標準化した格子ベースの耐量子アルゴリズムです。
27+
Kyberをベースとして標準化されました。
28+
2者間で鍵カプセル化メカニズムを使用して、安全でないチャネル上で共有鍵を確立します。
29+
これにより、従来型および量子コンピュータを用いた攻撃者の両方から保護できます。
30+
31+
ML-DSA (Module Lattice Digital Signature Algorithm) は、同じくNISTが標準化した格子ベースの耐量子デジタル署名方式です。
32+
Kyberをベースとして標準化されました。
33+
これにより、送信者はメッセージの送信元と完全性を証明する検証可能な署名を生成できます。
34+
35+
ML-KEMとML-DSAはどちらも、暗号の復号に特化した量子コンピュータに耐性を持つように設計された公開鍵アルゴリズムです。
36+
これらはNISTの耐量子暗号標準(FIPS 203およびFIPS 204)の一部です。
37+
量子コンピューティング時代に備えるために、ほとんどのケースでハイブリッド形式にてすぐに導入できます。
38+
39+
現在、各標準化団体はOIDとコードポイントを示すさまざまなドラフト文書を有しています。
40+
NISTはこれらのアルゴリズムをCMVP規制フレームワークの傘下に置き、実装に対するFIPS-140-3検証を可能にする取り組みを進めています。
2741

2842
### 私たちは自分自身をどのように守るのですか?
2943

@@ -96,19 +110,19 @@ wolfSSLリポジトリの[INSTALLファイル](https://github.com/wolfSSL/wolfss
96110
次のようにして、サーバーとクライアントを別々のターミナルで実行します。
97111

98112
```sh
99-
$ examples/server/server -v 4 -l TLS_AES_256_GCM_SHA384 \
100-
-A certs/mldsa87_root_cert.pem \
101-
-c certs/mldsa44_entity_cert.pem \
102-
-k certs/mldsa44_entity_key.pem \
103-
--pqc P521_ML_KEM_1024
113+
examples/server/server -v 4 -l TLS_AES_256_GCM_SHA384 \
114+
-A ../osp/oqs/mldsa87_root_cert.pem \
115+
-c ../osp/oqs/mldsa44_entity_cert.pem \
116+
-k ../osp/oqs/mldsa44_entity_key.pem \
117+
--pqc SecP521r1MLKEM1024
104118
```
105119

106120
```sh
107-
$ examples/client/client -v 4 -l TLS_AES_256_GCM_SHA384 \
108-
-A certs/mldsa44_root_cert.pem \
109-
-c certs/mldsa87_entity_cert.pem \
110-
-k certs/mldsa87_entity_key.pem \
111-
--pqc P521_ML_KEM_1024
121+
examples/client/client -v 4 -l TLS_AES_256_GCM_SHA384 \
122+
-A ../osp/oqs/mldsa44_root_cert.pem \
123+
-c ../osp/oqs/mldsa87_entity_cert.pem \
124+
-k ../osp/oqs/mldsa87_entity_key.pem \
125+
--pqc SecP521r1MLKEM1024
112126
```
113127

114128
これで、対称暗号化にAES-256、認証にML-DSA署名スキーム、鍵確立にECDHEとML-KEMをハイブリッド化した完全な量子安全なTLS 1.3接続を実現しました。
@@ -1253,4 +1267,5 @@ Benchmark complete
12531267
```
12541268

12551269
### 開発者ノート
1270+
12561271
* 「今収穫し、後で復号する」脅威モデルを阻止しようとしていて、相互運用性の一部を犠牲にしても構わない場合は、Supported Groups拡張機能で従来のアルゴリズムのサポートを広告したくないことと思います。選択したアルゴリズムで`wolfSSL_UseKeyShare()``wolfSSL_set_groups()`を必ず呼び出してください。`wolfSSL_UseKeyShare()`だけを呼び出すだけでは不十分です。なぜなら、それは量子的に脆弱なアルゴリズムのサポートを広告することになるからです。ピアがポスト量子アルゴリズムをサポートしていない場合、`HelloRetryRequest`を送信し、その結果として、従来のアルゴリズムとの接続が確立されます。

wolfSSL/src-ja/chapter02.md

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -680,6 +680,22 @@ Poly認証を設定するため、TLS v1.2でChacha20/Poly1305を使用する場
680680

681681
`./configure` を使用する場合、これは ChaCha20/Poly1305 でデフォルトで有効になりますが、`WOLFSSL_USER_SETTINGS` でビルドする場合は手動で定義する必要があります。
682682

683+
#### WOLFSSL_ASN_TEMPLATE
684+
685+
テンプレートベースのASN.1処理を使用する新しいバージョンのASN解析コードを有効にします。
686+
この解析は標準的なASN.1ルールに準拠し、テンプレート構造を使用してエンコードとデコードを指示することで、パーサーコードがテンプレート間で汎用化できるようにします。
687+
`./configure` を使用する場合これはデフォルトでオンになっていますが、`WOLFSSL_USER_SETTINGS` でビルドする場合は手動で定義する必要があります。
688+
689+
#### WOLFSSL_DEBUG_ASN_TEMPLATE
690+
691+
ASN.1テンプレートを使用する際のデバッグ出力を有効にします。
692+
`WOLFSSL_ASN_TEMPLATE`と併用する場合にのみ関連します。
693+
694+
#### WOLFSSL_ASN_TEMPLATE_TYPE_CHECK
695+
696+
テスト用にコンパイラの型の問題をより適切にテストするためにASN関数を使用します。
697+
`WOLFSSL_ASN_TEMPLATE`と併用する場合にのみ関連します。
698+
683699
### 機能の有効化 (デフォルトで無効)
684700

685701
#### WOLFSSL_CERT_GEN
@@ -2852,6 +2868,8 @@ LEAN TLS 1.2クライアントのみ(クライアント認証なし)、ECC25
28522868

28532869
公開鍵コールバックを有効にします。
28542870

2871+
このオプションを有効にすると公開鍵コールバックが有効になり、アプリケーションが独自のECC署名/検証・RSA署名/検証・暗号化/復号コールバックを登録できるようになります。
2872+
28552873
### `--enable-sniffer`
28562874

28572875
wolfSSL Snifferのサポートを有効にします。
@@ -2876,16 +2894,18 @@ AES-GCMサポートを有効にします。
28762894

28772895
このオプションを有効にすると公開鍵コールバックが有効になり、アプリケーションは独自のECC署名/検証とRSA署名/検証を許可し、コールバックを識別して暗号化/復号できます。
28782896

2897+
AES-GCMを有効にすると、これらの暗号スイートがwolfSSLに追加されます。
2898+
wolfSSLは、速度とメモリ消費のバランスを考慮した4つの異なるAES-GCM実装を提供しています。
2899+
利用可能な場合、wolfSSLは64ビットまたは32ビット演算を使用します。
2900+
組み込みアプリケーション向けには、RAMベースのルックアップテーブル(セッションごとに8KB)を使用する高速な8ビット版があり、これは64ビット版と同等の速度を持ちます。
2901+
また、追加のRAMを消費しない低速な8ビット版もあります。
2902+
`--enable-aesgcm configure`オプションは、`=word32``=table``=small`のオプションで変更できます。
2903+
例: `--enable-aesgcm=table`
2904+
28792905
### `--enable-aesccm`
28802906

28812907
AES-CCMサポートを有効にします。
28822908

2883-
AES-CCMを有効にすると、以下の暗号スイートがwolfSSLに追加されます。
2884-
wolfSSLは、速度とメモリ消費のバランスを取った4つの異なるAES-GCM実装を提供しています。
2885-
利用可能な場合、wolfSSLは64ビットまたは32ビットの計算を使用します。
2886-
組み込みアプリケーションの場合、RAMベースのルックアップテーブル(セッションあたり8KB)を使用する高速な8ビットバージョン(64ビットバージョンと同程度の速度)と、追加のRAMを消費しないより遅い8ビットバージョンがあります。
2887-
--enable-aesgcm設定オプションは、`=word32``=table`、または`=small`などのオプションで変更できます(例:`--enable-aesgcm=table`)。
2888-
28892909
### `--disable-aescbc`
28902910

28912911
AES-CBCをコンパイルアウトするために[`--disable-aescbc`](#--disable-aescbc)で使用されていました。

wolfSSL/src-ja/chapter03.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -622,7 +622,7 @@ wolfSSLを使用したクライアントアプリケーションのサンプル
622622
クライアントの説明については、本章の「クライアントアプリケーションでwolfSSLを使用する」節を参照してください。
623623
より詳しい手順とサンプルコードは[第11章 SSLチュートリアル](chapter11.md#ssl-tutorial)に掲載しています。
624624
625-
1. 概ね上記のクライアントの手順と同様です。ただし、ステップ5のクライアントメソッド呼び出しをサーバーのものに変更します。例えば以下の行を、
625+
1. 概ね上記のクライアントの手順と同様です。ただし、ステップ2のクライアントメソッド呼び出しをサーバーのものに変更します。例えば以下の行を、
626626
627627
```c
628628
wolfSSL_CTX_new(wolfTLSv1_client_method());

0 commit comments

Comments
 (0)