質問: 自分のWindowsサービスと安全に通信する方法 私は `.NETアプリケーション`と `.NET Windowsサービス`を持っています。この2つの間に**安全な通信チャネル**を確立するにはどうすればよいですか? インターネット上のほとんどの人々は、名前付きパイプを参照してください。しかし、これはシステムに大きなセキュリティ上の問題を引き起こす可能性があります。私のアプリケーションをリバース・エンジニアリングする人がいる場合、彼はパイプ名とプロトコルを知っているので、彼は私のサービスに接続して、何でもしたいと思う。 **Example:** My client installs my application and gives it full privileges to install the service. Then he downloads some other software and **does not** give it full privileges. But that software finds my service and exploits it, using the pipe name and reverse engineered protocol.どのように安全な通信チャネルを設計するのですか?サービスが何らかの形でそのパイプに接続されたプログラムにアクセスできるようになります(サービスが安全な場所にインストールされていれば、そのハッシュを比較できるようになります)。または、別の IPC を使用することはできますか?マイクロソフトは、このセキュリティホールに対する自分のサービスをどのようにして保護しますか?
回答: 名前付きパイプのセキュリティ記述子を設定するだけで、クライアント側のコードだけがアクセスできるようにするだけです。 詳細はこちら: http://msdn.microsoft.com/en-us/ us/library/windows/desktop/aa365600%28v = vs.85%29.aspx