Masheryでは、次のようにデジタル署名による認証が可能です。
- まず、次のコンポーネントを連結します。
- APIキー
- 共有秘密
- UNIXタイムスタンプ
- 次に、連結された文字列のMD5ハッシュを作成します。
ドキュメントには、UNIXタイムスタンプに必要な精度は+/-5分のみであると記載されています。詳細:http ://support.mashery.com/docs/read/mashery_api/20/Authentication 。
これが企業秘密ではないと仮定すると、このような認証を実行するためのアルゴリズムは何ですか?
具体的には、UNIXタイムスタンプが5分変動する可能性がある場合、どうすればよいでしょうか。「ブルートフォース」手法は、一致する(または一致しない)ものが見つかるまで、考えられるすべてのタイムスタンプ値の署名を計算することですが、頻繁なAPI呼び出しを認証するには実用的ではないようです。