0

メールと SMS を送信するアプリケーションを C# で作成しました (API 経由の SMS)。それは完全に機能しますが、私の懸念は、誰かが私のアプリケーションを逆コンパイルすることです。このアプリケーションには、送信メール アカウントと API の両方への資格情報があります。API は

private void sendSMS(String username, String password, String destination, String body, String sender)
{
    String browserURL = "http://api.messagebird.com/api/sms?username=" 
        + username + "&password=" + password + "&destination=" 
        + destination + "&body=" + body + "&sender=" + sender;
    _w.Navigate(browserURL);
}

「ハッカー」は逆コンパイルするか、wireshark を使用するだけで、好きなように SMS を送信できますが、アプリケーションは、自宅でのセキュリティ違反などの特別なイベントで SMS を送信するように設計されています。また、ハッカーが電子メールのパスワードを変更できるようにしたくないので、他のユーザーが電子メールを取得できなくなります。
どうすればこれを防ぐことができますか?

このコードは、顧客自身のコンピューター/サーバーで実行され、たとえばモーション検出があった場合に顧客に警告するように設計されています。

皆さんの回答に感謝します。私は、セキュリティ違反を避けるために、顧客がメールおよび SMS サービスの資格情報を自分で入力できるようにすることにしました。

4

3 に答える 3

5

コードにシークレットを入れないでください。それらをディスク上の暗号化された安全な場所に置き、必要に応じて読み取ります。

難読化とはまさにその言葉のとおりです。保護するのではなく、隠すのです。

また、暗号化されていない資格情報をインターネット経由で送信しないでください。

于 2013-11-15T11:04:59.833 に答える
1

使用を検討してくださいSystem.Security.Cryptography.ProtectedData

このクラスは、Microsoft Windows 2000 以降のオペレーティング システムで使用可能なデータ保護 API (DPAPI) へのアクセスを提供します。これは、オペレーティング システムによって提供されるサービスであり、追加のライブラリは必要ありません。ユーザーまたはマシンの資格情報を使用してデータを暗号化または復号化する保護を提供します。

このクラスは、アンマネージ DPAPI の Protect と Unprotect の 2 つのラッパーで構成されます。これら 2 つの方法を使用して、パスワード、キー、接続文字列などのデータを暗号化および暗号化解除できます。

http://msdn.microsoft.com/en-us/library/system.security.cryptography.protecteddata.aspx

于 2013-11-15T11:07:48.370 に答える