2011/09/04

[felica]個別化カード鍵のアルゴリズムはなんでもいい

FeliCa Liteのドキュメントに、個別化カード鍵の標準生成アルゴリズムに関するものがある。
ほうほう、と実装して動かしてみてわかった。

これはあくまで「標準」なので、なんでもいいのだ。

 

そもそもなんでこういう資料があるかというと、FeliCa Liteのカード鍵を全発行カードで一緒にしてしまうと、1枚で総当たりしてカード鍵がわかってしまうと、それを使ってカードを自作するとカード運用者は偽造したものとの区別がつかなくなってしまう。

なので「カードごとにカード鍵を変えてください」とアナウンスしている。
それはわかるのだが、カードごとに鍵を変えるというのはなかなか管理が大変である。
IDmは発行カードごとに違ったとしても、運用側がそのカード番号をすべて管理するのは面倒。
そういった番号は管理せず、カードだけでなんとかしてしまえるところに利点があるのだと思う。

 

そこで、個別化マスター鍵というものを用意し、それとカードごとにIDブロック情報からカード鍵を作成しましょう、というのが個別化カード鍵である。
管理者側は、個別化マスター鍵だけ管理しておけばいい(鍵バージョンもあるけど)。
IDブロック情報はカードごとに異なるので、個別化マスター鍵から作られる個別化カード鍵はほぼ一意に決めることができる。
その決めるアルゴリズムが提供されているのである。

 

なので、別にこのアルゴリズムでなくても、カードごとに持っている情報で一意に定まる個別カード鍵が生成できさえすれば何でもいいということになる。

そういうことが、実装してみて、動作確認をしようと考えたときにわかった。
IDが異なれば個別カード鍵も異なることはわかったし、同じIDに対しては同じ個別カード鍵を生成することはわかったけど、それ以上の確認方法が思いつかないのだな。。。

0 件のコメント:

コメントを投稿

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