今日の夜はOATH関連でちょっと実験君をしています。

OATH(initiative for Open AuTHentication)は、(私はそれでいいと思うのだけど)とかくプロプライエタリになりがちなワンタイムパスワードトークンのアルゴリズムやインタフェースの標準化を行っている団体です。

HMACを使ったワンタイムパスワードのアルゴリズムが既にRFCになっていたりもします。

これらのワンタイムパスワードは、基本的には共通鍵暗号を使っていて鍵(とイニシャルベクター)をどうやって渡すかが肝なんですが、複数のトークン毎の共通鍵を受け渡しするためのフォーマットがOATHのメンバ企業が主体となってIETF KEYPROV WG (Provisioning of Symmetric Keys)で標準化されようとしており、インターネットドラフトが出ています。

その一つが「Portable Symmetric Key Container (PSKC)」なんだそうです。IETFなんですがフォーマットはXMLになっているという、、、、、

この実装で、ちょっと気になるところがあって、例によって BouncyCastle と Jython で「6. Protection of Keys and Related Data」のところをテストコード書いて試してたりするんですが、MACのところは一致したのだけど、鍵の計算がわからんぞ〜〜〜〜。そもそも、イニシャルベクター(IV)を示してないと例としては不適なのでは???と、悶々としています。

ちょっと今はごにょごにょだし、成果もでるかどうかわからないんですが、報告できそうならそのうちしたいと思います。