
RFID/NFCタグとリーダーを探索するためのPythonライブラリおよびツール:対応するACGシリアルハードウェアを、研究およびセキュリティテスト向けに読み取り、書き込み、複製、解析します。
/* RFIDIOt.py - RFID IO tools for python *
Copyright (c) 2006-2026 Adam Laurie [email protected]
*** これは RFIDIOt の Python 3 版です。 ***
すべて python3 で実行してください。元の Python 2.7 コードは 'python2.7' ブランチに保存され、'v1.0-python2.7' タグが付けられています。これは python3 では動作せず、 このバージョンは python2 では動作しません。
Python 3 への移植作業の大部分を担い、このリリースとなった python3 ブランチに多大な貢献をしてくれた Pete Shipley (evilpete) に心から感謝します。
q: RFIDIOt とは何ですか? a: python で書かれた、RFID/NFC 技術を探求するためのツールとライブラリのコレクションです。
q: なぜ RFIDIOt なのですか? a: くだらないダジャレが好きだからです。また、私は素人の視点からこれに取り組んでいます。 RFID タグについては何も知らず、python についてはさらに何も知りません。そのため、始めた頃は まったくの素人だと感じていました。 :)
q: どうすれば貢献できますか? a: パッチ、情報、新しいツール、コーヒー、お金、薬、そして/または Miles Davis の曲を送ってください :)
q: どのハードウェアがサポートされていますか? a:
q: どのようにインストールしますか? a: pip install -r requirements.txt # pycryptodome、pyscard、Pillow など (passiveauth は openssl CLI を使用) sudo python3 ./setup.py install システムパッケージ: libnfc リーダーには libnfc をインストールしてください。PC/SC リーダーには デーモンと CCID ドライバーをインストールし、デーモンが実行中であることを確認してください。例えば Debian/ Ubuntu では: sudo apt install pcscd libccid pcsc-tools 一部のツールには追加の要件があります: mrpkey.py はパスポート写真の表示に PIL/Pillow を、 証明書の処理に openssl を使用します。jcoptool.py には pyasn1 が必要です。
q: Python 3 版で新しいことはありますか? a: 移植自体に加えて:
ChAP.py(「Chip And PIN」)は、PC/SC と libnfc の両方で動作する接触型/非接触型 EMV リーダーです(リーダーは標準オプションで選択します。例えば libnfc なら '-f 0'、PC/SC の非接触スロットなら '-r 1')。カードを走査し(PPSE -> AID -> GPO -> レコード)、EMV BER-TLV(AIP、AFL、CVM リスト、CDOL/DDOL、PAN/有効期限/サービスコードに分割された Track 2、暗号文情報など)をデコードし、カードのトランザクションログ(エントリごとの金額/日付/時刻/通貨/ATC)を読み取ります。'-c' を指定すると完全なオフラインデータ認証を実行します。すなわち CA -> Issuer -> ICC 証明書チェーンを復元し(26 種類のスキーム CA 鍵の同梱テーブル:Visa、Mastercard、Amex、CB、JCB、Discover、UnionPay、RuPay。それぞれ EMVCo CAPK チェックサムで検証されます)、その後カードがサポートする方式でカードの署名を検証します:
mrpkey.py は ePassport を読み取り、passiveauth.py は公開 CSCA マスターリストに対して Passive Authentication(データグループの完全性 + DS/CSCA の信頼性)を実行し、パスポートを SAFE/TAMPERED/UNTRUSTED としてフラグ付けします。rfidiot-cli.py も非接触型 EMV を読み取ります。
q: では、ここには具体的に何があるのですか? a: http://www.rfidiot.org/documentation.html をご覧ください