|
Visual
Basicセキュリティプログラミング
暗号の基礎からAPIの活用技法まで
ISBN4-89471-282-2 ピアソン・エデュケーション
D・チャップマン 著
株式会社アットコム 訳
B5変形 565ページ 本体価格5,600円 2001年3月発売
[内容]
セキュリティ機能をそなえた“安全な”アプリケーションをVisual
Basicによって開発するための実践的なテクニックを解説します。暗号化、証明書、認証、デジタル署名といったセキュリティの基礎概念、それらを実装するための基盤となるSSL、DCOM、COM+、ADSIなどのテクノロジー、そしてVisual
Basicにおいて各種APIを活用するためのプログラミング手法について、サンプルコードを豊富に示しながら詳細に解説します。
[目次]
はじめに
謝辞
著者紹介
訳者紹介
暗号化とアプリケーションセキュリティ
・暗号化とは
・・暗号化アルゴリズムと標準
・・その他の暗号化方式
・暗号化における証明書の利用
・・CA(認証局)
・・証明書のチェーン
・デジタル署名
・メッセージ封筒処理
・Secure Sockets Layer(SSL)
・セキュリティログと監査ログ
・・監査ログが必要な理由
・・セキュリティログや監査ログの内容
・まとめ
CryptoAPIを使用する前に
・CryptoAPIとCryptographic Service Provider
・・CSPを開く
・・CSPを閉じる
・・利用できるCSP
・・CSPタイプ
・・既定値のCSPの確認
・・規定値のCSPの設定
・・CSPタイプと暗号化アルゴリズム
・CSPとCSPタイプのリスト
・・インターフェイスの設計
・・CSPのリスト
・・CSPタイプのリストの構築
・まとめ
対称暗号化とパスワード暗号化
・文字列とメッセージのハッシュ生成
・・ハッシュオブジェクトの作成
・・ハッシュオブジェクトの削除
・・ハッシュオブジェクトのコピー
・・データのハッシュ作成
・・セッション鍵のアッシュ作成
・・ハッシュ情報の入手
・・ハッシュ情報の設定
・対称鍵の生成
・・鍵の派生
・・鍵の生成
・・鍵の削除
・・鍵のコピー
・基本的な暗号化と復合化
・・データの暗号化
・・データの復号化
・簡単な暗号化アプリケーションの構築
・・API関数、定数、変数の宣言
・・プロパティの公開
・・CSPのハンドルの取得
・・パスワード派生鍵の作成
・・パスワード派生鍵の削除
・・データ暗号化
・・データの復号化
・・ユーザーインターフェイスの設計
・・暗号化の実行
・・復号化の実行
・ファイル暗号化/復号化ユーティリティの構築
・・宣言の追加
・・データファイルのハッシュ作成
・・データファイルの暗号化
・・データファイルの復号化
・・ユーザーインターフェイスの設計
・・データファイルの暗号化
・・データファイルの復号化
・まとめ
公開/非公開鍵通信
・ブロックアルゴリズムとストリームアルゴリズムの比較
・・ソルト値:ソルトとは何か?なぜソルトを使用するのか?
・・ソルト値の生成
・・セッション鍵からのソフト値の抽出
・・セッション鍵におけるソルト値の設定
・公開鍵/非公開鍵の生成、保存、取り出し
・鍵のエクスポートとインポート
・・鍵のエクスポート
・・鍵のインポート
・安全メッセージングユーティリティの作成
・・初期プロジェクトの作成
・・宣言の追加
・・プロパティの追加
・・ユーザー公開/非公開鍵の調達
・・公開鍵のエクスポート
・・公開鍵のインポート
・・クラスの終了
・・ユーザーインターフェイスの設計
・・フォームの初期化、クリーンアップ、その他の機能
・・サーバー側での鍵交換
・・クライアント側での鍵交換
・・サーバー側での鍵交換の完了
・・暗号化メッセージの送受信
・・接続要求の待ち受け
・・サーバーへの接続
・・接続要求の受信
・・データ着信の処理
・・ソケット接続の閉鎖
・まとめ
証明書の要求と入手
・デジタル証明書の説明
・・認証局への証明書要求
・・鍵所有者の身元確認
・証明書の取得
・・証明書要求の生成
・・証明書の取得
・証明書要求ユーティリティの構築
・・証明書要求クラスの作成
・・クラスプロパティの作成
・・クラスの初期化と終了
・・証明書の要求
・・証明書の入手
・・要求状況の点検
・・フォームの設計
・・フォームの初期化とシャットダウン
・・証明書要求の実行
・・証明書の状況確認と入手
・・サンプルアプリケーションの実行
・まとめ
証明書の取り扱い
・証明書ストアの管理
・・証明書ストアの開放
・・証明書ストアの閉鎖
・・ストアハンドルの複製
・証明書と証明コンテキストの管理
・・証明コンテキストの作成
・・証明コンテキストの複製
・・証明書の検索
・・証明書の列挙
・・発行者証明書の入手
・・証明書の直列化
・・証明書の確認
・・証明書の削除
・・証明コンテキストの解放
・証明書情報の収集
・・証明書プロパティの列挙
・・プロパティ値の入手
・・証明書プロパティの設定
・・主題名の入手
・証明書メンテナンスユーティリティの構築
・・プロジェクトの作成
・・証明書の一覧表示
・・文字列の変換
・・鍵仕様の抽出
・・プロバイダタイプの抽出
・・コンテナ名の抽出
・・CSP名の抽出
・・フォームの設計
・・証明書の一覧表示
・まとめ
破棄証明書リストの取り扱い
・CAに照らした証明書の確認
・・証明書シリアル番号の抽出
・・シリアル番号のフォーマット
・・COMオブジェクトCertAdmin
・・証明書の確認
・破棄証明書リストの作成とメンテナンス
・・CRLコンテキストの作成
・・証明書ストアへのCRLの追加
・・CRLの複製
・・CRLコンテキストの解放
・・CRLの削除
・・証明書ストアからのCRLの取り出し
・・CRLに照らした証明書の確認
・破棄証明書リストの管理
・・プロジェクトの作成
・・新しいプロパティの追加
・・バイト文字列から16進文字列への変換
・・CRLに照らした証明書のチェック
・・証明書ストアへのCRLの追加
・・証明書一覧の表示
・・フォームの修正
・・CAを使った証明書の確認
・・CRLを使った証明書の確認
・・証明書ストアへのCRLのインポート
・まとめ
デジタル署名の使用
・デジタル署名とは
・メッセージの署名と署名の確認
・・暗号化アルゴリズムとポインタ
・・メッセージの署名
・・メッセージ署名の確認
・・署名者の数の判定
・メッセージの封筒処理
・・メッセージの暗号化
・・メッセージの復号化
・・メッセージの署名と暗号化
・・メッセージの復号化と確認
・・メッセージの復号化
・署名ユーティリティの作成
・・プロジェクトの作成
・・署名証明書の取り出し
・・証明書のタイプの判定
・・メッセージの署名
・・署名の確認
・・交換証明書の取り出し
・・メッセージの暗号化
・・メッセージの復号化
・・署名証明書の解放
・・フォームの設計
・・署名者の証明書を取り出す
・・署名の実行
・・署名の確認
・・暗号化の実行
・・復号化の実行
・まとめ
SSLによるDCOM
・RDSとHTTP
・・標準DCOM対RDS DCOM
・・RDS DataSpaceオブジェクト
・・RDSServer DataFactoryオブジェクト
・・RDS DataControlオブジェクト
・・カスタムサーバーコントロールとの対話
・・RDS使用の有効化
・TCP/IPによるDCOMトンネル
・・クライアントの構成
・・DCOMサーバーの構成
・DCOM-HTTPSアプリケーションの作成
・・サーバーオブジェクトの作成
・・クライアントアプリケーションの作成
・まとめ
Windows 2000のセキュリティとセキュリティ記述子
・Windows 2000セキュリティの概要
・セキュリティデータの基本構造体
・・プロセスとスレッドのセキュリティトークンとは
・・セキュリティ識別子とは
・・ACE構造体、DACL構造体、SACL構造体とは
・・ACLに必要なサイズの判定
・・DACLに対するアクセス許可 ACEの追加
・・セキュリティ記述子
・・セキュリティ記述子の取り出し
・・Security_Attributes構造体の使用
・トラスティベースのアクセス制御
・・TRUSTEE構造体の使用
・・EXPLICIT_ACCESS構造体
・・SetEntriesInAclによるアクセス制御リストの作成と変更
・クライアントの疑似ユーザー化
・まとめ
NTログイン認証の使用
・ドメインログインの検査
・・アクセス権限の変更
・・ドメインに対するログインの確認
・アカウント権限の許可
・・NT 4.0における権限の付与
・ログイン検査ユーティリティの作成
・・DLLの作成
・・ユーザーインターフェイスの作成
・・ユーザーログオンの確認
・まとめ
Active Directory SecurityとLDAPサーバーでの作業
・Active Directoryとセキュリティ
・・ADSIセッションを開く
・・IADsオブジェクトのインターフェイス
・・IADsContainerオブジェクトのインターフェイス
・・IADsNamespacesオブジェクトのインターフェイス
・・ADSIのセキュリティと認証
・Active Directoryオブジェクトのスキーマ
・・IADsClassオブジェクトのインターフェイス
・・IADsPropertyオブジェクトのインターフェイス
・・IADsSyntaxオブジェクトのインターフェイス
・ネットワークグループとユーザー
・・IADsCollectionオブジェクトのインターフェイス
・・IADsDomainオブジェクトのインターフェイス
・・IADsGroupオブジェクトのインターフェイス
・・IADsMembersオブジェクトのインターフェイス
・・IADsUserオブジェクトのインターフェイス
・・IADsComputerオブジェクトのインターフェイス
・・IADsFileShareオブジェクトのインターフェイス
・グループおよびユーザーの検証
・・ユーザーインターフェイスの設計
・・グループの表示
・・グループメンバの表示
・・ユーザーの表示
・・ユーザーメンバーシップの表示
・・Listメソッドの呼び出し
・まとめ
Active Directoryのセキュリティと検索
・Active Directoryのオブジェクトセキュリティ
・・IADsSecurityDescriptorオブジェクトインターフェイス
・・IADsAccessControlListオブジェクトインターフェイス
・・IADsAccessControlEntryオブジェクトインターフェイス
・Active Directoryの検索
・・LDAP範囲構文
・・SQL構文の作成
・・SQLクエリーの実行
・Active Directoryオブジェクトの確認
・・プロジェクトの開始
・・Active Directoryツリーの参照
・・ユーザーとグループの確認
・・コレクションの確認
・・その他のオブジェクトの確認
・・オブジェクトセキュリティの確認
・・オブジェクトの詳細の表示
・まとめ
COM+セキュリティを使った開発
・COM+とは?
・・COM+の由来:COM/DCOM
・・Visual Basicを使ったCOMコンポーネントの作成
・・Visual BasicでのCOMコンポーネントの運用
・・COM/DCOMの展望
・・Microsoft Transaction Serverの紹介
・COM+とセキュリティ
・・MTS/COM+セキュリティの紹介
・・COM+の宣言的セキュリティ
・セキュリティ認識型COM+コンポーネントの作成
・まとめ
Microsoft Certificate Server
・認証局の仕組み
・・認証局の階層
・・証明書の要求と発行
・ルート証明書の生成
・証明書の発行、管理、破棄
・・証明書の発行と拒絶
・・証明書の破棄
・まとめ
セキュリティ規格
・C2セキュリティ
・DESとRSA
・・DES
・・RSA
・PGPとケルベロス
・・PGP
・・ケルベロス
・スマートカードとトークン
・新しいテクノロジーと規格
・・ポイントツーポイントトンネリング
・・PCT仕様
・まとめ
デジタル署名と暗号化における法的な問題
・デジタル署名の合法性:デジタル署名は法的な署名なのか?
・・法的な署名を使用したい場合
・・目的の記録
・・処理フォームの記録
・アプリケーションでのデジタル証明書の使用
・・内部の証明書サーバーが発行する証明書
・・公のCAが発行する証明書
・・公の認証サービスプロバイダが発行した証明書
・・証明書のフォーマット
・・単一目的の証明書と複数目的の証明書
・・信頼モード−正しいモードの選択
・暗号化と輸出の問題
・・強力な暗号化と輸出グレードの暗号化
・・Windowsクライアントでの強力な暗号化の適用
・・輸出規制への準拠
・まとめ
付録A 暗号サービスプロバイダ
索引

|