XMPP認証フローの読み物です。このようなアルゴリズムを使用してクライアントで応答が計算されることを理解しました。XMPP DIGEST-md5応答を計算するアルゴリズム
- "username:realm:password"という形式の文字列を作成します。この文字列Xを呼び出します。
- Xの16オクテットMD5ハッシュを計算します。結果Yと呼んでください。
- "Y:nonce:cnonce:authzid"という形式の文字列を作成します。この文字列A1を呼び出します。
- "AUTHENTICATE:digest-uri"という形式の文字列を作成します。この文字列A2を呼び出します。
- A1の32桁の16進数のMD5ハッシュを計算します。結果HA1を呼び出します。
- A2の32進数のMD5ハッシュを計算します。結果HA2を呼び出します。
- "HA1:nonce:nc:cnonce:qop:HA2"という形式の文字列を作成します。この文字列KDを呼び出します。
- KDの32進数のMD5ハッシュを計算します。結果をZと呼びます。
これは構造内のレスポンスフィールドに埋め込まれています。
デコードされたチャレンジレスポンスの例は
username="rob",realm="cataclysm.cx",nonce="OA6MG9tEQGm2hh",cnonce="OA6MHXh6VqTrRk",nc=00000001,qop=auth,digesturi="xmpp/cataclysm.cx",response=d388dad90d4bbd760a152321f2143af7,charset=utf-8,authzid="[email protected]/myResource"
あるしかし、私の懸念は、私は、その特定の応答フィールドは、サーバー上でどのように使われるかどこでも見られたhaventされますか?実際にこれを使用するユースケースはありますか?誰かが参考文献/洞察/実装を引用して回答フィールドがどのように使われているのか、それが実際にユーザーの真正性を判断する役割を果たすのか
ありがとうございます!