マスタリングTCP/IP SSL/TLS編

標準セキュリティプロトコルSSL/TLSの仕様から実装までを詳解

このような方におすすめ

・ネットワークプログラムの開発者
・ネットワーク管理者
・学生、研究者
  • 著者Eric Rescorla 著/齋藤孝道・鬼頭利之・古森貞 監訳
  • 定価4,950 (本体4,500 円+税)
  • B5 552頁 2003/11発行
  • ISBN978-4-274-06542-2
  • 定価
  • ポイント0
  • 数量

  • SOLD OUT
    在庫状況はお問合せください
    web-shop@ohmsha.co.jp

※本体価格は変更される場合があります。
※通常2〜3営業日以内で発送いたします。
※取寄が可能な場合もございますのでお問合せください。

  • 概要
  • 主要目次
  • 詳細目次

SSLと、それを基にIETFが標準化したTLSは、TCP/IPにおけるセキュリティをプロトコルレベルで確保するための認証プロトコル。本書は、そのSSL/TLSの仕様について、網羅的に詳細な情報を解説したEric Rescorla著『SSL and TLS : Designing and Building Secure Systems』の翻訳書。仕様だけでなく、TCP/IPにおけるセキュリティの概要からHTTP・SMTPといった具体的なアプリケーションにおける実装まで、SSL/TLSのすべてを掘り下げて説明する。

https://www.ohmsha.co.jp/book/9784274065422/
第1章 セキュリティの概要
第2章 SSLの概要
第3章 SSLの基礎的な技術
第4章 SSLの高度な技術
第5章 SSLのセキュリティ
第6章 SSLのパフォーマンス
第7章 SSLを用いた設計
第8章 SSLのコーディング
第9章 HTTPoverSSL
第10章 SMTPoverTLS
第11章 さまざまな手法との比較
付録A サンプルコード
付録B SSLv2
第1章 セキュリティの概要
  1.1 はじめに
  1.2 インターネット脅威モデル
  1.3 登場人物について
  1.4 セキュリティ技術が目指すこと
  1.5 セキュリティ確保のための道具
  1.6 組み合わせて使用
  1.7 シンプルなセキュアメッセージングシステム
  1.8 安全でシンプルな通信路
  1.9 輸出状況
  1.10 暗号技術に関するアルゴリズムの実際
  1.11 共通鍵暗号化方式(ストリーム暗号)
  1.12 共通鍵暗号化方式(ブロック暗号)
  1.13 ダイジェストアルゴリズム
  1.14 鍵の確立
  1.15 電子署名
  1.16 MAC
  1.17 鍵長
  1.18 まとめ

第2章 SSLの概要
  2.1 はじめに
  2.2 標準と標準化団体
  2.3 SSLの概要
  2.4 SSL/TLSの設計目標
  2.5 SSLとTCP/IPプロトコルスイート
  2.6 SSLの歴史
  2.7 WebのためのSSL
  2.8 SSL上でのプロトコル
  2.9 SSLの入手
  2.10 まとめ

第3章 SSLの基礎的な技術
  3.1 はじめに
  3.2 SSLの概要
  3.3 Handshake
  3.4 SSLRecordプロトコル
  3.5 部品の組み立て
  3.6 接続の実際
  3.7 接続の詳細
  3.8 SSLの仕様記述言語
  3.9 Handshakeメッセージの構造
  3.10 Handshakeメッセージ
  3.11 鍵の生成
  3.12 Recordプロトコル
  3.13 Alertと終了
  3.14 まとめ

第4章 SSLの高度な技術
  4.1 はじめに
  4.2 セッション再開
  4.3 クライアント認証
  4.4 一時的RSA
  4.5 再Handshake
  4.6 ServerGatedCryptography
  4.7 DSSとDH
  4.8 楕円曲線暗号スイート
  4.9 Kerberos
  4.10 FORTEZZA
  4.11 ここまでのまとめ
  4.12 セッション再開の詳細
  4.13 クライアント認証の詳細
  4.14 一時的RSAの詳細
  4.15 SGCの詳細
  4.16 DH/DSSの詳細
  4.17 FORTEZZAの詳細
  4.18 エラーAlert
  4.19 SSLv2との下位互換性
  4.20 まとめ

第5章 SSLのセキュリティ
  5.1 はじめに
  5.2 SSLの機能
  5.3 master_secretの保護
  5.4 サーバの秘密鍵の保護
  5.5 良質の乱数の利用
  5.6 証明書チェーンの確認
  5.7 アルゴリズムの選択
  5.8 ここまでのまとめ
  5.9 master_secretの危殆化
  5.10 メモリ内の秘密情報の保護
  5.11 サーバの秘密鍵のセキュリティ
  5.12 乱数生成
  5.13 証明書チェーンの検証
  5.14 部分的な危殆化
  5.15 既知の攻撃手法
  5.16 タイミング暗号解析
  5.17 ミリオンメッセージ攻撃
  5.18 小さな部分群攻撃
  5.19 輸出方式へのダウングレード
  5.20 まとめ

第6章 SSLのパフォーマンス
  6.1 はじめに
  6.2 SSLは遅い
  6.3 パフォーマンスに関する原則
  6.4 暗号技術に関する処理は高コスト
  6.5 セッション再開
  6.6 Handshakeのアルゴリズムと鍵選択
  6.7 バルクデータの転送
  6.8 SSLのパフォーマンスに関する基本方針
  6.9 ここまでのまとめ
  6.10 Handshakeの時間配分
  6.11 通常のRSAモード
  6.12 クライアント認証を伴うRSAモード
  6.13 一時的RSA
  6.14 DHE/DSS
  6.15 クライアント認証を伴うDHE/DSS
  6.16 DHによるパフォーマンスの向上
  6.17 レコードの処理
  6.18 Java
  6.19 負荷のかかった状況におけるSSLサーバ
  6.20 ハードウェアアクセラレーション
  6.21 インラインハードウェアアクセラレータ
  6.22 ネットワーク遅延
  6.23 Nagleアルゴリズム
  6.24 Handshakeのバッファリング
  6.25 SSLの高度な機能を利用する際のパフォーマンスの原則
  6.26 まとめ

第7章 SSLを用いた設計
  7.1 はじめに
  7.2 何を守るのかを考える
  7.3 クライアント認証の方式
  7.4 参照情報における整合性
  7.5 SSLに向かない処理
  7.6 プロトコルの選択
  7.7 Handshakeオーバヘッドの軽減
  7.8 設計戦略
  7.9 ここまでのまとめ
  7.10 ポートの分離
  7.11 上方向ネゴシエーション
  7.12 ダウングレード攻撃
  7.13 参照情報における整合性
  7.14 ユーザ名とパスワードを用いた認証方式
  7.15 SSLクライアント認証
  7.16 ユーザ名とパスワードを用いた相互認証
  7.17 再Handshake
  7.18 2番目の通信路
  7.19 接続の終了
  7.20 まとめ

第8章 SSLのコーディング
  8.1 はじめに
  8.2 SSLの実装
  8.3 サンプルプログラム
  8.4 コンテキストの初期化
  8.5 クライアントの接続
  8.6 サーバでの接続の受け入れ
  8.7 単純なI/O処理
  8.8 スレッドを使った多重化I/O
  8.9 select()を使った多重化I/O
  8.10 終了
  8.11 セッション再開
  8.12 補足
  8.13 まとめ

第9章 HTTP over SSL
  9.1 はじめに
  9.2 Webを安全にする
  9.3 HTTP
  9.4 HTML
  9.5 URL
  9.6 HTTP接続の振る舞い
  9.7 プロキシ
  9.8 仮想ホスト
  9.9 プロトコルの選択
  9.10 クライアント認証
  9.11 参照情報における整合性
  9.12 HTTPS
  9.13 HTTPSの概要
  9.14 URLと参照情報における整合性
  9.15 接続の終了
  9.16 プロキシ
  9.17 仮想ホスト
  9.18 クライアント認証
  9.19 Referrerヘッダ
  9.20 置換攻撃
  9.21 アップグレード
  9.22 プログラミングの問題
  9.23 プロキシのCONNECT
  9.24 複数のクライアントの処理
  9.25 まとめ

第10章 SMTP over TLS
  10.1 はじめに
  10.2 インターネットメールのセキュリティ
  10.3 インターネットメールの概要
  10.4 SMTP
  10.5 RFC 822とMIME
  10.6 電子メールアドレス
  10.7 メールの中継
  10.8 仮想ホスト
  10.9 MXレコード
  10.10 クライアントからのメールアクセス
  10.11 プロトコルの選択
  10.12 クライアント認証
  10.13 参照情報における整合性
  10.14 接続のセマンティクス
  10.15 STARTTLS
  10.16 STARTTLSの概要
  10.17 接続の終了
  10.18 TLSを要求する場合
  10.19 仮想ホスト
  10.20 セキュリティインジケータ
  10.21 認証された中継
  10.22 送信元の認証
  10.23 参照情報における整合性の詳細
  10.24 CONNECTを使えない理由
  10.25 STARTTLSの利点
  10.26 プログラミングの問題
  10.27 STARTTLSの実装
  10.28 サーバの起動
  10.29 まとめ

第11章 さまざまな手法との比較
  11.1 はじめに
  11.2 エンドツーエンド通信の特性
  11.3 エンドツーエンドの議論とSMTP
  11.4 その他のプロトコル
  11.5 IPsec
  11.6 Security Association
  11.7 ISAKMPとIKE
  11.8 AHとESP
  11.9 IPsecの全体像
  11.10 IPsec vs. SSL
  11.11 SecureHTTP
  11.12 CMS
  11.13 メッセージ形式
  11.14 暗号技術に関するオプション
  11.15 S-HTTPの全体像
  11.16 S-HTTP vs. HTTPS
  11.17 S/MIME
  11.18 基本的なS/MIME形式
  11.19 署名のみ
  11.20 アルゴリズムの選択
  11.21 S/MIMEの全体像
  11.22 普及の障害
  11.23 S/MIME vs. SMTP over TLS
  11.24 適切な解決策の選択
  11.25 まとめ

付録A サンプルコード
  A.1 第8章のサンプルコード
    A.1.1 Cによるサンプルプログラム
    A.1.2 Javaによるサンプルプログラム
  A.2 第9章のサンプルコード
    A.2.1 HTTPSの例
    A.2.2 mod_sslセッションのキャッシュ

付録B SSLv2
  B.1 はじめに
  B.2 SSLv2の概要
  B.3 欠けている機能
  B.4 セキュリティ上の問題
  B.5 PCT
  B.6 SSLv1について