Android アプリケーションからいくつかの Web サービスを (満足して) 使用しています。
https を使用しています (SSL 証明書を購入しました)。
Web サービスの URL を知っている他人からの不要なアクセスを防止したい。
アプリが Web サービス メソッドに提供する必要がある "秘密鍵" を使用していますが、コード内の定数変数に格納されており、これがセキュリティを確保するための最善の解決策ではないことはわかっています。
Android Web サービス呼び出し (ksoap を使用):
try {
SoapObject request = new SoapObject(configuration.getNamespace(), methodName);
request.addProperty("securityKey", SECURITY_KEY);
C# Web サービス
[WebMethod]
public string UserRegistraion(string securityKey, string data)
{
if (securityKey != Environment.SecurityKey)
{
return "WRONG_KEY";
}
決定的な解決策を達成するための最良の方法は何ですか?
編集:
誰かが示唆したように、 security.stackexchange.comでも同じ質問をしました。
https://security.stackexchange.com/questions/30850/web-services-how-prevent-illegal-accesses