サーバーアプリとして動作することたとえばリモートパソコンの指定パスの2GBのファイルをStreamを介して無線LAN経由で6分ほどで取得するアプリなどこうした通信技術を保持するプログラムを簡単に実現する能力を持っています。HTTPSなどが選べることを知っているはずです。(知らない人はこの先を読み進めても理解できません。)今回はその複数エンドポイントの設定と、各種バインドで正常動作すること。簡単なパフォーマンスの比較を行って、それぞれの使い分けのポイントを押さえたいと思います。Infrastracture)今までは暗号化も認証もしないで、ただアクセスしてきた相手へ情報を渡していました。確立された基盤技術を用いたセキュリティ設定が求められます。(明示的にセキュリティを切ることは可能です。)もし、自宅の環境にてWindows認証機構を導入されているユーザーの方は、設定をWindowsにするだけで良いのですが私の自宅環境では、そのような認証機構は構築していません。セキュリティというものを正しく理解し、私と同程度の初心者が設定できるようになるくらいの情報を羅列します。興味ありましたら、お付き合いください。通信の脅威は次の四つ、盗聴、なりすまし、改ざん、否認拒否(犯人だが嘘をつく)です。メッセージ認証(電子署名)、電子署名が確立されました。鍵は通信内容からは特定できない仕組みとなっており、本人が公開しない限りは外部には漏れません。これにより情報は鍵を持つ者にしか渡らないという認識に至ります。鍵方式は大きく分けて2通り、共通鍵方式と公開・秘密鍵方式があります。暗号化と複合化に同じ鍵を使うか、それぞれ別の鍵を使うかの違いです。前者の場合、共通鍵を相手と自分だけが使えるように秘密にしなければなりません。後者は暗号化用の鍵を公開できるので、秘密にするのは自分が持つ複合化用の鍵だけです。比較して高速なのが前者、取り回しが良いのが後者です。7万台のPCで22時間かけて解けるようになったので2001年に別の新方式を募集して、主流アルゴリズムが切り替わりました。複数アルゴリズムから選べるようです。ついては次のページを参考に理解しました。簡単に説明すると公開鍵で平文(数値)を累乗して、共通の分母で割った時の余り(暗号化後の数値)を相手に送り受け取り側は秘密鍵でその数値を累乗して、共通の分母で割ると、余りが元の数値に戻るというもの。256桁になると現在の計算機パワーでは何100個のPCで数年間解読プログラムを回してもなかなか解けません。した暗号技術に信頼をおいて、私達はとても大事なIDとパスワードを暗号化した形で公開しています。計算例を見て気づいたと思いますが、秘密鍵方式で暗号化・復号化を行っていると計算負荷が高くなり、パフォーマンスが出ません。パフォーマンス面では共通鍵方式が勝っているので最初に公開鍵方式で共通鍵を交換して、以降共通鍵方式で通信し合えば第三者が覗いても内容を知られずに済み、かつ高速に情報をやり取りできるようになります。ハイブリッド方式と呼ばれています。それでは具体的に私達が設定する項目を見ていきましょう。net.tcpバインディングファイルの通信を行なうプログラムのバインドの部分をbasicHTTPからnetTCPに切り替えます。マルチバインディングというものを設定してみたいと思います。マルチバインディング...と言うかわかりませんが、エンドポイントを複数持つサービスを用意してクライアントから片側のエンドポイントを使用して通信してみます。以下成功時の設定ファイルです。レベルのセキュリティが有効になっています。して、平文通信にして通信を成功させてみてください。はい、確認したいことが一つ片付きました。セキュリティを有効にして暗号化した情報をやりとりしてみたいと思います。これは広く使用されている資格情報です。技術でいう所の公開鍵が入っています。暗号化が行え高速な上に、ストリーミングが行えるという利点もあります。暗号化のため中継局にて内容が筒抜けになってしまうわけで安全とは言えません。中継局にも秘密にしたまま通信を行える、メッセージセキュリティを選択したいところですが低速かつ、ストリーミング通信が行えないという点で選択できないケースがあったりします。いうわけで、まず証明書を利用したTransportセキュリティを実現して動作確認までしてみたいと思います。現在平文通信しているnet.tcp通信の設定をセキュリティが働くように編集してみましょう。これだけでは認証に成功しません。(Windows認証機構が働いていれば成功します。)次に証明書を利用するので証明書利用であることを設定します。]]>そして、どこに証明書があるか指定します。