目次

T部 Webセキュリティ入門

1章 Webセキュリティの概要
	1.1 Webセキュリティの基礎
		1.1.1 なぜWebセキュリティが問題なのか
		1.1.2 セキュリティ関連の用語
		1.1.3 Webサーバをめぐる安全神話
	1.2 Webセキュリティ対策
		1.2.1 Webサーバのセキュリティを確保する
		1.2.2 送信中の情報を保護する
		1.2.3 ユーザのコンピュータそのものを保護する
	1.3 クレジットカード、暗号、Web
		1.3.1 オンライン取引の典型的な事例
		1.3.2 クレジットカード事例からの教訓
	1.4 ファイアウォールは完璧ではない
		1.4.1 Webサーバとファイアウォールをどのように配置するか
	1.5 リスク管理

U部 ユーザの安全

2章 ブラウザの歴史とリスク
	2.1 ブラウザの歴史
		2.1.1 ブロックモードの復活
		2.1.2 タグ
		2.1.3 アニメーション
		2.1.4 ヘルパーアプリケーション
		2.1.5 プログラムで自由に変更できる
	2.2 データを悪用した攻撃
		2.2.1 社会工学的な研究成果に基づく巧妙な攻撃
		2.2.2 バグを利用した攻撃
		2.2.3 プログラミング言語を利用した攻撃
	2.3 実装の欠陥

3章 JavaとJavaScript
	3.1 Java
		3.1.1 Java言語
		3.1.2 Javaの安全性
		3.1.3 Javaのセキュリティ
		3.1.4 Javaのセキュリティ方針
		3.1.5 Javaのセキュリティ問題
		3.1.6 Javaセキュリティの将来
	3.2 JavaScript
		3.2.1 JavaScriptのセキュリティ
		3.2.2 JavaScriptと資源管理
		3.2.3 JavaScriptとプライバシー
	3.3 仕事妨害攻撃
		3.3.1 仕事妨害攻撃は本当に重大か
		3.3.2 仕事妨害攻撃の種類と対策
		3.3.3 仕事妨害攻撃は防衛できるのか
	3.4 JavaScript対応のトリック攻撃
		3.4.1 ユーザ名/パスワードを盗むためのJavaによる偽のポップアップウィンドウ
		3.4.2 JavaScriptで偽のブラウザステータスを表示する
		3.4.3 虚像の世界
	3.5 まとめ

4章 ActiveXやプラグインが組み込まれたマシンコードのダウンロード
	4.1 攻撃の手口
		4.1.1 カード泥棒「Card Shark」
		4.1.2 アダルトポルノのビューア
	4.2 Netscape社のプラグイン方式
		4.2.1 プラグインの入手
		4.2.2 プラグインのセキュリティ評価
		4.2.3 Macromedia Shockwaveの事例
		4.2.4 その場しのぎの対策
	4.3 ActiveXとAuthenticode
		4.3.1 ActiveXコントロールの種類
		4.3.2  タグ
		4.3.3 Authenticode
		4.3.4 Internet Exploder
	4.4 ダウンロードしたコードのリスク
		4.4.1 お金を盗むプログラム
		4.4.2 プライバシーの侵害と機密情報の窃取
	4.5 Authenticode は救世主か
		4.5.1 署名付きのコードは安全なコードという意味ではない
		4.5.2 署名付きコードのハイジャックが可能だ
		4.5.3 攻撃の再現が困難
		4.5.4 攻撃に対する事後対策
	4.6 ダウンロードするコードのセキュリティ対策
		4.6.1 ベンダの信頼性をチェックする
		4.6.2 実行環境を別にする

5章 プライバシー
	5.1 ログファイル
		5.1.1 参照リンク
		5.1.2 ログの実例
	5.2 クッキー
		5.2.1 クッキーの詳細な説明
		5.2.2 クッキーが素行調査に利用された
		5.2.3 クッキーの使用を禁止する
		5.2.4 プライバシーを守るクッキー
	5.3 個人を識別できる情報
	5.4 アノニマイザ(Anonymizer)
	5.5 機密保持の難しさ
		5.5.1 企業秘密の侵害
		5.5.2 誹謗中傷合戦

V部 電子証明書

6章 電子身元確認技術
	6.1 身元確認技術
		6.1.1 身元確認の必要性
		6.1.2 証明書に基づいた身元確認法
		6.1.3 コンピュータを利用した身元確認技術
		6.1.4 電子署名を身元確認に利用する
	6.2 公開カギインフラストラクチャ(Public Key Infrastructure)
		6.2.1 認証局
		6.2.2 X.509 v3 証明書
	6.3 公開カギインフラストラクチャの諸問題
		6.3.1 秘密カギは人間そのものではない
		6.3.2 識別名フィールドに記載された人物は本人なのか
		6.3.3 同姓同名の人をどのように識別するのか
		6.3.4 現在の電子証明書は情報不足だ
		6.3.5 X.509 v3 は選択的開示を認めない
		6.3.6 電子証明書はデータ収集を容易にする
		6.3.7 認証局はいくつ必要なのか
		6.3.8 カギを貸すにはどうすればよいのか
		6.3.9 公開カギインフラストラクチャより優れた代替案はあるのだろうか
		6.3.10 これらの問題が重要な理由
	6.4 電子署名政策に関する10の疑問

7章 認証局とサーバ証明書
	7.1 現在利用可能な証明書
	7.2 認証局証明書
		7.2.1 公開カギインフラストラクチャ(PKI)を構築する
	7.3 サーバ証明書(Server Certificates)
		7.3.1 SSL証明書の形式
		7.3.2 個人サーバ用証明書の取得と更新
		7.3.3 サイト証明書を表示する
		7.3.4 うまくいかないときの対処
		7.3.5 Netscape Navigator 3.0の新証明書ウィザード
		7.3.6 Internet Explorerで新サイト証明書を追加する
	7.4 まとめ

8章 クライアント用の電子証明書
	8.1 クライアント証明書
		8.1.1 クライアント証明書をサポートするブラウザ
	8.2 VeriSign社のデジタルIDセンターの紹介
		8.2.1 VeriSign社のデジタルID
		8.2.2 電子証明書のインストール
		8.2.3 舞台裏の動き
		8.2.4 デジタルIDの検索
		8.2.5 デジタルIDの取り消し
		8.2.6 VeriSign社のクラス方式

9章 コード署名とAuthenticode
	9.1 なぜコード署名なのか
		9.1.1 コード署名の役割
		9.1.2 コード署名の現状
		9.1.3 コード署名とアメリカの輸出規制	
	9.2 Microsoft社のAuthenticode技術
		9.2.1 誓約(Pledge)
		9.2.2 Authenticodeによる署名
		9.2.3 Authenticode署名の検証
		9.2.4 Internet ExplorerによるAuthenticodeのサポート
	9.3 ソフトウェア配布元証明書
	9.4 その他のコード署名法


W部 暗号技術

10章 暗号の基盤技術
	10.1 暗号とは
		10.1.1 暗号技術のルーツ
		10.1.2 用語の説明
		10.1.3 暗号の実例
		10.1.4 暗号は軍事技術か、それとも民生技術か
		10.1.5 暗号方式と暗号関数
	10.2 共有カギ方式
		10.2.1 暗号強度(Cryptographic Strength)
		10.2.2 共有暗号方式に対する攻撃
	10.3 公開カギ方式
		10.3.1 公開カギ方式への攻撃
	10.4 メッセージダイジェスト関数
		10.4.1 メッセージダイジェスト関数の実例
		10.4.2 メッセージダイジェスト関数の用途
		10.4.3 メッセージダイジェスト関数への挑戦
	10.5 公開カギインフラストラクチャ(PKI)

11章 暗号とWeb
	11.1 暗号技術とWebセキュリティ
		11.1.1 暗号技術は万能薬ではない
	11.2 現在実用化されている暗号システム
		11.2.1 PGP
		11.2.2 S/MIME
		11.2.3 SSL
		11.2.4 PCT
		11.2.5 S-HTTP
		11.2.6 SET
		11.2.7 CyberCash
		11.2.8 DNSSEC
		11.2.9 IPsecとIPv6
		11.2.10 Kerberos
		11.2.11 SSH
	11.3 暗号技術に対するアメリカ政府の規制
		11.3.1 暗号技術とアメリカの特許
		11.3.2 暗号技術とアメリカのトレードシークレット法
		11.3.3 暗号技術とアメリカの輸出規制法
	11.4 暗号技術に対する各国の規制

12章 SSLとTLS
	12.1 SSLとは
		12.1.1 SSLのバージョン
		12.1.2 SSLの特長
		12.1.3 電子証明書
		12.1.4 アメリカの輸出規制
		12.1.5 SSLの実装	
		12.1.6 性能
	12.2 TLS標準化の活動
	12.3 ユーザの観点から見たSSL
		12.3.1 ブラウザのセキュリティ設定
		12.3.2 ブラウザの警告と表示

X部 Webサーバセキュリティ

13章 ホストとサイトのセキュリティ対策
	13.1 ホストはもともと安全ではない
	13.2 ホストセキュリティの主要な問題点
		13.2.1 セキュリティ方針
		13.2.2 パスワードの盗聴
		13.2.3 セキュリティツール
		13.2.4 障害、バグ、プログラミングエラー
		13.2.5 ログ
		13.2.6 バックアップ
	13.3 サービスの種類を限定することによってリスクを減少させる
	13.4 コンテンツの安全な更新
	13.5 バックエンドデータベース
	13.6 物理的なセキュリティ対策

14章 Webサーバのアクセスコントロール
	14.1 アクセスコントロールの考え方
		14.1.1 URLを隠す
		14.1.2 コンピュータに基づいたアクセスコントロール
		14.1.3 ユーザに基づいたアクセスコントロール
	14.2  ブロックによるアクセスコントロール
		14.2.1 ...の前に指定するコマンド
		14.2.2 ...ブロックの中に指定するコマンド
		14.2.3  のコード例
		14.2.4 Webユーザとパスワードを手動で設定する方法
	14.3 簡単なユーザ管理システム

15章 CGI/APIによる安全なプログラミング
	15.1 拡張性の危険
		15.1.1 CGIにすべきではないプログラム
		15.1.2 困った副作用を伴うCGI
	15.2 コーディング上の注意
	15.3 プログラミング言語ごとの注意事項
		15.3.1 Perlプログラミングでの注意事項
		15.3.2 Cプログラミングでの注意事項
		15.3.3 UNIXシェルの注意事項
	15.4 別の特権で実行するCGIスクリプトを作成するコツ
	15.5 まとめ


XT部 商取引と社会

16章 電子決済
	16.1 チャルガプレート(Charga-Plates)、ダイナースクラブ(Diners Club)、クレジットカード(Credit Cards)
		16.1.1 クレジットの簡単な歴史
		16.1.2 アメリカにおける決済カード
		16.1.3 銀行間決済カード取引
		16.1.4 リファンドとチャージバック
		16.1.5 インターネットでのクレジットカードの使用
	16.2 インターネットでの決済システム
		16.2.1 DigiCash
		16.2.2 Virtual PIN(仮想個人識別番号)
		16.2.3 CyberCashとCyberCoin
		16.2.4 SET
		16.2.5 スマートカード(Smart Cards)
		16.2.6 Mondex
	16.3 クレジットカード決済システムの品定め

17章 ブロッキングソフトウェアと検閲技術
	17.1 ブロッキングソフトウェア
		17.1.1 ブロッキングソフトウェアの問題点
	17.2 PICS(Platform for Internet Content Selection)
		17.2.1 PICSとは
		17.2.2 PICSの用途
		17.2.3 PICSと検閲
	17.3 RSACi	 350

18章 法的な諸問題(その1):民法関連
	18.1 知的財産権
		18.1.1 著作権法(Copyright Law)
		18.1.2 特許法
		18.1.3 暗号技術とアメリカの特許システム
		18.1.4 商標権法(Trademark Law)
	18.2 不法行為
		18.2.1 名誉毀損
		18.2.2 損害賠償責任
		18.2.3 法人化

19章 法的な諸問題(その2):刑法関連
	19.1 不正侵入に対する対抗措置
		19.1.1 刑事告訴
		19.1.2 コンピュータ犯罪に関する連邦法
		19.1.3 刑事告訴の危険性
	19.2 潜在的な刑事訴追の危険性
		19.2.1 社員や自分が捜査対象になった場合の対策
		19.2.2 犯罪を報告する責任
	19.3 情報の違法性
		19.3.1 アクセス装置と著作権付きのソフトウェア
		19.3.2 ポルノグラフィ、卑猥物、猥褻物
		19.3.3 暗号プログラムと輸出規制
	19.4 安全対策
	19.5 立法化の問題点と今後の展望

XU部 付録

付録A マーザズビンヤード島での奮戦記
	A.1 計画と準備
	A.2 IP接続
	A.3 ビジネスの開始
		A.3.1 電話会社とのやり取り
		A.3.2 Vineyard.NETを法人化する
		A.3.3 初期のビジネス展開
		A.3.4 会計ソフトウェア
		A.3.5 公開性とプライバシー
	A.4 現状の紹介
		A.4.1 セキュリティ対策
		A.4.2 電話の構成と請求書の問題
		A.4.3 クレジットカードと自動手形交換機構
		A.4.4 監視ソフトウェア
	A.5 まとめ

付録B Webサーバ証明書の作成とインストール
	B.1 Webサーバのダウンロードとインストール
	B.2 Apache-SSL
		B.2.1 Apache-SSLのダウンロード手順
		B.2.2 Apache-SSLのインストール
		B.2.3 VeriSign社の証明書のインストール
		B.2.4 サーバカギを暗号化するかどうか
		B.2.5 Apache-SSLの起動、リロード、停止

付録C SSL 3.0プロトコル
	C.1 SSLプロトコルの歴史
	C.2 SSL 3.0 レコード層
	C.3 SSL 3.0メッセージ層プロトコル
		C.3.1  Alertプロトコル
		C.3.2 ChangeCipherSpecプロトコル
		C.3.3 Handshakeプロトコル
	C.4 SSL 3.0 ハンドシェイク
		C.4.1 ハンドシェイクの手順
		C.4.2 アプリケーションデータ
	C.5 SSLeayの紹介
	C.5.1 SSLeayの実例

付録D PICS仕様
	D.1 ランク付けサービス(Rating Service)
	D.2 PICSラベル仕様
		D.2.1 ドキュメントにラベルを添付する
		D.2.2 HTTPでPICSラベルを要求する
		D.2.3 ランク付けサービス機関にラベルを要求する

付録E 参考資料
	E.1 電子媒体の参考資料
		E.1.1 メーリングリスト
		E.1.2 Usenet ニュースグループ
		E.1.3 WWW Pages
		E.1.4 役立つソフトウェア
	E.2 紙媒体の参考資料
		E.2.1 コンピュータ犯罪と法律
		E.2.2 コンピュータ関連のリスク
		E.2.3 コンピュータウィルスとプログラム化された脅威
		E.2.4 暗号
		E.2.5 コンピュータセキュリティ一般
		E.2.6 ネットワーク技術とセキュリティ
		E.2.7 セキュリティ製品とサービスに関する情報
		E.2.8 プログラミングとシステム管理
		E.2.9 その他の参考資料
索引


書籍についてのお問い合わせは以下までお願いします。

株式会社オライリー・ジャパン

〒160-0003 東京都新宿区本塩町7番地6 四谷ワイズビル
phone:03-3356-5227 fax:03-3356-5261 e-mail:japan@oreilly.com


書籍の購入方法トップページへ戻る