ユーザーが ASMX Web サービス経由でトランザクション ログをメイン サーバーにアップロードしているシナリオがあります。アプリケーションはclickonce .Net winformsアプリです
現在、オブジェクトのリストをJsonに変換し、サービスで逆シリアル化するためにこれを行っています。SSL経由。
string data = JsonConvert.SerializeObject(Values_Static.logitems);
私のコードは SmartAssembly によって保護されています。それでも、攻撃者がネットワーク接続にアクセスでき、データを逆シリアル化できるという違反が発生しています。
今、Json 文字列を秘密文字列キーで暗号化し、サーバー上で復号化するシナリオを考えています。
例えば
private string salt = "$e7?8f@l4";
return ByteArrToString(Encrypt(TextValue + salt));
アプリでキーをハードコーディングし、サーバーでデコードします。
それは動作しますか?ユーザーは毎分ログをサーバーにアップロードしており、アップロードごとに 20 ~ 30 のエントリがある可能性があります。壊れたデータやハッキングの可能性はありますか?
更新: 以下の議論によると。コードに問題があることを理解しています。コードは無効な証明書を受け入れています。https://Webサービスから有効な証明書のみを受け入れることを防ぐ方法. ATM では、復号化 HTTPS をオンにして、誰もがフィドラーを介してコードを見ることができます。
IIS 7 に有効な証明書がインストールされています。問題はコードにあります。および Visual Studio での標準の自動生成された Web 参照。
更新 2: 最終結果は、Post データは暗号化されておらず、プレーンな XML であり、盗聴できる任意のソフトウェアで読み取り可能ですが、GET データは安全です。有効な回答が見つからないビットを検索しました。