ええコンサルタント,セキュリティ,ITconsultant,ITコンサルタント

ええコンサルタント  >  セキュリティプラザ  >  セキュアプログラミング

C/C++セキュアプログラミングクックブック
VOLUME3:公開鍵暗号の実装とネットワークセキュリティ

第一章:公開鍵暗号

  1. どのような状況で公開鍵暗号を利用すべきか
  2. 公開鍵アルゴリズムを選択する
  3. 公開鍵サイズを選択する
  4. 大きな数を操作する
  5. 素数を生成する
  6. RSA鍵ペアを生成する
  7. OpenSSLで公開鍵と秘密鍵を分離する
  8. RSAで使用するためにバイナリ文字列を整数値に変換する
  9. RSAで使用するために整数値をバイナリ文字列に変換する
  10. RSA公開鍵を使って、生の暗号化を行う
  11. RSA秘密鍵で生の復号化を行う
  12. RSA秘密鍵を使って、データに署名する
  13. RSA公開鍵を使って、署名されたデータを検証する
  14. RSAによるセキュアな署名と暗号化
  15. デジタル署名アルゴリズム(DSA)を使用する
  16. 公開鍵と証明書をバイナリ(DERエンコーディング)で表現する
  17. 鍵と証明書を平文で表現する(PEMエンコード)

第二章:認証と鍵交換

  1. 認証方法を選択する
  2. Unixでユーザ及びグループ情報を取得する
  3. Windowsでユーザ及びグループ情報を取得する
  4. ホスト名あるいはIPアドレスによるアクセス制限
  5. ランダムなパスワードとパスフレーズを生成する
  6. パスワードの強度を検査する
  7. パスワード入力を要求する
  8. 失敗する認証を締め出す
  9. crypt()を使ってパスワードベースの認証を行う
  10. MD5-MCFを使って、パスワードベースの認証を行う
  11. PBKDF2を使って、パスワードベースの認証を行う
  12. PAMを使って認証する
  13. Kerberosを使って認証する
  14. HTTPクッキーを使って認証する
  15. パスワードベースの認証と鍵交換を行う
  16. RSAを使って認証された鍵交換を行う
  17. 基本的なDiffie-Hellman鍵共有を使用する
  18. Diffie-HellmanとDSAを一緒に使用する
  19. PKIを使用しないで認証する場合の脆弱性の窓を最小限にする
  20. 対称暗号システムにフォワード隠蔽性(Forward Secrecy)を提供する
  21. 公開鍵暗号システムにフォワード隠蔽性(Forward Secrecy)を確保する
  22. メールで要求を確認する

第三章:ネットワーク

  1. SSL対応クライアントを作成する
  2. SSL対応サーバを作成する
  3. セッションをキャッシュしてSSLサーバの効率をあげる
  4. WinInet APIを使ってWindowsによる安全なWeb通信を行う
  5. ソースコードを変更せずにSSLを有効にする
  6. Kerberosを使用する
  7. ソケットを使ってプロセス間通信を行う
  8. Unixドメインソケットで認証を行う
  9. セッションIDを管理する
  10. データベースを安全に接続する
  11. 仮想専用ネットワークを使って安全なネットワーク接続を構築する
  12. 認証された安全な経路をSSLを使用せずに構築する

第四章:公開鍵基盤

  1. 公開鍵基盤(PKI)を理解する
  2. 証明書を取得する
  3. ルート証明書を使用する
  4. X.509証明書の検証方法を理解する
  5. OpenSSLを使ってX.509証明書を検証する
  6. CryptoAPIを使ってX.509証明書を検証する
  7. SSLのピア証明書を検証する
  8. 証明書の検証にホスト名検査を追加する
  9. ホストリストを使って証明書を検証する
  10. OpenSSLで証明書失効リストを取得する
  11. CryptoAPIでCRLを取得する
  12. OpenSSLからOCSPを使って失効ステータスを調べる

ええコンサルタント  >  セキュリティプラザ  >  セキュアプログラミング