FeliCa 発行コマンド(解析中断中)


ベールに包まれたFeliCa 発行コマンドが遂に白日の下に!?

~あらすじ~

二ヶ月かけた通信鍵の解析に失敗しました。

PMi がオールゼロという前提が違ったようです。

まずはこのカードの PMi を求めてからやるべきでした。

面倒くさいのでコマンドシークエンスを公開します。

あらすじ終わり

以下のコマンドシークエンスはおサイフケータイジャケット01とかいう骨董品にかざすフォルダとかいう天然記念物を発行したときのBLE通信を整形したものです。

前半が発行で、後半が書込のようです。

前回 の Edy は PMi がオールゼロだったのでそういうもんかと思いましたが違ったようです。

最後の Write レスポンスの既知平文から後半の通信鍵を求め IDi や PMi を得てから発行コマンドの鍵を解析する必要がありそうです。

create_kazasu_pretty.txt

(14) <01> [IDm] 01138b428fbecbff fe00

(0a) <22> [IDm]
(1a) <23> [IDm] 00010000413030313030313030312d30

(0d) <02> [IDm] 01 cb74 00
(0d) <03> [IDm] 01 ffff

(12) <06> [IDm] 01 cb74 02 8000 8001
(0c) <07> [IDm] 01 a6

(06) <00> fe00 01 00
(14) <01> [IDm] 01138b428fbecbff fe00

(0a) <22> [IDm]
(1a) <23> [IDm] 00010000413030313030313030312d30

(06) <00> fe00 01 00
(14) <01> [IDm] 01138b428fbecbff fe00

(12) <20> [IDm] 0000000001010000
(0c) <21> [IDm] 0000

(3f) <02> [IDm] 0d ffffffff 00000000 c0740000 c1740000c8740000ca740000cb740000087500000a7500000b750000487500004975000089750000
(25) <03> [IDm] 0d 0000 0000 ffff ffffffffffffffffffffffffffffffffffffffff

(04) <2e> 0000
(03) <2f> 01

(04) <70> 0000
(0a) <71> [IDm]

(0a) <22> [IDm]
(1a) <23> [IDm] 00010000413030313030313030312d30

(0f) <0e> [IDm] 01 00000000
(0d) <0f> [IDm] 01 ad03

(0a) <0c> [IDm]
(0f) <0d> [IDm] 02 fe00 fe0f

(11) <cc02> [IDm] c07400010000
(0d) <cd02> [IDm] ffa6

(1c) <10> [IDm] 01 00000000 01 00000000 b601d13b815fbfb0
(1a) <11> [IDm] fe9a338cbf656fbf fdf8528827fda507

(12) <12> [IDm] 66d0152ad897b6cc
(22) <13> 4a831433f445ee3b c1d8b80c8c8f56df 144b5a28d17fefe7 0d1ca50b2d6b78c4

(42) <82> d4d4ba0f24fbb114bb543ad1497539b974d47f0db41076f5b54e92147be864a1cd1dbb3a9f372cb014323ed2641c814ecae7b60272e295d03e8e834a5d8e152c
(1a) <83> b9c6805d686de7772d9b5d6f85df2567b3c16fc0495cc701

(42) <82> 7c5af2022fa00e41d566d8addefe2d55ac4874b7d2aeb85e6b9c214fc7b07b4184b6b035d98f217ce06281d98025faa1e57ad4ddcb1ef1ab3d7302cd2aee0745
(1a) <83> 079bc85057b2801a015b788d0f3f02f9ff92302956a06c55

(42) <84> 8dac64640b332cf0e801746ec258a102f60a331992d5798e68473863922ba1f730b05e6d2cf4743abf6de2bcb8c5d3b7763a969410d4f645821ae63bed4541a3
(1a) <85> 723a5c60c5756ded53e03fd13f251baa6ecf837f6d1ca183

(42) <84> ac53f76d0d17a1eee4c5a2fd49c349413c45d2d8a16f0918575e6445f90ec5d4e7e65aeae662964e07008fb0e1a0c3f0f459139652c94dd12009a4bdff012428
(1a) <85> 35a3dea829eef454ad144a90490910bd3be67e43338bc2f9

(42) <84> 0aee35be429cc8191d3319e2e5457aa888d1fef062376c3197738591a6a349e2fcf0885ed65484d8252826dcb35a9175e5c00178b7c2004a82c2fd6b97f9eec2
(1a) <85> 8ede8c7fca93db46bb441ba97d7f74fe025fdabe6dfeef80

(42) <84> 30208e8cb9794bbb22f3a17f9edc1059fc8b08051e1c065b531bd8c6aef33ef48e7aa9616ffea29304ef1f2e63c55bdd088a745af6b374d3f7be5605a234932b
(1a) <85> b815999bbb9b436def77e2fd25f2ac3720dcc327f1a03982

(42) <84> 18fdf234e96319c433913684db819c8443217f940714ff662f94e3f1ef19ae74b2e04a383418405a081b38ab32c6209a9af051c9bf9e53a819b12515c43dd411
(1a) <85> ede3dd0c5b6430ae961dd46e929dbfd49df1bc40bd9472ef

(42) <84> ba7678a469234d0b2266cc3bd7eb8a10bbe0f666d03adcef9fbafcc86bd8124ada679090f4d7bdc01310a9e0a7a4c2634834c2da547f2b887d4f38566e4853b6
(1a) <85> 57e4c7f35c5cefbe8d2742af5788c4bb62724e2bbe297f3a

(42) <84> c60e9e61d04c34f46597b0d5097f50028339811021f85bb5b502713b5a78ab140877f0ee7ed13d6675ef71859ae723f4674ec503d920f2efb8ff5c6a1c5d1ca8
(1a) <85> 2a8d4b2e7be9c67b6f2f8639d9d4facf03cd88802c224ef0

(42) <84> 4565710da7b9611285cc5b567c2561c63a4606587b3fbf881117f8f7fc30ae18a668522050e650dd9ff2bfae750753eaf549b593c6a7140c23c0dc8fd031ad59
(1a) <85> 634876cbc712a35641fda6fd8953a327527b51b4bda0cffb

(42) <84> 4bbb252d595d002facc5cceba9b0edd23df2d1c7233407b6aae85484a0878a786a8f8fa42e65e27cc368978fdddbdc4a0dfcfdaa0d47c770f9638b95ee12f956
(1a) <85> 4e41b3c8be0fa2f21e23544ff31e8a9ef146e2f6f48906d1

(12) <8e> a253875558e49cb1957331901dbfe119
(1a) <8f> c1ede039c410bc1426424ba521808a8a45d939f27b547db4

(3f) <02> [IDm] 0d ffffffff 00000000 c0740000 c1740000c8740000ca740000cb740000087500000a7500000b750000487500004975000089750000
(25) <03> [IDm] 0d 0000 0000 0000 0000 0100 01000100010001000100010001000100

(24) <10> [IDm] 03 00000000 c0740000 c1740000 01 c8740000 2ec655ddf440a34c
(1a) <11> [IDm] c4401e0514fa8e01 2cd603cbcdc289f5

(12) <12> [IDm] 6910cbaf079d313e
(22) <13> f40f5d17b5d12f9737d18f4453f72ff070013fb5658342b98e28b5f79fa5b933

(3a) <16> 1cf7e36da0adb330e3d07a54b7769ec79bc5c1cff4c8d17e3a71f8a48b02c7368d6255fcd4bdb852b48be14188ee354515104e139b884dde
(1a) <17> 25648a88bf189cab7a259a719350786943b107e0bd3c10dc

Write レスポンスの平文は成功すれば 00 00 000000000000 となることが分かっているので、CBCモードということも合わせて平文:暗号文= 25648a88bf189cab:7a259a7193507869 から後半の通信鍵が解析できます。

そうすれば後半の Authentication2 レスポンスから IDi や PMi が判明するので、それらが前半のものと同じであると仮定すれば発行コマンドの通信鍵と平文を得ることができます。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です