ラベル セキュリティ の投稿を表示しています。 すべての投稿を表示
ラベル セキュリティ の投稿を表示しています。 すべての投稿を表示

2010年9月16日木曜日

httpsを使わずに暗号化通信 with aSSL

「個人情報やり取りするのに平文通信は危ないよね。」という、並のセキュリティ意識は付いてきた夏の日。
でも、httpsプロトコル使うと、SSLサーバ証明書の確認とかでユーザ(クライアント)を煩わせちゃいますよね。特に個人で運営しているWebサーバの場合。

でも、よく考えると暗号化通信にSSLサーバ証明書は必要ないはず。
「証明書がなければ暗号化通信してもそのサーバは信用できない」などとよく聞きますが、これはあくまで一部のユーザの言い分です。
Webサーバを構築する側からしたら、「自分のサーバへ通信しているユーザの個人情報は絶対に盗聴されたくない」というような要望もあっておかしくないはず。

そんな風に考えたので、Web素人の僕はTwitterでフォロワーのみなさまにお知恵を拝借。
すると30分ほどで有力なお答えが!

aSSLというものが上記の要望をそのものずばり叶えてくれそうです。

こいつの仕組みは、
1. The browser calls the server to start the process.

2. The server returns its RSA modulus and the public exponent.

3. The browser generates a random exchange 128-bit key, encrypts it using the server public key and passes the encrypted exchange key to the server.

4. The server receives this encrypted 128-bit exchange key, decrypts it with its private key and, if the result is ok, returns the session duration time.

5. The browser receives the session duration time and sets a timeout to maintain alive the connection.
だそうです。

かるーく和訳すると、
  1. サーバがクライアントに公開鍵(A)を渡す
  2. クライアントが個人情報などを共有鍵(B)で暗号化し、共有鍵(B)と共にサーバに送信。この際共有鍵(B)は公開鍵(A)で暗号化
  3. サーバは受け取った共有鍵(B)を、公開鍵(A)のペアの秘密鍵(A')で復号化。復号化された共有鍵で個人情報を復号化する
って感じですかね。
まだ使ってないのでなんとも言えませんが。

今度作る予定のWebアプリでは、勉強がてらセキュリティにこだわってみたいと思います。
aSSLは絶対取り入れたいですね。

関係ないけど、AES 128-bit にはインターンで作ったネタアプリでお世話になりましたw

2010年9月14日火曜日

セキュリティ&プログラミングキャンプ2010 Linux組の様子が記事になりました

そろそろうだるような暑さもおさまってきそうですね。

そんな折り、猛暑真っ最中に開催されたセキュリティ&プログラミングキャンプ2010のLinux組の様子が@ITで記事になりました。

Linux組に参加したのはもう1ヶ月前のことになりますが、未だに他の参加者の人達とも仲良くさせてもらってたりします。
この間セキュリティ組の友人宅に軽い気持ちでお邪魔したら、インターネットの深遠な世界を知ることになりました。
攻撃者目線で僕のサーバをチェックしてくれたりね。あくまで目線です。法的には全く問題ありません。

でもおかげさまで、今まで興味のなかった(Webの)セキュリティにかなり興味が持てるようになりました。

現在Webアプリをこっそり作ってたりするので、セキュリティもしっかり考慮してつくろうと思います。

そんなときに役立つサイトを見つけました。

IPA セキュア・プログラミング講座

さすがIPAと言いましょうか、眼から鱗です。

考え得る攻撃の仕組み、それに対する対処法がしっかり載ってます。
もちろん扱っている攻撃は有名なものが多いですが、ここまでしっかりまとめていてくれると初学者にとっては非常にありがたいです。

また夏休みの楽しみが増えましたね。やっほー