RFIDとNFCのセキュリティ
非接触タグの複製と攻撃を学びます。
「RFIDとNFCのセキュリティ」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。
現実世界のRFIDとNFC
非接触タグは、物理アクセス、決済、交通、在庫管理、本人確認を制御します。RFID(Radio Frequency Identification)とNFC(Near Field Communication)は、ビルの入館証、ホテルの鍵、交通系カード、タップ決済を支えています。
これらのシステムは物理的なセキュリティの入り口となるため、脆弱性はドアが開いたり決済が実行されたりする事態に直接つながります。現在も、多くの導入環境で、何年も前から破られていることが知られている技術が使われ続けています。
- 入館証を複製すると、建物への完全なアクセスを得られる可能性があります。
- 脆弱なホテルのロックシステムは、安価なリーダーで開けられる可能性があります。
周波数とチップの種類を理解することが、あらゆる評価の基礎となります。
低周波と高周波の比較
非接触タグは、セキュリティが大きく異なる2つの主要な周波数帯に分かれます。
- 低周波(125 kHz) — HID ProxやEM4100などの古い近接カードです。通信距離が短く、暗号機能がありません。固定されたIDをそのままブロードキャストするだけです。
- 高周波(13.56 MHz) — NFC、MIFARE、交通系カード、決済カードで使用されます。メモリやセクターに対応し、より高度なチップでは暗号機能も備えています。
125 kHzのカードは認証機能がまったくないため、簡単に複製できます。13.56 MHzのファミリーには、破られているもの(MIFARE Classic)から堅牢なもの(DESFire EV2/EV3)まであります。
Proxmarkとハードウェアツール
Proxmark3は、業界標準のRFID研究用デバイスです。125 kHzと13.56 MHzの両方に対応し、読み取り、書き込み、エミュレート、攻撃スクリプトの実行が可能です。
その他の便利なハードウェア:
- Flipper Zero — LFカードのクローン作成や基本的なNFC処理に便利です。
- ACR122U — 13.56 MHzに対応した安価なPC/SC NFCリーダーです。
- Chameleon — 複数のカードタイプをエミュレートして、リーダーをテストできます。
Proxmarkクライアントを使うと無線部分に低レベルでアクセスできるため、一般消費者向けのツールでは扱えないタグも分析できます。
# Proxmark3: auto-detect a low-frequency tag
lf search
# Auto-detect a high-frequency tag
hf search
# Read a 13.56 MHz MIFARE card
hf 14a info低周波カードのクローン作成
125 kHzの近接カードには、防御機構がありません。カードは固定IDを送信し、リーダーはそのIDをアクセスリストと照合します。これがセキュリティモデルのすべてです。
Proxmarkを使えばIDを読み取り、未使用の書き換え可能なT5577カードに書き込むことで、数秒で完全なクローンを作成できます。
# Read an HID Prox card
lf hid read
# Clone the captured ID onto a T5577 blank
lf hid clone -r <captured_id>
# Read an EM4100 tag
lf em 410x readMIFARE ClassicとCrypto-1の破り方
MIFARE Classicは、広く普及しているアクセスカードの1つです。その暗号方式であるCrypto-1は、2008年以降、徹底的に解読されています。
カードのメモリはセクターに分割されており、それぞれが2つのキーで保護されています。複数の攻撃によって、これらのキーを復元できます:
- Darkside — 暗号の弱点を悪用し、事前知識なしでキーを復元します。
- Nested — 1つのキーが分かれば、残りのキーをすばやく復元します。
- Default key dictionaries — 多くのカードが、FFFFFFFFFFFFのような工場出荷時のキーをいまだに使用しています。
キーを復元できれば、カード全体の内容をダンプして未使用のカードに書き込めます。
MIFARE Classicのダンプとクローン作成
Proxmarkは、MIFARE Classicに対する一連の攻撃を自動化します。キーを復元し、すべてのセクターをダンプした後、ブロック0(UIDブロック)が書き込み可能なmagicカードにダンプを書き込みます。
# Try default and dictionary keys, then nested attack
hf mf autopwn
# Recover an unknown key with the darkside attack
hf mf darkside
# Dump the full card once keys are known
hf mf dump
# Write the dump to a magic (Gen1a) card
hf mf restoreNFCタグのタイプとNDEF
NFCは13.56 MHzを基盤とし、タグのタイプとNDEF(NFC Data Exchange Format)というデータ形式を定義しています。NDEFには、URL、テキスト、アプリ起動用データなどのレコードが格納されます。
この層におけるセキュリティ上の懸念には、次のようなものがあります:
- Malicious NDEF — フィッシングURLを指すタグや、タップ時にアクションを実行するタグです。
- Locked vs unlocked tags — 書き込み可能なNTAGは、誰でも再プログラムできます。
- UID-based access controlは、magicカード上でUIDを偽装できるため脆弱です。
認証でUIDだけを決して信頼しないでください。UIDは識別子であり、秘密情報ではありません。
カードエミュレーションとリレー攻撃
クローン作成にとどまらず、ツールを使ってカードをエミュレートし、リーダーに提示することもできます。ProxmarkやChameleonは、物理的なクローンを作成せずに、取得したカード情報をアクセスリーダーに提示して欺くことができます。
リレー攻撃はさらに強力です。2台のデバイスが無線リンクをリアルタイムで中継するため、遠くにあるカードがリーダーの近くに存在するように見せかけられます。これにより、近接していることが認証の根拠になると仮定したシステムを無効化できます。
- 1台のデバイスを対象カードの近くに設置します。
- もう1台を標的のリーダーの近くに設置します。
- コマンドと応答を、両者の間でネットワーク経由で中継します。
リレー攻撃は、物理的な近さだけを根拠とする決済システムやキーレスエントリーシステムを脅かします。
安全な非接触技術
最新の適切に設計された非接触システムは、こうした攻撃に耐性があります:
- MIFARE DESFire EV2/EV3 — AESベースの相互認証と暗号化通信を採用しています。
- SmartMX / secure elements — 決済カードで使われる、耐タンパー性を備えたチップです。
- EMV contactless — タップごとに一意で再利用できない動的暗号文を使用します。
重要な特性はチャレンジレスポンス認証です。リーダーとカードは、クローン可能な固定値を送信することなく、秘密を知っていることを証明します。
アクセス制御システムの評価
体系的なRFID評価は、明確な手順に従って進めます:
- lf searchとhf searchで、周波数とチップを特定します。
- 技術を分類します。破られているもの(125 kHz、MIFARE Classic)か、強固なもの(DESFire、EMV)かを確認します。
- 評価の許可を得たカードでクローン作成をテストします。
- バックエンドでUIDへの依存を確認します。偽装可能なUIDは、よく見つかる問題です。
- 近接性を信頼するシステムについて、リレー攻撃への露出を評価します。
必ず文書化された認可範囲内で作業し、クライアント自身の認証情報とリーダーだけを対象にしてください。
非接触システムの強化
非接触システムの評価では、一般に次のような対策を推奨します:
- 125 kHzとMIFARE Classicを廃止し、DESFire EV2/EV3または同等の技術に移行します。
- 相互暗号認証を使用し、UIDだけによるアクセス制御は決して使用しません。
- 高セキュリティのドアには、第2要素(PINパッドやモバイル認証情報)を追加します。
- 決済や入退室向けに、時間制限や距離バウンディングなどのリレー攻撃対策を実装します。
- キーをローテーションし、工場出荷時のデフォルトキーを無効化します。
繰り返し現れる重要な原則は、読み取り可能な固定値を信頼するシステムは、必ずクローンを作成されるということです。セキュリティは、カードが決して明かさない秘密によって確保しなければなりません。
理解度チェック
非接触カードのセキュリティについて、理解度を確認しましょう。
まとめ
これで、RFIDおよびNFCを使ったアクセスシステムとIDシステムを評価できるようになりました:
- 125 kHzのLFカードには暗号機能がなく、T5577の未使用カードに即座にクローンできます。
- 13.56 MHzには、破られている技術(MIFARE Classic / Crypto-1。Darkside攻撃やNested攻撃で破られます)から、強固な技術(DESFire、EMV)まであります。
- Proxmark3は、両方の周波数帯で読み取り、ダンプ、書き込み、エミュレートを行えます。
- UIDベースのアクセス制御は、UIDを偽装できるため脆弱です。また、リレー攻撃によって近接性への信頼を無効化できます。
- 安全な設計では相互暗号認証を使用し、カードがクローン可能な秘密を決して明かさないようにします。
次は、RF信号をより広い範囲で取得して再生する方法を学びます。
よくある質問
「RFIDとNFCのセキュリティ」レッスンは無料ですか?
はい。「RFIDとNFCのセキュリティ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。
「RFIDとNFCのセキュリティ」で何を学びますか?
非接触タグの複製と攻撃を学びます。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cyber Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「RFIDとNFCのセキュリティ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCyber Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- RFとSDRの基礎
- BluetoothとBLEへの攻撃
- RFIDとNFCのセキュリティ
- 信号のキャプチャとリプレイ