Hobby::.NETの最近のブログ記事

前の10件 1  2  3  4  5  6  7

http://internet.watch.impress.co.jp/docs/column/jirei/20100714_380352.html
↑この事例とそのあとの話の繋がりは少しおかしい。

無線LANの暗号化は、アクセスポイント-無線機器の間で行われるもので、通信経路全体を暗号化しているわけではない。
だから、WEPだろうがWPA/WPA2だろうが、アクセスポイントまで到達できてしまった通信は、それより先では無防備になる。
WEP解読云々は別の話である。
APで受け取ったパケットを解析すれば、無線LANの暗号化なんて、関係ないのだから。
#だからといって、無線LAN暗号化が不要だとか、知らないAPを使っていいというわけではないので、注意。

記事の事例に限れば最も重要な解は、記事の最後の方にあるメールのSSL暗号化だ。

通信中の情報保護をするのなら、通信経路全体を暗号化する必要がある。
通信経路全体を暗号化するのならば、やはり、クライアントからサーバーまでEnd-to-Endの暗号化が保障されたほうがいい。
SSL暗号化はその一つの解で一般的だと思う。

古いクライアントアプリケーションだと、SSL暗号化通信に対応できてないものもあるので、そういう場合は、OverSsl *を使えばいいのにって話になる。
#iOSには対応しておりませんが。

ただ、メールの場合、暗号化されたところで、所詮メールサーバーまで。
そこから先の転送(目的のアドレスのメールボックスを保有しているサーバーへの通信)が暗号化されていないと意味は薄れるわけだが。

なんか、できそうだったので、やってみた。
元ソースは過去のC/C++コード

非同期パケットダンプがちょっと固まりやすいけれど、一応できた。
固まるってのは、Rawパケ採取にBackgroundWorker使ってんだけど、激しいProgressChangedによって、Form描画が詰まっちゃってるっぽい。←応急処置入れたので固まりにくくなったと思う。
あと、停止時に例外出るのは仕様。

一応、実行ファイルだけ置いておく。

OverSsl使った場合、ちゃんと暗号化されていることが、視覚的に分かるぞ。

さすがに、XP以降じゃないとダメかも。
要.NET Framework 3.5だし。
IPv6でも動くかも知れないけど、未確認。
#IPv6ヘッダ解析はIPアドレス部分だけ入れてあるつもりだけど。
(追記)実行には管理者権限が必要です。

とりあえず、フルマネージコードでRawパケ採取できることが分かったことは収穫。

ま、PRですし、既出ですが。

まずは、OverSsl Clientをインストールして、↓こんなふうに設定を追加しますよ。

手順書は過去記事に載せてあるけど、やはりCA局を組んで、サーバー証明書を取得するのは手間であろうということで、サーバー証明書のサンプルでござる。
オレオレでござる。

OverSsl Serverで使える。
当然、IISでも使えるけどな。

FQDNは、*.sample.localになってるので、mail.sample.localとか、ftp.sample.localとか、適当な名前でどうぞ。

ルートCA証明書ととペアなので、適切にインストールすれば、そこそこ使える。

ルートCA証明書はローカルコンピュータの信頼されたルート証明機関へインポート。
サーバー証明書はローカルコンピュータの個人へインポート(パスワードはSample)。
ルートCA証明書は利用するすべてのサーバーおよびクライアントへインポート。
サーバー証明書は利用するサーバーへインポート。
#分からなければコメントを。

公的証明機関だと、あらかじめOSに組み込まれていることが多いため、サーバー証明書の設定だけで済むのが利点。
こと暗号化通信に関して言えば、その程度の差しかない。
#認証となると、また別の側面がある。

ページ追加

| コメント(0) | トラックバック(0)

といっても、サポートの方だけど。
OverSsl Server / Client のサポートページを用意してみたんだけど、本当は、使用感なんかを知りたかったりする。
あと、SI(お安くしますよ)可能性について、知りたいのだけど・・・
#証明書って買うと高いけど、小規模なら買わなくても何とかなるんですよ、ホント。

推奨する使用方法は、サーバーマシンとクライアントマシンにそれぞれインストールしてEnd-to-Endの通信暗号化なんだけど、そうじゃなくても、たとえば、サーバーマシンがLinux系だったりする場合には、リバースプロキシっぽくOverSsl Serverを間に挟んで暗号化したりもできる。
#この挟む方法ってのはクライアントマシンでも同様なんだけどさ。

仮に既にSSL暗号化されていたとしても、そこにTCP通信があるのなら、SSL暗号化することができるので、ぜひ使ってみて欲しいんだけど・・・最近は殆どがHTTPSで済んじゃうんだよなぁ・・・
#余談だが、認証だけHTTPSで、認証後がHTTPってのは改ざんに対しての対策になってないと思う。

Vectorに登録したのが公開されたらしい。

16:45現在、ステータスは公開済ながら、URL不明なためアクセスできないのだけど・・・

IPv6にも対応(とはいえ、OS側でサポートしてもらう必要あるけど)だから、いろいろお得。

22:30 URL通知あり。

OverSsl Server ベータ版
OverSsl Client ベータ版

とりあえず、注意すべきは使用期限と動作時間。
ベータ版だから、それぞれ制限をかけてある。
7月末までには正式版にしたいという、予定も含めて。

忘れないようにメモ。

IPv6で正しくアドレス指定しても、Connectでエラーになっていた。

「System.Net.Sockets.SocketException: 要求したプロトコルと互換性がないアドレスを使用しました。」だそうな。

IPv4指定にするとConnectを通過するので、IPv6に起因するものだと、思い至る(までに数時間)。

調べると、コンストラクタの中に、IPv6を使うか、IPv4を使うか決めるものがある。

フンガー!!

引数設定したら、例外発生しなくなり、通信できるようになった。

ムッキー!!

どのアドレスファミリで接続するかをConnectで判断しちゃいけないってことを忘れちゃいけない。

MouseEventArgs.Buttonメモ

| コメント(0) | トラックバック(0)

当然といえば当然なんだけど、MouseEventArgs.Buttonの値って、マウスの左右入れ替えすると、ちゃんと入れ替わってくれるのね。

入れ替わってくれなかったらどうしようって思ってたんだけど、これなら安心。

XBAPで3D

| コメント(0) | トラックバック(0)

旧ブログに置いてある、WPF本から抜き出して迷路データを自動生成にしたやつをXBAP化してみたんだけど・・・・

なんか、フォーカスをうまく受け取れていない。
そのせいか、キー操作もうまくない。

  • うまくフォーカスがあるときはALTキー無しで動く。
  • フォーカスが無いとき、ALT+カーソルキーで動く場合がある。
    #履歴があるとき、ALT+←で履歴バックしちゃう・・・
  • うまく動いても、KeyUpを認識できていないのか、ずるずる動く場合がある。
  • 処理が重いときもある。

酔っ払いを操作しているようで、快適とは言えない。

.NET 3.5 と 4.0で試したけど、どちらも同じ。

protected

| コメント(0) | トラックバック(0)

継承すれば、親クラスのprotectedメンバにもアクセスし放題とばかり思っていた。

この十年余り。

俺もまだまだだな。

こんなC++コードを書くと、「A& GetA(A& org)中のorg.A::GetA()呼び出しって、protectedだからアクセスできないよ~」というコンパイルエラーが出る。

A& GetA(B& org)の方は大丈夫。

なんとなーく、Aのprotectedメンバにサクサクアクセス出来ちゃいそうに思っていたので、自己修正、覚え直し。

C#でも試したけど、同様。

前の10件 1  2  3  4  5  6  7

サイトカウンタ

Total: 211,632 Hits, (Recent24Hours: 0 Hits)
~ Since 2010/01 ~

埋め込みツイッター

取得失敗;;
Now: 2019/01/20 17:58:52 JST

このアーカイブについて

このページには、過去に書かれたブログ記事のうちHobby::.NETカテゴリに属しているものが含まれています。

次のカテゴリはHobby::C++です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

2018年7月

 日   月   火   水   木   金   土 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

埋め込みQRコード