Skip to content

Commit ce6ef61

Browse files
committed
update / improve JP version
1 parent 76aa650 commit ce6ef61

16 files changed

+842
-1474
lines changed

wolfSSL/src-ja/appendix01.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
2-
31
# wolfSSL APIリファレンス

wolfSSL/src-ja/appendix02.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
2-
3-
# WolfCrypt APIリファレンス
1+
# wolfCrypt APIリファレンス

wolfSSL/src-ja/appendix03.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
2-
31
# APIヘッダーファイル

wolfSSL/src-ja/appendix04.md

Lines changed: 39 additions & 134 deletions
Original file line numberDiff line numberDiff line change
@@ -1,196 +1,101 @@
1-
2-
31
# SSL/TLSの概要
42

3+
## アーキテクチャ
54

5+
組み込み向けSSL/TLSライブラリであるwolfSSL(旧称:Cyassl)は、SSL 3.0、TLS 1.0、TLS 1.1、TLS 1.2、TLS 1.3プロトコルを実装しています。
6+
TLS 1.3は、標準化されている最も安全な最新バージョンです。
7+
SSL 2.0は数年間不安定であることから、サポートしていません。
68

9+
wolfSSLのTLSプロトコルは、[RFC 5246](https://tex2e.github.io/rfc-translater/html/rfc5246) で定義されている通りに実装されています。
10+
TLSには、メッセージ層とハンドシェーク層の2つのレコード層プロトコルが存在します。
11+
ハンドシェイクメッセージは、共通の暗号スイートのネゴシエーション、シークレットの作成、および安全な接続の有効化に使用されます。
12+
メッセージレイヤーはハンドシェイクレイヤーをカプセル化すると同時に、アラート処理とアプリケーションデータ転送もサポートします。
713

8-
## 全体アーキテクチャ
9-
10-
11-
12-
組み込み向けSSL/TLSライブラリであるwolfSSL(旧称:Cyassl)は、SSL 3.0、TLS 1.0、TLS 1.1、TLS 1.2、およびTLS 1.3プロトコルを実装しています。TLS 1.3は現在、標準化されている最も安全な最新バージョンです。wolfSSLは、数年間不安定であるという事実により、SSL 2.0をサポートしていません。
13-
14-
15-
wolfSSLのTLSプロトコルは、[RFC 5246 (https://tools.ietf.org/html/rfc5246).](https://tools.ietf.org/html/rfc5246) で定義されているとおりに実装しています.TLSには、メッセージ層とハンドシェーク層の2つのレコード層プロトコルが存在します。ハンドシェイクメッセージは、共通の暗号スイートのネゴシエーション、シークレットの作成、および安全な接続の有効化に使用されます。メッセージレイヤーはハンドシェイクレイヤーをカプセル化すると同時に、アラート処理とアプリケーションデータ転送もサポートします。
16-
17-
18-
SSLプロトコルが既存のプロトコルにどのように適合するかを、**図1**に示します。SSLは、OSIモデルのトランスポート層とアプリケーション層の間に位置し、多くのプロトコル (TCP/IP、Bluetooth などを含む) がトランスポートメディアとして機能します。アプリケーションプロトコルは、SSL (HTTP、FTP、SMTP など) の上に階層化されています。
19-
20-
![SSL Protocol Diagram](sslprotocol.png "SSL Protocol Diagram")
21-
22-
14+
SSLプロトコルが既存のプロトコルにどのように適合するかを、**図1**に示します。
15+
SSLは、OSIモデルのトランスポート層とアプリケーション層の間に位置し、多くのプロトコル (TCP/IP、Bluetoothなど) がトランスポートメディアとして機能します。
16+
HTTP、FTP、SMTPなどのアプリケーションプロトコルは、SSLの上に階層化されています。
2317

18+
![概要図](sslprotocol.png)
2419

2520
## SSLハンドシェイク
2621

27-
2822
SSLハンドシェイクプロセスの簡略を以下の**図2**に示します。
2923
なお、SSLクライアントとサーバーの構成オプションによってはいくつかのステップは実行されません。
3024

31-
![SSL Handshake Diagram](sslhandshake.png "SSL Handshake Diagram")
32-
33-
25+
![ハンドシェイク](sslhandshake.png)
3426

27+
## SSL/TLSにおける、バージョンごとの違い
3528

36-
## SSLプロトコルバージョンとTLSプロトコルバージョンの違い
37-
38-
39-
40-
SSL (Secure Sockets Layer) と TLS (Transport Security Layer) はどちらも、ネットワーク上で安全な通信を提供する暗号化プロトコルです。 これら2つのプロトコル (および、それぞれのいくつかのバージョン) は、今日、Webブラウジングから電子メール、インスタントメッセージング、VoIP に至るまで、さまざまなアプリケーションで広く使用されています。SSLとTLS、そしてそれぞれに含まれる各バージョン間にはいくつかの違いがあります。
41-
42-
43-
以下に、SSL および TLS プロトコルの各バージョンについての解説と主な相違点を示します。 各プロトコルの具体的な詳細については、記載されている RFC 仕様を参照してください。
44-
29+
SSL (Secure Sockets Layer) と TLS (Transport Security Layer) はどちらも、ネットワーク上で安全な通信を提供する暗号化プロトコルです。
30+
これら2つのプロトコルは、今日、WebブラウジングからEメール、インスタントメッセージング、VoIPに至るまで、さまざまなアプリケーションで広く使用されています。
31+
SSLとTLS、そしてそれぞれに含まれる各バージョン間にはいくつかの違いがあります。
4532

33+
以下に、SSL および TLS プロトコルの各バージョンについての解説と主な相違点を示します。
34+
各プロトコルの具体的な詳細については、記載されているRFC仕様を参照してください。
4635

4736
### SSL 3.0
4837

38+
このプロトコルはNetscapeによって開発されたSSL 1.0から始まり、1996年にリリースされました。
39+
バージョン1.0はリリースされておらず、バージョン2.0には多くのセキュリティ上の欠陥があり、SSL 3.0のリリースにつながりました。
40+
SSL 2.0 に対する SSL 3.0 のいくつかの主要な改善点は次のとおりです。
4941

50-
51-
52-
このプロトコルはNetscapeによって開発されたSSL 1.0から始まり、1996年にリリースされました。バージョン1.0はリリースされておらず、バージョン2.0には多くのセキュリティ上の欠陥があり、SSL 3.0のリリースにつながりました。SSL 2.0 に対する SSL 3.0 のいくつかの主要な改善点は次のとおりです。
53-
54-
55-
56-
* メッセージ層からのデータ転送の分離
57-
58-
42+
* データ転送をメッセージレイヤーから分離
5943
* Export Cipherを使用している場合でも、128ビットのキーイングマテリアルを使用
60-
61-
6244
* クライアントとサーバーが証明書のチェーンを送信し、組織は2つ以上の証明書の証明書階層を使用可能に
63-
64-
6545
* 一般化された鍵交換プロトコルを実装し、Diffie-HellmanとFortezzaの鍵交換と非RSA証明書を許可
66-
67-
6846
* レコードの圧縮と解凍を可能に
69-
70-
7147
* 2.0 クライアントが検出されたときに SSL 2.0 にフォールバック
7248

73-
74-
75-
7649
### TLS 1.0
7750

78-
79-
80-
81-
このプロトコルは1999年1月にRFC 2246で最初に定義されました。これは SSL 3.0 からのアップグレードであり劇的な違いはありませんが、SSL 3.0 と TLS 1.0 は相互運用できない程度の変更を含んでいます。SSL 3.0とTLS 1.0の間の大きな違いとして、以下が挙げられます。
82-
83-
51+
このプロトコルは1999年1月に[RFC 2246](https://tex2e.github.io/rfc-translater/html/rfc2246)で最初に定義されました。
52+
これは SSL 3.0 からのアップグレードであり劇的な違いはありませんが、SSL 3.0 と TLS 1.0 は相互運用できない程度の変更を含んでいます。
53+
SSL 3.0とTLS 1.0の間の大きな違いとして、以下が挙げられます。
8454

8555
* 鍵導出関数の変更
86-
87-
8856
* MACの変更 - SSL 3.0は初期HMACの変更を使用し、TLS 1.0はHMACを使用します。
89-
90-
9157
* 完了(Finished)メッセージの変更
92-
93-
9458
* アラートの増加
95-
96-
9759
* DSS/DHサポートの要求
9860

99-
100-
101-
10261
### TLS 1.1
10362

104-
105-
106-
107-
このプロトコルは、2006年4月にTLS 1.0の後継としてRFC 4346で定義されました。主な変更点は次のとおりです。
108-
109-
63+
このプロトコルは、2006年4月にTLS 1.0の後継として[RFC 4346](https://tex2e.github.io/rfc-translater/html/rfc4346)で定義されました。
64+
主な変更点は次のとおりです。
11065

11166
* 暗黙の初期化ベクトル(IV)は、暗号ブロック連鎖(CBC)攻撃から保護するために明示的なIVに置き換えられました。
112-
113-
114-
* パディングエラーの取り扱いは、CBC攻撃から保護するためにdecryption_failedアラートではなくbad_record_macアラートを使用するよう変更されました。
115-
116-
67+
* パディングエラーの取り扱いは、CBC攻撃から保護するために`decryption_failed`アラートではなく`bad_record_mac`アラートを使用するよう変更されました。
11768
* IANAレジストリは、プロトコルパラメーター用に定義されました。
118-
119-
12069
* 早期終了によってセッションが再開できなくなることがなくなりました。
12170

122-
123-
124-
12571
### TLS 1.2
12672

127-
128-
129-
130-
このプロトコルは、2008 年 8 月に RFC 5246 で定義されました。TLS 1.1 をベースとして、いくつかの改善が行われました。主な相違点は次のとおりです。
131-
132-
73+
このプロトコルは、2008年8月に[RFC 5246](https://tex2e.github.io/rfc-translater/html/rfc5246)で定義されました。
74+
TLS 1.1 をベースとして、いくつかの改善が行われました。
75+
主な相違点は次のとおりです。
13376

13477
* 擬似ランダム関数(PRF)のMD5/SHA-1の組み合わせを、暗号スイート指定PRFに置き換えました。
135-
136-
13778
* デジタル署名要素のMD5/SHA-1の組み合わせは、単一のハッシュに置き換えられました。署名された要素には、使用されるハッシュアルゴリズムを明示的に指定するフィールドが含まれます。
138-
139-
14079
* クライアントとサーバーが受け入れるハッシュおよび署名アルゴリズムの組み合わせが整理されました。
141-
142-
14380
* 追加のデータモードを使用した、認証された暗号化のためのサポートが追加されました。
144-
145-
14681
* TLS拡張機能の定義とAES暗号スイートがマージされました。
147-
148-
14982
* EncryptedPremasterSecretバージョン番号が厳しくチェックされるようになりました。
150-
151-
15283
* 多くの要件が厳しくなりました。
153-
154-
15584
* `Verify_data`の長さは暗号スイートに依存します
156-
157-
15885
* Bleichenbacher/Dlima 攻撃防御の説明が簡潔になりました。
15986

160-
161-
162-
16387
### TLS 1.3
16488

165-
166-
167-
168-
このプロトコルは、2018年8月にRFC 8446で定義されました。主に、セキュリティ性能とスピードが向上しています。主な違いは次のとおりです。
169-
170-
89+
このプロトコルは、2018年8月に[RFC 8446](https://tex2e.github.io/rfc-translater/html/rfc8446)で定義されました。
90+
主に、セキュリティ性能とスピードが向上しています。
91+
主な違いは次のとおりです。
17192

17293
* サポートされている対称アルゴリズムのリストは、すべての従来のアルゴリズムから整理されました。残りのアルゴリズムはすべて、認証タグ付き暗号(AEAD) アルゴリズムを使用します。
173-
174-
175-
* ゼロ RTT (0-RTT) モードが追加され、一部のセキュリティ属性を犠牲にすることで、一部のアプリケーションデータのための接続時のラウンドトリップが削減されました。
176-
177-
178-
* ServerHello の後のすべてのハンドシェイクメッセージが暗号化されるようになりました。
179-
180-
94+
* ゼロRTT (0-RTT) モードが追加され、一部のセキュリティ属性を犠牲にすることで、一部のアプリケーションデータのための接続時のラウンドトリップが削減されました。
95+
* `ServerHello`の後のすべてのハンドシェイクメッセージが暗号化されるようになりました。
18196
* HMACベースの抽出および拡張鍵導出機能(HKDF)がプリミティブとして使用されているため、鍵導出機能が再設計されました。
182-
183-
18497
* ハンドシェイクステートマシンが再構築され、一貫性が向上し、余分なメッセージが削除されました。
185-
186-
187-
* ECC は基本仕様になり、新しい署名アルゴリズムが含まれるようになりました。各曲線の単一のポイント形式を支持して、ポイント形式のネゴシエーションを削除しました。
188-
189-
98+
* ECCは基本仕様になり、新しい署名アルゴリズムが含まれるようになりました。各曲線の単一のポイント形式を支持して、ポイント形式のネゴシエーションを削除しました。
19099
* 圧縮、カスタムDHEグループ、およびDSAが削除されました、RSAパディングはPSSを使用するようになりました。
191-
192-
193100
* TLS 1.2 バージョンネゴシエーション検証メカニズムは廃止され、拡張機能のバージョンリストが採用されました。
194-
195-
196-
* サーバー側の状態の有無にかかわらず、セッションの再開と、TLS の以前のバージョンの PSK ベースの暗号スイートは、単一の新しい PSK 交換に置き換えられました。
101+
* サーバー側の状態の有無にかかわらず、セッションの再開と、TLSの以前のバージョンのPSKベースの暗号スイートは、単一の新しいPSK交換に置き換えられました。

0 commit comments

Comments
 (0)