close
1.

図書

図書
竹下隆史, 村山公保, 荒井透, 苅田幸雄共著
出版情報: 東京 : オーム社, 1998.5-  冊 ; 26cm
所蔵情報: loading…
目次情報: 続きを見る
第1章 : IPv6概論
第2章 : IPv6プロトコルの基本
第3章 : 近隣探索とアドレス自動生成
第4章 : リンク層とIPv6
第5章 : ルーティング
第6章 : IPv6拡張機能
第7章 : IPv6のアプリケーション
第8章 : IPv6プログラミング
第9章 : IPv4との相互接続
付録 : IPv6の標準化
第1章 : IPv6概論
第2章 : IPv6プロトコルの基本
第3章 : 近隣探索とアドレス自動生成
概要: これからのネットワークにおけるIPv6の「立ち位置」がわかる。実際使える!すごく網羅的!
2.

図書

東工大
目次DB

図書
東工大
目次DB
竹下隆史, 荒井透, 苅田幸雄共著
出版情報: 東京 : オーム社, 1994.6-  冊 ; 26cm
所蔵情報: loading…
目次情報: 続きを見る
第1章 セキュリティの概要
   1.1 はじめに 2
   1.2 インターネット脅威モデル 2
   1.3 登場人物について 4
   1.4 セキュリティ技術が目指すこと 4
   1.4.1 機密性 4
   1.4.2 メッセージ完全性 4
   1.4.3 エンドポイント真正性 5
   1.4.4 実社会での例 5
   1.5 セキュリティ確保のための道具 7
   1.5.1 暗号化 7
   1.5.2 メッセージダイジェスト 9
   1.5.3 MAC 10
   1.5.4 鍵の管理問題 10
   1.5.5 鍵の配布 10
   1.5.6 公開鍵暗号化方式 11
   1.5.7 証明 12
   1.5.8 識別名 14
   1.5.9 拡張 15
   1.5.10 証明書の失効 15
   1.5.11 ASN.1・BER・DER 16
   1.6 組み合わせて使用 17
   1.7 シンプルなセキュアメッセージングシステム 18
   1.8 安全でシンプルな通信路 20
   1.8.1 簡単なハンドシエイク 21
   1.8.2 簡単なデータ転送プロトコル 22
   1.8.3 鍵の作成 23
   1.8.4 データレコード 23
   1.8.5 シーケンス番号 25
   1.8.6 制御情報 26
   1.8.7 ここまでのまとめ 27
   1.9 輸出状況 28
   1.9.1 石器時代 28
   1.9.2 中世 29
   1.9.3 現代 29
   1.10 暗号技術に関するアルゴリズムの実際 30
   1.11 共通鍵暗号化方式(ストリーム暗号) 30
   1.11.1 RC4 32
   1.12 共通鍵暗号化方式(ブロック暗号) 32
   1.12.1 DES 34
   1.12.2 3DES 35
   1.12.3 HC2 36
   1.12.4 AES 37
   1.12.5 ここまでのまとめ 37
   1.13 ダイジェストアルゴリズム 38
   1.14 鍵の確立 39
   1.14.1 RSA 39
   1.14.2 DH 41
   1.15 電子署名 43
   1.15.1 RSA 43
   1.15.2 DSS 43
   1.15.3 ここまでのまとめ 44
   1.16 MAC 46
   1.17 鍵長 46
   1.17.1 共通鍵暗号化アルコリズム 47
   1.17.2 公開鍵暗号化アルゴリズム 47
   1.18 まとめ 48
第2章 SSLの概要
   2.1 はじめに 52
   2.2 標準と標準化団体 52
   2.3 SSLの概要 53
   2.4 SSL/TLSの設計目標 54
   2.4.1 SSLv2の設計目標 54
   2.4.2 SSLv3の設計目標 55
   2.5 SSLとTCP/IPプロトコルスイート 55
   2.6 SSLの歴史 57
   2.6.1 PCT 57
   2.6.2 SSLv3 58
   2.6.3 TLS 59
   2.7 WebのためのSSL 62
   2.8 SSL上でのプロトコル 63
   2.9 SSLの入手 64
   2.9.1 実装の内容 65
   2.10 まとめ 66
第3章 SSLの基礎的な技術
   3.1 はじめに 68
   3.2 SSLの概要 68
   3.3 HandShake 69
   3.3.1 Handshakeメッセージ 71
   3.4 SSLRecordプロトコル 72
   3.4.1 Recordヘッダ 72
   3.4.2 コンテントタイプ 73
   3.5 部品の組み立て 74
   3.6 接続の実際 75
   3.7 接続の詳細 77
   3.8 SSLの仕様記述言語 79
   3.8.1 基本型 79
   3.8.2 ベクタ型 79
   3.8.3 列挙型 80
   3.8.4 構造体型 81
   3.8.5 バリアント型 81
   3.9 Handshakeメッセージの構造 82
   3.10 Handshakeメッセージ 83
   3.10.1 ClientHelloメッセージ 83
   3.10.2 ServerHelloメッセージ 87
   3.10.3 Certificateメッセージ 88
   3.10.4 ServerHelloDoneメッセージ 90
   3.10.5 ClientKeyExchangeメッセージ 90
   3.10.6 ChangeCipherSpecメッセージ 92
   3.10.7 Finishedメッセージ 93
   3.10.8 Finishedメッセージ処理のプログラミング上の注意 94
   3.11 鍵の生成 96
   3.11.1 PRF 96
   3.11.2 輸出可能なアルゴリズム 98
   3.11.3 SSLv3における鍵の生成 99
   3.12 Recordプロトコル 100
   3.12.1 ストリーム暗号 103
   3.12.2 ブロック暗号 103
   3.12.3 Null暗号 103
   3.13 AIertと終了 104
   3.13.1 終了 105
   3.13.2 その他のAlert 105
   3.14 まとめ 106
第4章 SSLの高度な技術
   4.1 はじめに 108
   4.2 セッション再開 108
   4.2.1 セッションvs.コネクション 109
   4.2.2 セッション再開の仕組み 109
   4.3 クライアント認証 110
   4.4 一時的RSA 111
   4.5 再Handshake 112
   4.6 Server Gated Cryptography 113
   4.7 DSSとDH 115
   4.8 楕円曲線暗号スイート 116
   4.9 Kerberos 117
   4.10 FORTEZZA 118
   4.11 ここまでのまとめ 120
   4.12 セッション再開の詳細 120
   4.12.1 セッションIDの検索 121
   4.13 クライアント認証の詳細 122
   4.13.1 CertificateRequestメッセージ 122
   4.13.2 Certificateメッセージ 124
   4.13.3 CertificateVerifyメッセージ 124
   4.13.4 エラー状況 126
   4.14 一時的RSAの詳細 126
   4.15 SGCの詳細 129
   4.15.1 Step-Up 129
   4.15.2 SGC 132
   4.16 DH/DSSの詳細 136
   4.16.1 ClientKeyExchangeメッセージ 137
   4.16.2 長期的DH鍵 138
   4.17 FORTEZZAの詳細 138
   4.18 エラーAlert 141
   4.19 SSLv2との下位互換性 148
   4.19.1 バージョン 149
   4.19.2 乱数 149
   4.19.3 セッションID 149
   4.19.4 暗号スイート 149
   4.19.5 ロールバック保護 150
   4.19.6 互換性 151
   4.20 まとめ 151
第5章 SSLのセキュリティ
   5.1 はじめに 154
   5.2 SSLの機能 154
   5.3 master-secretの保護 155
   5.4 サーバの秘密鍵の保譲 155
   5.5 良質の乱数の利用 156
   5.6 証明書チェーンの確認 157
   5.7 アルゴリズムの選択 158
   5.8 ここまでのまとめ 158
   5.9 master-secretの危殆化 159
   5.9.1 機密性に対する攻撃 160
   5.9.2 完全性に対する攻撃 160
   5.9.3 ここまでのまとめ 161
   5.10 メモリ内の秘密情報の保護 161
   5.10.1 ディスクストレージ 162
   5.10.2 メモリのロック 162
   5.10.3 コアダンプ 162
   5.11 サーバの秘密鍵のセキュリティ 163
   5.11.1 長期的な鍵 163
   5.11.2 一時的な鍵 163
   5.11.3 秘密鍵の保存 165
   5.11.4 パスワードに基づく暗号化 166
   5.11.5 ストレージを使用しない鍵の復元 168
   5.11.6 ハードウエアを用いた暗号 168
   5.11.7 パスフレーズの入力 170
   5.11.8 バイオメトリクス 170
   5.11.9 結論 171
   5.12 乱数生成 171
   5.12.1 疑似乱数生成器 172
   5.12.2 ハードウエアの乱数生成器 173
   5.13 証明書チェーンの検証 174
   5.13.1 サーバの本人性 174
   5.13.2 クライアントの本人性 175
   5.13.3 ルートの選択 175
   5.13.4 証明書チエーンの深さ 176
   5.13.5 KeyUsage拡張領域 178
   5.13.6 その他の証明書の拡張領域 179
   5.1 部分的な危殆化 180
   5.14.1 電子署名アルゴリズム 181
   5.14.2 鍵確立アルゴリズム 181
   5.14.3 失効 182
   5.14.4 暗号化アルゴリズム 182
   5.14.5 ダイジェストアルゴリズム 183
   5.14.6 最弱のリンクの原則 184
   5.15 既知の攻撃手法 185
   5.16 タイミング暗号解析 185
   5.16.1 攻撃の概要 185
   5.16.2 適用の可能性 186
   5.16.3 対策 187
   5.17 ミリオンメッセージ攻撃 187
   5.17.1 攻撃の概要 187
   5.17.2 適用の可能性 188
   5.17.3 対策 189
   5.18 小さな部分群攻撃 189
   5.18.1 攻撃の概要 189
   5.18.2 適用の可能性 190
   5.18.3 対策 190
   5.19 輸出方式へのダウングレード 191
   5.19.1 攻撃の概要 191
   5.19.2 適用の可能性 191
   5.19.3 対策 192
   5.19.4 類似の攻撃手口 192
   5.20 まとめ 193
第6章 SSLのパフォーマンス
   6.1 はじめに 196
   6.2 SSLは遅い 196
   6.3 パフォーマンスに関する原則 197
   6.3.1 Amdahlの法則 197
   6.3.2 90/10の法則 198
   6.3.3 I/Oのコスト 198
   6.3.4 遅延vs.スループット 199
   6.3.5 サーバvs.クライアント 200
   6.4 暗号技術に関する処理は高コスト 201
   6.4.1 サーバのHandshake 201
   6.4.2 クライアントのHandshake 201
   6.4.3 ボトルネック 202
   6.4.4 データ転送 202
   6.5 セッション再開 203
   6.5.1 セッション再開のコスト 203
   6.6 Handshakeのアルゴリズムと鍵選択 204
   6.6.1 RSA vs. DSA 204
   6.6.2 高速か強度かの選択 205
   6.6.3 一時的RSA 205
   6.7 バルクデータの転送 206
   6.7.1 アルゴリズムの選択 206
   6.7.2 最適なレコードサイズ 206
   6.8 SSLのパフォーマンスに関する基本方針 206
   6.9 ここまでのまとめ 207
   6.10 Handshakeの時間配分 207
   6.10.1 テスト環境 207
   6.10.2 並列処理 208
   6.11 通常のRSAモード 209
   6.11.1 Ce1ificateメッセージ(クライアント) 210
   6.11.2 ClientKeyExchangeメッセージ(クライアント) 211
   6.11.3 ClientKeyExchangeメッセージ(サーバ) 211
   6.12 クライアント認証を伴うRSAモード 211
   6.13 一時的RSA 213
   6.13.1 ServerKeyExchangeメッセージ(サーバ) 213
   6.13.2 ServerKeyExchangeメッセージ(クライアント) 214
   6.13.3 ClientKeyExchangeメッセージ(クライアント) 214
   6.13.4 ClientKeyExchangeメッセージ(サーバ) 214
   6.14 DHE/DSS 215
   6.14.1 ServerKeyExchangeメッセージ(サーバ) 215
   6.14.2 certificateメッセージ(クライアント) 216
   6.14.3 ServerKeyExchangeメッセージ(クライアント) 216
   6.14.4 ClientKeyExchangeメッセージ(クライアント) 216
   6.14.5 ClientKeyExchangeメッセージ(サーバ) 217
   6.15 クライアント認証を伴うDHE/DSS 217
   6.16 DHによるパフォーマンスの向上 218
   6.16.1 小さな秘密鍵の使用 218
   6.16.2 一時的な鍵の再利用 219
   6.16.3 DH鍵生成のための事前計算 220
   6.16.4 長期的DH 220
   6.17 レコードの処理 221
   6.17.1 アルゴリズムの選択 221
   6.17.2 レコードの最適サイズ 222
   6.18 Java 223
   6.18.1 0S 223
   6.18.2 ネイティブコードによる高速化 224
   6.19 負荷のかかった状況におけるSSLサーバ 225
   6.20 ハードウェアアクセラレーション 228
   6.21 インラインハードウェアアクセラレータ 229
   6.21.1 構成 230
   6.21.2 複数のアクセラレータ 230
   6.21.3 チェーン化されたアクセラレータ 231
   6.21.4 クラスタ化されたアクセラレータ 231
   6.22 ネットワーク遅延 233
   6.23 Nagleアルゴリズム 236
   6.23.1 Nagleアルゴリズムの無効化 237
   6.23.2 正しいレイヤ 237
   6.24 Handshakeのバッファリング 238
   6.24.1 並列化の推進 240
   6.25 SSLの高度な機能を利用する際のパフォーマンスの原則 241
   6.26 まとめ 241
第7章 SSLを用いた設計
   7.1 はじめに 244
   7.2 何を守るのかを考える 244
   7.2.1 機密性 245
   7.2.2 メッセージ完全性 245
   7.2.3 サーバ認証 245
   7.2.4 クライアント認証 246
   7.2.5 経験則 246
   7.3 クライアント認証の方式 246
   7.3.1 ユーザ名とパスワード 246
   7.3.2 ユーザ名とパスワードの変形 247
   7.3.3 SSLクライアント認証 247
   7.3.4 経験則 247
   7.4 参照情報における整合性 248
   7.4.1 サーバ識別情報 248
   7.4.2 セキュリティ特性 248
   7.4.3 経験則 249
   7.5 SSLに向かない処理 249
   7.5.1 否認防止 249
   7.5.2 エンドツーエンドのセキュリティ 250
   7.6 プロトコルの選択 250
   7.6.1 ポートの分離 251
   7.6.2 上方向ネコシエーション 251
   7.6.3 経験則 253
   7.7 Handshakeオーバヘッドの軽減 253
   7.8 設計戦略 253
   7.9 ここまでのまとめ 254
   7.10 ポートの分離 255
   7.11 上方向ネゴシエーション 256
   7.12 ダウングレード攻撃 257
   7.12.1 ポートの分離 257
   7.12.2 上方向ネゴシエーション 258
   7.12.3 対抗策 260
   7.13 参照情報における整合性 260
   7.13.1 IPアドレス 261
   7.13.2 代替DNS名 261
   7.13.3 人間が理解できる名前 263
   7.14 ユーザ名とパスワードを用いた認証方式 263
   7.14.1 ユーザ名とパスワード 263
   7.15 SSLクライアント認証 264
   7.15.1 証明書の発行 264
   7.15.2 アクセス制御 265
   7.15.3 失効 266
   7.15.4 ホスト間通信 266
   7.16 ユーザ名とパスワードを用いた相互認証 267
   7.16.1 man-in-the-midd1e攻撃 267
   7.16.2 効果がないアプローチ 267
   7.16.3 有効なアプローチ 269
   7.16.4 能動的辞書攻撃 270
   7.17 再Handshake 271
   7.17.1 クライアント認証 271
   7.17.2 暗号スイートのアップグレード 272
   7.17.3 鍵素材の補給 272
   7.17.4 クライアントの振る舞い 273
   7.18 2番目の通信路 273
   7.19 接続の終了 274
   7.19.1 不完全な終了 274
   7.19.2 未完遂な終了 276
   7.20 まとめ 277
第8章 SSLのコーディング
   8.1 はじめに 280
   8.2 SSLの実装 280
   8.3 サンプルプログラム 280
   8.3.1 プラットフォームに関する情報 281
   8.3.2 クライアントプログラム 281
   8.3.3 サーバプログラム 282
   8.3.4 プログラムの振る舞い 282
   8.3.5 プログラムの表記に関して 283
   8.4 コンテキストの初期化 283
   8.4.1 クライアントの初期化 284
   8.4.2 サーバの初期化 284
   8.4.3 初期化(Java) 285
   8.4.4 初期化(C) 286
   8.4.5 Cによるサンプルに共通のコード 288
   8.4.6 サーバの初期化 289
   8.5 クライアントの接続 289
   8.5.1 クライアントの接続(Java) 289
   8.5.2 クライアントの接続(C) 291
   8.5.3 クライアントのSSL Handshake(C) 292
   8.6 サーバでの接続の受け入れ 294
   8.6.1 サーバでの接続の受け入れ(Java) 294
   8.6.2 サーバでの接続の受け入れ(C) 295
   8.7 単純なI/O処理 296
   8.8 スレッドを使った多重化I/O 300
   8.9 select()を使った多重化I/O 304
   8.9.1 読み取り 304
   8.9.2 書き込み 307
   8.9.3 OpenSSLの書き込み処理 308
   8.9.4 もう1つの非ブロック手法 309
   8.9.5 select()を用いた完全な解決法 310
   8.10 終了 312
   8.10.1 終了(OpenSSL) 312
   8.10.2 終了(PUreTLS) 313
   8.11 セッション再開 315
   8.11.1 セッション再開(Java) 315
   8.11.2 セッション再開(C) 316
   8.12 補足 317
   8.12.1 より優れた証明書チェック 317
   8.12.2 /dev/random 318
   8.12.3 並列化処理 318
   8.12.4 優れたエラー処理 318
   8.13 まとめ 319
第9章 HTTP over SSL
   9.1 はじめに 322
   9.2 Webを安全にする 322
   9.2.1 基本的な技術 323
   9.2.2 実際上の考慮事項 323
   9.3 HTTP 325
   9.3.1 リクエスト 325
   9.3.2 レスポンス 326
   9.4 HTML 328
   9.4.1 アンカー 328
   9.4.2 インライン画像 328
   9.4.3 フォーム 329
   9.4.4 動的なコンテンツ 330
   9.5 URL 330
   9.5.1 URLの例 331
   9.5.2 URI vs. URL 331
   9.6 HTTP接続の振る舞い 332
   9.7 プロキシ 332
   9.7.1 キャッシュプロキシ 333
   9.7.2 ファイアウォールプロキシ 334
   9.8 仮想ホスト 334
   9.9 プロトコルの選択 335
   9.10 クライアント認証 335
   9.11 参照情報における整合性 336
   9.11.1 接続のセマンティクス 336
   9.12 HTTPS 337
   9.13 HTTPSの概要 337
   9.14 URLと参照情報における整合性 340
   9.14.1 ダウングレード攻撃 340
   9.14.2 エンドポイント真正性 341
   9.14.3 失敗の際の振る舞い 342
   9.14.4 ユーザ優先の選択 343
   9.14.5 参照情報のソース 346
   9.14.6 クライアントの識別情報 346
   9.15 接続の終了 346
   9.15.1 セッション再開 347
   9.15.2 エラー処理 347
   9.15.3 プログラミングエラーと思われるもの 347
   9.15.4 強制切断攻撃 348
   9.16 プロキシ 349
   9.16.1 CONNECTメソッド 349
   9.16.2 man-in-the-middleプロキシ 351
   9.16.3 暗号スイートの変換 352
   9.17 仮想ホスト 353
   9.17.1 複数の名前 354
   9.18 クライアント認証 355
   9.18.1 パフォーマンスへの影響 358
   9.18.2 そのほかの方法 359
   9.19 Referrefヘッダ 360
   9.20 置換攻撃 360
   9.20.1 ユーザによる上書き 361
   9.21 アップグレード 361
   9.21.1 クライアントが要求するアップグレード 361
   9.21.2 サーバが要求するアップグレード 362
   9.21.3 プロキシとの相性 363
   9.21.4 専用の参照がない 363
   9.22 プログラミングの問題 365
   9.23 プロキシのCONNECT 365
   9.23.1 書き込み関数 367
   9.23.2 読み取り関数 368
   9.23.3 プロキシに接続する 368
   9.23.4 リクエストを書き込む 368
   9.23.5 レスポンスを読み取る 368
   9.23.6 main() 368
   9.24 複数のクライアントの処理 369
   9.24.1 マルチプロセスサーバ 370
   9.24.2 SSLを使用したマルチブロセスサーバ 371
   9.24.3 SSLセッションキャッシュ 372
   9.24.4 マルチブロセスサーバのセッションキャッシュ 373
   9.24.5 サーバの高度な構成 374
   9.25 まとめ 375
第10章 SMTP over TLS
   10.1 はじめに 378
   10.2 インターネットメールのセキュリティ 378
   10.2.1 基本的な技術 379
   10.2.2 実際上の考慮事項 379
   10.2.3 セキュリティ上の考慮事項 380
   10.3 インターネットメールの概要 381
   10.4 SMTP 382
   10.5 RFC822とMIME 385
   10.5.1 Received行 386
   10.5.2 送信者の識別情報 386
   10.6 電子メールアドレス 387
   10.7 メールの中継 388
   10.7.1 部署ごとのサーバ 388
   10.7.2 スマートホスト 389
   10.7.3 オープンリレー 390
   10.8 仮想ホスト 391
   10.9 MXレコード 391
   10.10 クライアントからのメールアクセス 393
   10.11 プロトコルの選択 393
   10.12 クライアント認証 393
   10.13 参照情報における整合性 394
   10.14 接続のセマンティクス 394
   10.15 STARTTLS 395
   10.16 STARTTLSの概要 395
   10.17 接続の終了 399
   10.17.1 その他の状況 399
   10.17.2 再開 399
   10.18 TLSを要求する場合 400
   10.18.1 送信にTLSを要求する場合 400
   10.18.2 受信にTLSを要求する場合 400
   10.19 仮想ホスト 401
   10.20 セキュリティインジケータ 401
   10.20.1 インジヶータの解釈 402
   10.20.2 最終ホップ 402
   10.21 認証された中継 403
   10.22 送信元の認証 404
   10.23 参照情報における整合性の詳細 405
   10.23.1 安全な参照情報 405
   10.23.2 セキュリティの強制 406
   10.23.3 中継 vs. セキュリティ 406
   10.24 CONNECTを使えない理由 408
   10.24.1 技術上の問題 408
   10.24.2 管理上の問題 409
   10.25 STARTTLSの利点 409
   10.25.1 パッシブ攻撃 410
   10.25.2 送信側認証の欠如 410
   10.26 プログラミングの問題 411
   10.27 STARTTLSの実装 411
   10.27.1 状態 411
   10.27.2 ネットワークアクセス 411
   10.28 サーバの起動 412
   10.28.1 錠素材 413
   10.28.2 高速な初期化 413
   10.29 まとめ 414
第11章 さまざまな手法との比較
   11.1 はじめに 416
   11.2 エンドツーエンド通信の特性 416
   11.3 エンドツーエンドの議論とSMTP 417
   11.3.1 最終ホップ配送 417
   11.3.2 中継 418
   11.3.3 エンドツーエンドによる解決策 418
   11.4 その他のプロトコル 418
   11.5 IPsec 419
   11.5.1 注釈 420
   11.6 Security Association 420
   11.7 ISAKMPとIKE 420
   11.7.1 識別情報の保護 421
   11.7.2 2つのフェーズによる処理 422
   11.7.3 ISAKMPの転送 423
   11.8 AHとESP 423
   11.8.1 AH 423
   11.8.2 ESP 424
   11.8.3 トンネルモード 424
   11.9 IPsecの全体像 425
   11.9.1 ポリシー 425
   11.10 IPsec vs. SSL 426
   11.10.1 エンドポイント真正性 427
   11.10.2 中間媒体 427
   11.10.3 仮想ホスト 427
   11.10.4 NAT 428
   11.10.5 結論 428
   11.11 SecureHTTP 429
   11.11.1 メッセージ形式 430
   11.11.2 暗号化オプション 430
   11.11.3 注釈 430
   11.12 CMS 431
   11.12.1 SignedData 431
   11.12.2 EnvelopedData 431
   11.12.3 署名と暗号化 432
   11.13 メッセージ形式 432
   11.14 暗号技術に関するオプション 433
   11.14.1 鍵素材 433
   11.14.2 ネゴシエーションヘッダ 434
   11.15 S-HTTPの全体像 435
   11.15.1 クライアント認証 437
   11.15.2 参照'青報における整合性 437
   11.15.3 自動オプション生成 438
   11.15.4 ステートレスな操作 438
   11.16 S-HTTPVS vs. HTTPS 439
   11.16.1 柔軟性 439
   11.16.2 否認防止 440
   11.16.3 プロキシ 440
   11.16.4 仮想ホスト 440
   11.16.5 ユーザにとっての使い勝手 441
   11.16.6 実装の容易さ 441
   11.16.7 結論 442
   11.17 S/MIME 443
   11.17.1 注釈 443
   11.18 基本的なS/MIME形式 444
   11.19 署名のみ 444
   11.19.1 multipart/signed 445
   11.19.2 S/MIMEとS-HTTP 446
   11.20 アルゴリズムの選択 446
   11.20.1 能力属性 446
   11.20.2 アルゴリズムの選択 447
   11.20.3 能力属性ディスカバリー 447
   11.21 S/MIMEの全体像 448
   11.21.1 エンドポイントの識別 448
   11.21.2 メッセージの送信 448
   11.21.3 送信者の認証 449
   11.21.4 複数の署名者 449
   11.21.5 複数の受信者 449
   11.21.6 開封確認 450
   11.22 普及の障害 450
   11.22.1 証明書 450
   11.22.2 証明書の入手 451
   11.23 S/MIME vs. SMTP over TLS 451
   11.23.1 エンドツーエンドのセキュリティ 451
   11.23.2 否認防止 452
   11.23.3 中継ホスト 452
   11.23.4 仮想ホスト 452
   11.23.5 結論 453
   11.24 適切な解決策の選択 453
   11.24.1 直接接続 453
   11.24.2 TCPのみの場合 453
   11.24.3 二者問のみの通信 454
   11.24.4 単純なセキュリティサービス 454
   11.25 まとめ 455
付録A サンプルコード
   A.1 第8章のサンプルコード 458
   A1.1 Cによるサンプルプログラム 458
   A1.2 Javaによるサンプルプログラム 467
   A.2 第9章のサンプルコード 472
   A.2.1 HTTPSの例 472
   A.2.2 mod_sslセッションのキャッシュ 475
付録B SSLv2
   B.1はじめに 490
   B.2 SSLv2の概要 490
   B.2.1 セッションの再開 492
   B.2.2 クライアント認証 492
   B.2.3 データ転送 492
   B.3 欠けている機能 493
   B.3.1 証明書のチェーン 493
   B.3.2 米国内用と輸出対応用のクライアントに同じRSA鍵を利用する 493
   B.4 セキュリティ上の問題 494
   B.4.1 輸出可能なバージョンのメッセージ認証 494
   B.4.2 脆弱なMAC 494
   B.4.3 ダウングレード 494
   B.4.4 強制終了攻撃 495
   B.4.5 クライアント認証の転写 495
   B.5 PCT 497
   B.5.1 Verify Preludeフィールド 497
   B.5.2 メッセージ完全性の強化 497
   B.5.3 クライアント認証の改善 497
   B.5.4 分離された暗号スイート 498
   B.5.5 下位互換性 498
   B.5.6 結論 499
   B.6 SSLv1について 500
参考文献 501
索引 511
第1章 セキュリティの概要
   1.1 はじめに 2
   1.2 インターネット脅威モデル 2
文献の複写および貸借の依頼を行う
 文献複写・貸借依頼