SlideShare a Scribd company logo
1 of 10
MIFARE Classic の Access Conditions




                        Dec, 22, 2012 hiro99ma
MIFARE Classic とは?
●   NXP 社が作る NFC カードの1つ
●   値段は安い
●   メモリも多い
●   鍵を掛けることができる
メモリ構成
●   1 ブロックは 16byte
●   1 セクタは以下で構成される
     ●   3 つの data block
     ●   1 つの sector trailer
●   sector trailer にメモリアクセス方法を設定

     data block                  16 byte
     data block                  16 byte
     data block                  16 byte
    sector trailer   Key A     Access Bits   Key B
Access Conditions とは?
●   メモリへのアクセス設定のこと
    –   read / write 設定
         ●   read/write block でも value block でもできる
    –   increment / decrement / transfer / restore 設定
         ●   value block のみ
●   ブロックごとに設定できる
●   Access Conditions は sector trailer に書き込む
    –   設定データのことを Access Bits と呼ぶ
    –   sector trailer には鍵 A 、鍵 B というデータも書く
    –   鍵 B は optional らしい
Access Conditions の設定
●   Access Conditions の設定は Access Bits
         data block                16 byte
         data block                16 byte
         data block                16 byte
        sector trailer   Key A   Access Bits   Key B



●   Access Bits は 4byte で、有効なのは 3byte
    ●
        残り 1byte は、ユーザデータ
    ●   チェックサムとか鍵バージョンに使うのか?
●   この設定値を理解するのが難しい
    ●   と、私は思う。
Access Bits の意味 (1)
●
    「状態」は大きく 4 つ
    ●
        鍵 A の認証でアクセスできる
    ●
        鍵 B の認証でアクセスできる
    ●
        鍵 A か鍵 B の認証でアクセスできる
    ●   アクセス不可
●   data block と sector trail で異なる
    ●   data block は、 read/write block と value block
    ●   sector trail は、鍵 A 、鍵 B と Access Bits
Access Bits の意味 (2)
●   data block の場合
    ●
        出荷時は何でもできるように、パターン 0
        –       たぶん transport configuration と呼ばれている

        No.           read         write       increment      other
            0      鍵 A or 鍵 B   鍵 A or 鍵 B   鍵 A or 鍵 B    鍵 A or 鍵 B
            1      鍵 A or 鍵 B      不可           不可         鍵 A or 鍵 B
            2      鍵 A or 鍵 B      不可           不可            不可
            3         鍵B           鍵B           不可            不可
            4      鍵 A or 鍵 B      鍵B           不可            不可
            5         鍵B           不可           不可            不可
            6      鍵 A or 鍵 B      鍵B           鍵B         鍵 A or 鍵 B
            7         不可           不可           不可            不可
Access Bits の意味 (4)
●   sector trail の場合
    ●
        出荷時は、何でもできるようにパターン 1


        No.          鍵A               Access Bits             鍵B
              read        write    read        write   read        write
        0     不可          鍵A        鍵A         不可      鍵A          鍵A
        1     不可          鍵A        鍵A         鍵A      鍵A          鍵A
        2     不可          不可        鍵A         不可      鍵A          不可
        3     不可          鍵B      鍵 A or B     鍵B      不可          鍵B
        4     不可          鍵B      鍵 A or B     不可      不可          鍵B
        5     不可          不可      鍵 A or B     鍵B      不可          不可
        6     不可          不可      鍵 A or B     不可      不可          不可
        7     不可          不可      鍵 A or B     不可      不可          不可
Access Bits の値
●
    パターンが 8 つなので、 3bit
    ●
        その 3bit が 4 ブロック分なので、 12bit
        –   ・・・ではなく、ビット反転などの組み合わせ
●   出荷時
    ●   data block : パターン 0
    ●   sector trailer : パターン 1
        –   この組み合わせが、 FFh, 07h, 80h 、になる
おわりに
●   MIFARE Classic は NFC Forum の規格外だが
        比較的安く手に入りやすい
    ●   その割りには、鍵が使える
●   NFC Forum の規格外だが、 NXP が自前で
    Classic 用の NDEF 設定を考えているので
    Android でもそれが使えるのかも
●
    最近は Broadcom 社の NFC チップが
    増えているので、 Android の libnfc-nxp も
    変わってくるかも
    ●
        ってより、 NCI 対応になって汎用化するのかな

More Related Content

What's hot

“見てわかる” ファイバーチャネルSAN基礎講座(第5弾)~さあ、いよいよ、運用です!~
“見てわかる” ファイバーチャネルSAN基礎講座(第5弾)~さあ、いよいよ、運用です!~“見てわかる” ファイバーチャネルSAN基礎講座(第5弾)~さあ、いよいよ、運用です!~
“見てわかる” ファイバーチャネルSAN基礎講座(第5弾)~さあ、いよいよ、運用です!~
Brocade
 
SDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみるSDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみる
Hirokuma Ueno
 

What's hot (20)

FCスイッチゾーニング設定ガイド
FCスイッチゾーニング設定ガイドFCスイッチゾーニング設定ガイド
FCスイッチゾーニング設定ガイド
 
“見てわかる” ファイバーチャネルSAN基礎講座(第1弾)~まず理解しよう! 基本の “キ”~
“見てわかる” ファイバーチャネルSAN基礎講座(第1弾)~まず理解しよう! 基本の “キ”~“見てわかる” ファイバーチャネルSAN基礎講座(第1弾)~まず理解しよう! 基本の “キ”~
“見てわかる” ファイバーチャネルSAN基礎講座(第1弾)~まず理解しよう! 基本の “キ”~
 
Windows 10 mobileでnfc~suica・edy対応編~(公開用)
Windows 10 mobileでnfc~suica・edy対応編~(公開用)Windows 10 mobileでnfc~suica・edy対応編~(公開用)
Windows 10 mobileでnfc~suica・edy対応編~(公開用)
 
ブロケード FC ファブリックスイッチオペレーション講座(前編)
ブロケード FC ファブリックスイッチオペレーション講座(前編)ブロケード FC ファブリックスイッチオペレーション講座(前編)
ブロケード FC ファブリックスイッチオペレーション講座(前編)
 
ストレージネットワーク基礎講座
ストレージネットワーク基礎講座ストレージネットワーク基礎講座
ストレージネットワーク基礎講座
 
20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)20111015 勉強会 (PCIe / SR-IOV)
20111015 勉強会 (PCIe / SR-IOV)
 
I/O仮想化最前線〜ネットワークI/Oを中心に〜
I/O仮想化最前線〜ネットワークI/Oを中心に〜I/O仮想化最前線〜ネットワークI/Oを中心に〜
I/O仮想化最前線〜ネットワークI/Oを中心に〜
 
Accelerate SDN/NFV Network ~ネットワーク高速化のアレコレ~ - OpenStack最新情報セミナー 2016年3月
Accelerate SDN/NFV Network ~ネットワーク高速化のアレコレ~ - OpenStack最新情報セミナー 2016年3月 Accelerate SDN/NFV Network ~ネットワーク高速化のアレコレ~ - OpenStack最新情報セミナー 2016年3月
Accelerate SDN/NFV Network ~ネットワーク高速化のアレコレ~ - OpenStack最新情報セミナー 2016年3月
 
ブロケード FC ファブリックスイッチ オペレーション講座(後編)
ブロケード FC  ファブリックスイッチ オペレーション講座(後編)ブロケード FC  ファブリックスイッチ オペレーション講座(後編)
ブロケード FC ファブリックスイッチ オペレーション講座(後編)
 
月刊NDEF 2013年8月号
月刊NDEF 2013年8月号月刊NDEF 2013年8月号
月刊NDEF 2013年8月号
 
HDMI探検隊
HDMI探検隊HDMI探検隊
HDMI探検隊
 
FC SAN Fabric環境におけるパフォーマンストラブルの対処法
FC SAN Fabric環境におけるパフォーマンストラブルの対処法FC SAN Fabric環境におけるパフォーマンストラブルの対処法
FC SAN Fabric環境におけるパフォーマンストラブルの対処法
 
【さくらのクラウド】VPCルータ
【さくらのクラウド】VPCルータ 【さくらのクラウド】VPCルータ
【さくらのクラウド】VPCルータ
 
“見てわかる” ファイバーチャネルSAN基礎講座(第5弾)~さあ、いよいよ、運用です!~
“見てわかる” ファイバーチャネルSAN基礎講座(第5弾)~さあ、いよいよ、運用です!~“見てわかる” ファイバーチャネルSAN基礎講座(第5弾)~さあ、いよいよ、運用です!~
“見てわかる” ファイバーチャネルSAN基礎講座(第5弾)~さあ、いよいよ、運用です!~
 
SDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみるSDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみる
 
SAN デザイン講座
SAN デザイン講座SAN デザイン講座
SAN デザイン講座
 
Sdh concept
Sdh conceptSdh concept
Sdh concept
 
量子コンピュータのエミュレータ上でいろんな量子計算してみた
量子コンピュータのエミュレータ上でいろんな量子計算してみた量子コンピュータのエミュレータ上でいろんな量子計算してみた
量子コンピュータのエミュレータ上でいろんな量子計算してみた
 
FCスイッチISL 追加削除時の考慮点
FCスイッチISL 追加削除時の考慮点FCスイッチISL 追加削除時の考慮点
FCスイッチISL 追加削除時の考慮点
 
Nokia L3 VPN Configuration Guide
Nokia L3 VPN Configuration GuideNokia L3 VPN Configuration Guide
Nokia L3 VPN Configuration Guide
 

More from Hirokuma Ueno

SNEPは大変だった
SNEPは大変だったSNEPは大変だった
SNEPは大変だった
Hirokuma Ueno
 
一人でもSNEP開発
一人でもSNEP開発一人でもSNEP開発
一人でもSNEP開発
Hirokuma Ueno
 
NFCIP-1を斜め読み
NFCIP-1を斜め読みNFCIP-1を斜め読み
NFCIP-1を斜め読み
Hirokuma Ueno
 
財布を忘れると困る
財布を忘れると困る財布を忘れると困る
財布を忘れると困る
Hirokuma Ueno
 

More from Hirokuma Ueno (20)

nRF51のGPIOTEについて
nRF51のGPIOTEについてnRF51のGPIOTEについて
nRF51のGPIOTEについて
 
Nordic nRF51822でBLEしてみました 2
Nordic nRF51822でBLEしてみました 2Nordic nRF51822でBLEしてみました 2
Nordic nRF51822でBLEしてみました 2
 
Nordic nRF51822でBLEしてみました
Nordic nRF51822でBLEしてみましたNordic nRF51822でBLEしてみました
Nordic nRF51822でBLEしてみました
 
About FeliCa Lite-S
About FeliCa Lite-SAbout FeliCa Lite-S
About FeliCa Lite-S
 
月刊NDEF 2013年12月号
月刊NDEF 2013年12月号月刊NDEF 2013年12月号
月刊NDEF 2013年12月号
 
月刊NDEF 5月号
月刊NDEF 5月号月刊NDEF 5月号
月刊NDEF 5月号
 
旅行カバンとNFC
旅行カバンとNFC旅行カバンとNFC
旅行カバンとNFC
 
NDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRiNDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRi
 
月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)月刊NDEF 2013年3月号(卒業号)
月刊NDEF 2013年3月号(卒業号)
 
月刊NDEF 2013年2月号(臨時号)
月刊NDEF 2013年2月号(臨時号)月刊NDEF 2013年2月号(臨時号)
月刊NDEF 2013年2月号(臨時号)
 
月刊NDEF 2013年1月号
月刊NDEF 2013年1月号月刊NDEF 2013年1月号
月刊NDEF 2013年1月号
 
SNEPは大変だった
SNEPは大変だったSNEPは大変だった
SNEPは大変だった
 
NFC切手
NFC切手NFC切手
NFC切手
 
NFCの汎化
NFCの汎化NFCの汎化
NFCの汎化
 
一人でもSNEP開発
一人でもSNEP開発一人でもSNEP開発
一人でもSNEP開発
 
NFCIP-1を斜め読み
NFCIP-1を斜め読みNFCIP-1を斜め読み
NFCIP-1を斜め読み
 
らくがき
らくがきらくがき
らくがき
 
NFCテルミン
NFCテルミンNFCテルミン
NFCテルミン
 
財布を忘れると困る
財布を忘れると困る財布を忘れると困る
財布を忘れると困る
 
はじめてのNFC
はじめてのNFCはじめてのNFC
はじめてのNFC
 

Recently uploaded

Recently uploaded (11)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 

MIFARE ClassicのAccess Conditions

  • 1. MIFARE Classic の Access Conditions Dec, 22, 2012 hiro99ma
  • 2. MIFARE Classic とは? ● NXP 社が作る NFC カードの1つ ● 値段は安い ● メモリも多い ● 鍵を掛けることができる
  • 3. メモリ構成 ● 1 ブロックは 16byte ● 1 セクタは以下で構成される ● 3 つの data block ● 1 つの sector trailer ● sector trailer にメモリアクセス方法を設定 data block 16 byte data block 16 byte data block 16 byte sector trailer Key A Access Bits Key B
  • 4. Access Conditions とは? ● メモリへのアクセス設定のこと – read / write 設定 ● read/write block でも value block でもできる – increment / decrement / transfer / restore 設定 ● value block のみ ● ブロックごとに設定できる ● Access Conditions は sector trailer に書き込む – 設定データのことを Access Bits と呼ぶ – sector trailer には鍵 A 、鍵 B というデータも書く – 鍵 B は optional らしい
  • 5. Access Conditions の設定 ● Access Conditions の設定は Access Bits data block 16 byte data block 16 byte data block 16 byte sector trailer Key A Access Bits Key B ● Access Bits は 4byte で、有効なのは 3byte ● 残り 1byte は、ユーザデータ ● チェックサムとか鍵バージョンに使うのか? ● この設定値を理解するのが難しい ● と、私は思う。
  • 6. Access Bits の意味 (1) ● 「状態」は大きく 4 つ ● 鍵 A の認証でアクセスできる ● 鍵 B の認証でアクセスできる ● 鍵 A か鍵 B の認証でアクセスできる ● アクセス不可 ● data block と sector trail で異なる ● data block は、 read/write block と value block ● sector trail は、鍵 A 、鍵 B と Access Bits
  • 7. Access Bits の意味 (2) ● data block の場合 ● 出荷時は何でもできるように、パターン 0 – たぶん transport configuration と呼ばれている No. read write increment other 0 鍵 A or 鍵 B 鍵 A or 鍵 B 鍵 A or 鍵 B 鍵 A or 鍵 B 1 鍵 A or 鍵 B 不可 不可 鍵 A or 鍵 B 2 鍵 A or 鍵 B 不可 不可 不可 3 鍵B 鍵B 不可 不可 4 鍵 A or 鍵 B 鍵B 不可 不可 5 鍵B 不可 不可 不可 6 鍵 A or 鍵 B 鍵B 鍵B 鍵 A or 鍵 B 7 不可 不可 不可 不可
  • 8. Access Bits の意味 (4) ● sector trail の場合 ● 出荷時は、何でもできるようにパターン 1 No. 鍵A Access Bits 鍵B read write read write read write 0 不可 鍵A 鍵A 不可 鍵A 鍵A 1 不可 鍵A 鍵A 鍵A 鍵A 鍵A 2 不可 不可 鍵A 不可 鍵A 不可 3 不可 鍵B 鍵 A or B 鍵B 不可 鍵B 4 不可 鍵B 鍵 A or B 不可 不可 鍵B 5 不可 不可 鍵 A or B 鍵B 不可 不可 6 不可 不可 鍵 A or B 不可 不可 不可 7 不可 不可 鍵 A or B 不可 不可 不可
  • 9. Access Bits の値 ● パターンが 8 つなので、 3bit ● その 3bit が 4 ブロック分なので、 12bit – ・・・ではなく、ビット反転などの組み合わせ ● 出荷時 ● data block : パターン 0 ● sector trailer : パターン 1 – この組み合わせが、 FFh, 07h, 80h 、になる
  • 10. おわりに ● MIFARE Classic は NFC Forum の規格外だが 比較的安く手に入りやすい ● その割りには、鍵が使える ● NFC Forum の規格外だが、 NXP が自前で Classic 用の NDEF 設定を考えているので Android でもそれが使えるのかも ● 最近は Broadcom 社の NFC チップが 増えているので、 Android の libnfc-nxp も 変わってくるかも ● ってより、 NCI 対応になって汎用化するのかな