2012/02/26

touchanoteのタグはUltralight Cだった

今週届いたtouchanoteのタグ。
データを見る限りはNDEFだし、アクセスはUltralightっぽい。
SAK(SEL_RES)も0x00だし。

そう思ってType2タグのNDEFデータ解析方法を学んでいたのだが、疑問が出てきた。


Type 2TagドキュメントでいうところのCC(Capability Container)、Mifare UltralightでいうところのOTP(One Time Programmable)。
ここの3byte目が0x12なのだ。

3byte目は、データ部のサイズで、8倍した値がバイト数になる。
ということは、18*8=144byte。
Mifare Ultralightって、全部でも64byte。それよりも大きい。
んん??

 

困ったことに、このOTPはプログラマブルというくらいなので、現在の状態を表しているわけではない。
もし144byteが正しいなら、Internalな部分が16byteなので、あわせて160byte。
中途半端だ・・・が、EEPROMだからビット数だけだよと言われてしまえばわからん。
UltralightCは192byteなので、そっちの方がサイズが近い。
けど、データ部以外が48byteもあるってことになるやん。


touchanoteのホームページから、UltralightCと同じような、という記述を発見。
よく読んだ方がいいな、私は。

UltralightCであることがわかれば、あとは仕様書を探して読めばわかる。
うん、データ構造が多少異なり、データのお尻の方に認証関係のデータがある。
ここが32byte使っている。
残りの16byteは、UIDとかLockとかの4ブロックだ。

これで計算が合った。


そして、最初の目的であったNDEFの調査はできずじまいでありましたとさ。
めでたしめでたし。

 

しかし、どうやってUltralightとUltralightCを見分けたらいいんだろう、と思って検索すると、同じように思った人はやはりいたようだ。

http://www.libnfc.org/community/topic/218/how-to-distinguish-a-mifare-ultralight-c/

ああ、そうなんだね・・・。

0 件のコメント:

コメントを投稿

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

注: コメントを投稿できるのは、このブログのメンバーだけです。