OpenID 2.0の一部実装に脆弱性、その詳細と対策とは – @IT
Nov(OpenID Foundation Japan)さんによる、一部実装の脆弱性についての解説記事です。
この脆弱性は、RPからdirect requestで署名検証(11.4.2.1)を依頼された際、本来ならば「For verifying signatures an OP MUST only use private associations and MUST NOT use associations that have shared keys.」とすべきところを、保存してあるassociationのsharedとprivateの区別をせずに、shared associationをprivate associationとして署名検証を行ってしまい、署名検証成功を返してしまうところに起因します。
つまり、この脆弱性は実装側の問題であって、仕様の問題ではないということです。間違った実装でもそのまま動いてしまうものは結構あって、結構後になってから問題が発覚することはよくありますが、これもその例なのでしょう。
これからOpenID 2.0を実装しようとする人、または既に実装済みの人も念のために確認しておくとよさそうです。