1. インターフェイスはキーとユーザー ID の md5 暗號(hào)化を使用します。次に、暗號(hào)化された署名がパラメータとして渡されます (このような単純な暗號(hào)化方法は安全ですか?)。
2. ここで問(wèn)題が発生します。ユーザーのリクエストがキャッチされた場(chǎng)合、他の人もそのリクエストをシミュレートできます。では、リクエストが自分の APP によって発行されたものであることはどのようにしてわかるのでしょうか?
リクエストにアプリ情報(bào)のみが含まれている場(chǎng)合は、他の人もそれをシミュレートできます。
3. インターフェイスはアプリから送信されるため、ユーザーはローカル パッケージを取得することによってのみこの情報(bào)を確認(rèn)できます。現(xiàn)在、ユーザーは他の人からパッケージをリクエストされやすいですか?
Web API の通信セキュリティを保護(hù)するために SSL を使用することを強(qiáng)くお?jiǎng)幛幛筏蓼?。?dú)自に実裝することは悪いことではありませんが、SSL ほど安全ではありません。あなたのアプローチは仲介者によって監(jiān)視され、サインは直接悪用されます。
リクエストをシミュレートできます。相手がアプリを逆コンパイルし、認(rèn)証プロセスを理解している場(chǎng)合は、間違いなくシミュレートできます。
SSL 保護(hù)がない場(chǎng)合、http はクリア テキストで送信されます。この狀況はローカルでのみ監(jiān)視できます。 SSL を使用して通信のセキュリティを保護(hù)すると、仲介者によって通信が監(jiān)視されないようにすることができます。表示されやすいかどうかはアプリの価値によって決まります。
詳細(xì)を?qū)Wぶための主題を推奨します: 中間者監(jiān)視とリプレイ攻撃
キーを取得するための特別なインターフェイスがあり、キーは 2 日間有効です。
すべてのインターフェイスを調(diào)整した後、トークンはキーと対応するパラメーター形式を直接使用して、MD5 暗號(hào)化を?qū)g行します。つまり、パラメータにはキーがありません。
一般的に、パッケージは何度もリクエストされ、パラメーターは変更され、トークンは異なります。
また、鍵を手に入れても、相手がどのように組み立てるかが分からなければ意味がありません。