2011-08-17 11 views
2

私は現在、暗号化されていないデータをTCP経由でクライアント(多くの異なる言語でプログラムされた多数の異なるアプリケーション)に渡すサーバーアプリケーション(C言語でプログラムされている)に暗号を追加しようとしています。カスタムアプリケーションの暗号化

これを行うにはどのような方法が最適ですか?公開鍵暗号法?もしそうなら、プロセスはどのように行なわれますか?

ありがとうございます!

答えて

0

OpenSSLは私のニーズに合っています!ドキュメントとチュートリアルのクイックビューで正しい方向に私を指摘しました。

3

あなたが質問しなければならない場合は、おそらく暗号化作業を行う資格がありません。システム全体のセキュリティを破壊する暗号処理において微妙な間違いをするのは簡単ではなく、他のほとんどのバグとは異なり、誰かがあなたのシステムを破壊するまでは明らかではありません。

SSL(別名TLS)を使用してください。 SSL/TLSの仕様とライブラリを設計している人々は、すでにあなたのためにすべての努力をしています。

+1

特に「多数の異なる言語でプログラムされた多数の異なるアプリケーション」がある場合。 TLSは非常に広くサポートされています。 – Thilo

+1

私が資格を持っているかどうか(私が認めていない)は、仕事をする必要があるので問題ではなく、私はそれを行う人です。だから、私は始めるための最善の方法を考えている。 –

+0

また、他のアプリケーションではまだ暗号化をサポートしていません。私が制御できるのはサーバーだけなので、他のクライアントがこのサポートを追加できるように、最も柔軟で柔軟な方法を探しています。 –

0

SSL:暗号化されたデータを開始および送信するセキュアソケットレイヤー。

TLS:トランスポート層のセキュリティは、開始を要求し、それに対する応答は機能のリストであり、送信は相互に受け入れられた最高の暗号化を使用して継続できます。

注:機能にはクリアテキストが含まれる場合があります。

たとえば、smtp starttls(rfc 2487)の例を見て、TLSをサポートするために既存のプロトコルを拡張する方法をお読みになることをお勧めします。あなたの投資した時間は報われるでしょう。