2014/06/21

[felica]相互認証(2) - 外部認証

さっき気付いたが、FeliCa Lite-Sのドキュメントが新しくなっていた。
といっても、2012年のことだから、ずいぶん前のことではあるが。。。
更新通知来てたかなぁ。
せめて、せめて改訂した内容が書かれていればいいのに・・・。

ただ、新しいドキュメントは評価しよう!
というのも、PDFのデフォルトが変更になったからだ。
スターターマニュアルなんかは今もそうなんだけど、しおりでジャンプするとドキュメント全体が収まるような倍率に変更されてしまう。それがかなりストレスになっていたのだ。
おそらく設定が「自動」か何かになったのかな。

それはともかく。
FeliCa Lite-Sの最大の売りとも思われる相互認証。
その中心は、外部認証にある。
内部認証によってR/Wがカードを認証した後で、カード側にR/Wを認証してもらう感じだ。
必要条件と、十分条件のそれぞれを満たすから、必要十分条件になる、というイメージだと思う。


外部認証

資料から読み取ったシーケンスを以下に置くが、ドキュメントが足りてない気がする。
とりあえず、スターターマニュアルの相互認証で、10番と11番がドキュメントになっていない。

そのせいかどうかわからないが、相互認証に失敗した場合の記述が見つけられていない。
それでもあえて、あえてそこから読み取った姿を見せよう。

image

外部認証の部分は、わずかだ。
MAC_A(Write)の計算をして、書き込むだけ。
その結果は、たぶんSTATEレジスタに反映されるのだろうけど、先に書き込むのがこちらなので、もしかしたらWrite without Encryptionが失敗するのかもしれない。
そういう情報が不足しているのだな。


もし、STATE[0]が0x01にならないのであれば、この後にSTATEレジスタを確認するという作業がいる。
もしSTATEレジスタへの書き込み自体が失敗するのであれば、このシーケンスで良い。

というわけで、後者じゃないのかと思うんだけど、どうだろうね。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。