問題タブ [mifare]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - DESFire認証解読
現在、DESFireEV1非接触型カードを使用しています。マスターキー「000000 00 00 00 00 00 00 00 00 00 00 000000」を使用してDES/CBCで暗号化されたrandom_bを解読しようとしています。
私はこのコードを使用しています:
しかし、このコードは正しく解読されません。この無効な結果が表示されます:「4B9D 5A 91 AE93F8ED」正しい結果は「A42F3E84 2C5A2968」です。
android - Android NFCでMifareタグに書き込みますか?
Mifare1Kタグのセクター0の最初のブロックに単純な「HelloWorld」文字列を書き込もうとしています。タグは新しいもので、デフォルトの構成になっています。セクタートレーラー(ブロック3)を読み取ると、次のようになります00 00 00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff ff ff
。したがって、アクセス条件はですff 07 80 69
。つまり、キーAを使用して各ブロックで読み取りと書き込みを行うことができます。
それでも、タグに何も書くことができません。これが私のコードです:
次の例外が発生します:Transceived failed
。
私は何が間違っているのですか?
スタックトレースは次のとおりです。
nfc - NFC を mifare として使用していますが、可能ですか?
私たちは mifare カード システムを持っており、携帯電話の NFC チップを mifare カードとして使用する可能性を検討しています。
NFC について少し調べましたが、答えられない質問は、携帯電話の NFC チップには、mifare カードのように読み取ることができる一意の識別子がありますか?
また、NFC チップ ダイに一意のコードがある場合、NFC リーダーを使用してそれを読み取ることができますか、それともカード エミュレーション モードにするために電話にアプリケーションが必要ですか?
nfc - AndroidでMIFAREアクセス条件を取得する方法
私のやり方は、ブロック3からデータを読み取り、結果から適切なバイトを選択してアクセス条件を取得することです(例:FF 07 80 69)
このように、keyAまたはkeyBがないと、ブロック3からデータを取得できません。
アクセス条件を取得する別の方法はありますか?
android - Android NFCAPIはMifareDesfireをどの程度サポートしていますか?
私は、既存のDesfireカード(有料サービスへのアクセスに使用される)をNFC対応のモバイルデバイスに置き換えるプロジェクトに取り組んでいる可能性があります。誰かが私に、a)Desfireカードのデータをモバイルデバイスに複製してカードの代わりに使用できるようにすること、およびb)アプリがNFCデータを配信してカードのようにリーダー。関連するすべてのキーとアクセスはカード発行者によって提供されます(プロジェクトが進行中の場合)が、事前にプロセスを理解したいと思っています。
また、Android NFC APIがDesfireをどの程度サポートしているかを理解する必要があります。これは、私が見る限り、Classicのみを適切にサポートしているためです。http://developer.android.com/reference/android/nfc/tech/package-summary.html
java - Defire - Ndef アプリケーションのコマンド : セキュリティ例外を取得する
次のコマンドを Desfire タグに送信して、Ndef Application を検出します。
次のセキュリティ例外が発生するため、応答が得られません: SCARD_W_RESET_CARD
java - javax.smartcardio: ネイティブ コマンドを Defire カードに送信する方法は?
PC/SC 非接触リーダーと javax.smartcardio API を介して Mifare DESFire カードと通信する Java アプリケーションを作成しています。通常の ISO 7816 APDU (CLA、INS、P1-P2、Lc、コマンド データ、Le) を送信することができました。
Ridrix のブログで、DESFire カード (少なくとも私が使用している EV1 バージョン) は APDU とネイティブ コマンドの両方をサポートし、コマンドのほとんどが 1 バイト長しかないことを読みました。
たとえば、「バージョンの取得」コマンド:
このコマンドを SpringCard のPC /SC Diagプログラム(ここから入手可能) でテストしたところ、正しい応答が得られました。
しかし、javax.smartcardio でこのコマンドを送信することはできません。この API は実際のAPDU 用に作成されたようで、1 バイト長のコマンドは許可されません。
これが私がしたことです:
次のエラーが表示されます。
コマンドを送信する唯一の(AFAIK)他の方法を試しました:
同様のエラーが発生します。
javax.smartcardio などを使用してこの種のコマンドを送信する方法を知っていますか?
これらのコマンドをラップできることはわかっていますが、(より単純な) ネイティブ コマンドを使用することをお勧めします。
ありがとう。
java - Androidでタグが検出されたときにmifare classicとmifare ultralightを認識する方法
私はアンドロイドでnfcに取り組んでおり、タグがMifare ClassicまたはMifare Ultralightまたはその他のいずれであるかを知りたいです。どうすればいいのか教えてください。
c# - MIFARE 1k クラシックで複数のブロックにまたがる NDEF レコードを書き込む方法は?
NDEF レコードを MIFARE 1k タグに書き込むアプリケーションを C# で作成しています。ACR122 非接触型カード リーダーを使用して APDU コマンドを送信しています。
私が書きたいレコードは URI タイプで、長い必要があるので、そこから問題が始まります。
これまでのところ、必要なブロックに書き込むことができますが、最初のセクター (ブロック 4、5、および 6) に書き込まれたものしか読み取ることができません。ブロック 8 と 9 (2 番目のセクター) にはコンテンツがありますが、読み取ることができません。
セクター ブロックに書き込むことができないため、ブロック 6 から 8 にジャンプします。そのため、メッセージが他のブロックに続くことを示すバイトを設定する必要があるかどうかはわかりません。
何かご意見は?
メッセージを読むためにAndroid nfc enableを使用しています...
nfc - Mifare Ultralight と Mifare Ultralight C を区別する
RFID カードが Mifare Ultralight か Mifare Ultralight C かを確認する信頼できる方法はありますか?
これまでに見つけた唯一の方法は、小さいカードの境界を越えて読み取りコマンドを発行する 2 つのカードのサイズの違いを利用することです。しかし、ハックのように見えます。カードが Ultralight C 認証メカニズムを使用している場合、読み取りコマンドが失敗する可能性があると思います。