Security Casual Talks 2014#2(すみだセキュリティ勉強会)に参加してきました

Security Casual Talks 2014#2(すみだセキュリティ勉強会)に参加してきました

Security Casual Talks 2014#2(すみだセキュリティ勉強会)に参加してきました。

勉強会参加者のツイートは、ハッシュタグ#sumida_secにて参照できます。

以下は勉強会のメモです。私が間違って理解したままメモを書いている箇所もあるかと思いますので、その点にご留意ください。 また、カッコ書きした項目は私の感想・意見となっています。

無線LANデンパゆんゆん観察

CRYPT+YOU,UNDERSTAND TODAY!

  • 発表者は@inaz2さん
  • 資料は以下のURLで公開されています

  • 代表的な現代暗号(RSA,AES,RC4あたり)について、アルゴリズムや使い方も交えた簡単な紹介

  • 換字式暗号
    • 文字、ブロック単位でずらす暗号で、古典暗号のひとつ
      • 「いくつずらしたか」が暗号鍵になる
    • (古典暗号、現代暗号という区分が存在するみたいです)
    • 換字式暗号の例としてはシーザー暗号がある
    • NSAの採用担当者のツイートを例にした換字式暗号の解読デモ
  • xorスクランブルの復元
    • (写真フイルムのネガポジ変換みたいなイメージ、反転→反転で元のデータに戻る)
  • RC4(Rivest Cipher 4)
    • 共通鍵暗号方式のうち、ストリーム暗号と呼ばれるもの
    • 鍵から特定のアルゴリズムに従って擬似乱数を作り、1byteずつのXORで暗号化・復号化する
    • RC4のバイアス問題
      • RC4が生成する擬似乱数列はあまりよろしくなく、2byte目が「0」になる確率はほかの値の2倍になっている
      • (これは実際に自分の手で試してみたい)
  • AES(Advanced Encryption Standard)
    • 共通鍵暗号方式のうち、ブロック暗号と呼ばれるもの
    • 入力は128bit固定で、鍵長は126,192,256bitから選択する
    • 128bitじゃない平分の時は、128bitのブロック毎に処理する。
      • 128bitの倍数にならない場合、不足分はパディングする
      • このブロックの処理方法を「暗号利用モード」と呼ぶ
      • 暗号利用モードのひとつにECB(Electronic Codebook)モードがある
        • 常に同じ暗号化結果が得られる→同じ平分のブロックが同じ結果になる、という欠点がある
        • AESに限らず、ブロック暗号でECBは利用せず、CBC(Cipher Block Chaining)等の他のモードを使う方がよい
          • CBCモード
            • 一つ前の暗号分を事前にXORで混ぜる
            • 最初のブロックはランダムな初期化ベクトル(IV)を混ぜる
  • RSA
$ openssl genrsa 192 | openssl rsa -modulus
...
Modulus=AAAA
$ msieve -e -v AAA
  • 実際に鍵長を指定するときは、2048bitよりも大きい長さを用いるほうがよい
  • RSAによる暗号化・復号化は処理(計算)が重いので、主に鍵共有、デジタル署名に使われる(「ハイブリッド暗号方式」と呼ばれる)

  • DH(Diffee-Hellman key exchange)鍵交換

    • RSAでAESの共有鍵を共有→データ通信という場面で、誰かが通信データ(AESで暗号化されたデータ)を全部集めており、かつRSA秘密鍵が盗まれてしまったら?
      • 鍵共有時のデータが復号化できるため、共通鍵がバレる→これまでのデータが全て復号化されてしまう可能性がある
    • DH鍵交換を用いると、共有鍵のデータを送受信せずとも鍵を共有できる
      • (なので、RSA秘密鍵が盗まれたとしても、送受信されていない共有鍵はバレない→データの復号化は不可能、という理解でよいのかな?)
    • DH鍵交換じたいは正確に言うと暗号ではなく、鍵共有プロトコルと呼ばれるもののひとつ
    • 特にセッション毎に鍵を換える場合DHE(Ephemeral)と呼ぶ。また、この鍵管理の概念を"PERFECT FORWARD SECURECY"と呼ぶ。
  • TSL/SSL暗号化スイートの読み方

    • TSL/SSLで使用する暗号の組み合わせを「暗号化スイート」と呼ぶ
    • 例として暗号化スイートが"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"の場合、以下の意味になる
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
鍵共有                 → ECDHE
通信相手の認証         → RSA
データそのものの暗号化 → AES_128_CBC
メッセージの改竄見地   → SHA1

Metasploitでペネトレーションテスト

まとめ

Security Casual Talks 2014#2(すみだセキュリティ勉強会)のメモをまとめてみました。正直、スライドが公開されているのでメモをまとめる必要性は低いと思っていました。しかし、自分の理解をメモにまとめるのだと考えると、スライドを見返したりする必要があり、なかなか勉強になります。

暗号の話は学生時代に習った内容の復習的なところが多いものの、すっかり忘れていたりする項目もありました。今回の勉強会を元に知識をキャッチアップできればと思います。