Lesen/schreiben NFC-tag-mit-Passwort-Schutz
Muss ich schreiben/Lesen von textuellen Daten auf ein NFC-tag. Der Weg, den ich gehe davon aus, dass der lese - /Schreibzugriff funktionieren sollte, ist die folgende:
- Ersten mal schreiben ich sollte in der Lage sein, um Kennwort festlegen.
- Das nächste mal, wenn jemand versucht, zu Lesen ODER zu schreiben, wenn er über das Passwort verfügt, dann sollte er in der Lage zu Lesen/schreiben.
- Keine andere Anwendung sollte in der Lage sein zu ändern, meinen tag ohne das Passwort habe ich gesetzt, bei Schritt 1.
Hatte ich einen anderen Ansatz im Sinn schreiben von verschlüsselten Daten, um den tag einmal und das schreiben ist getan, machen den tag nur Lesen. Ich bin in der Lage, dies zu tun. Aber jetzt erkenne ich, machen die tag-lese-nur nicht so effizient.
Ich suchte eine Menge über das internet, fanden aber keine zuverlässige Artikel oder guide noch. Also, wenn jemand getan hat Passwort-Schutz von NFC-tags bitte guide mich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einem NFC-tag (oder eigentlich ein NFC-Forum-Tags, die eine der fünf NFC-Forum-Tag-Betrieb technische Daten) ist ein einfacher datenspeicher ohne security-Mechanismen (andere als schließ-Speicher read-only). Diese tags sind gedacht, um Speicher frei lesbare Daten im NDEF-format. Keine Authentifizierung oder Schutzmechanismen gegen Auslesen von tag-Inhalte (oder kopieren von tag-Inhalte zu anderen tags) sind standardisiert.
Jedoch einige vorhandene tag-Produkte, die das implementieren zusätzlicher Sicherheitsfunktionen, die über das hinausgehen, was angegeben wird durch das NFC Forum.
Den meisten einfachen Mechanismus ist ein kurzes "password" (in der Regel eine 32-bit-Wert). Für die Authentifizierung, das Passwort wird übertragen auf die Tags im Klartext, und der tag bestätigt/lehnt die Authentifizierung. (Beachten Sie, dass die übertragung im Klartext über NFC bedeutet, dass jeder sniffing der Kommunikation ist in der Lage, um das Passwort zu erhalten.) Einige tags, die Unterstützung dieser Art von Passwort-Schutz können Sie die Verwendung der Authentifizierung zu wechseln, einen definierten Speicherbereich kein Zugriff, nur-lese-Zugriff und Lesen/schreiben-Zugriff.
Einen anspruchsvollen Ansatz ist die gegenseitige challenge-response-Authentifizierung mit einem freigegebenen Schlüssel. Im Vergleich zu einem einfachen Klartext-Kennwort, das bedeutet, dass ein passiver Mithörer kann nicht entdecken, den gemeinsamen Schlüssel. Wie mit dem Passwort die Authentifizierung Staat kann verwendet werden, um Schalter einen definierten Speicherbereich kein Zugriff, nur-lese-Zugriff, lese - /schreib-Zugriff mit den meisten vorhandenen tag-Produkte. Jedoch, nicht alle von Ihnen kryptographisch zu binden, der Speicher Zugriff und die Authentifizierung pahse zusammen.
Produkten Umsetzung einer three-pass mutual authentication sind, zum Beispiel, NXP MIFARE Classic* NXP MIFARE Ultralight C, NXP MIFARE DESFire (EV1), Sony FeliCa-Karten.
*) Beachten Sie, dass die proprietäre Authentifizierung und Verschlüsselung der MIFARE-Classic bekannt ist, um gebrochen zu werden, seit 2008. Darüber hinaus MIFARE Classic ist nur auf unterstützten Android-Geräte mit einem NFC-Chipsatz von NXP.
Wenn es um die Umsetzung von der Authentifizierung über Android, sollten Sie Folgendes beachten:
Wenn Sie immer noch wollen, profitieren von automatischen starten der app durch eine NDEF-Nachricht (entweder einen benutzerdefinierten Datensatz deklarieren Sie in der intent-filter oder ein Android Application Record), die Sie benötigen, um einen frei lesbaren Speicher enthaltende, dass NDEF-Nachricht. Da der Passwort-Schutz/- Authentifizierung ist nicht Teil der NFC-Forum-Spezifikationen, Android selbst nicht authentifizieren kann, um den tag (Android würde nicht das Recht haben Schlüssel/Passwort sowieso). Folglich werden die NDEF-memory-Bereich (für tags mit flat Linear adressierbaren Speicher, dieser ist in der Regel die ersten N Blöcke der tag-Speicher) gelesen werden muss, die ohne Authentifizierung.
Selbst wenn Sie nicht die Verwendung von NFC intent-Filter in der Anwendung manifest und verwenden Sie nur die Vordergrund-Versand-system (oder der reader-mode API), die Sie vielleicht noch nutzen möchten NDEF entdecken/filter für Ihre tags.
Können Sie die NDEF abstraction layer (d.h. die
Ndef
/NdefFormatable
- Klassen) Zugriff auf den geschützten Speicher-Bereich. Stattdessen müssen Sie zum Austausch der tag-Plattform-spezifische low-level-Befehle mit einer der tag-Technologie-Klassen (NfcA
, ...,IsoDep
). Auch versuchen Sie nicht zu mischen, zwischen mehreren tag-Klassen (z.B. mitNfcA
für den Versand die Authentifizierung-Befehl undNdef
für das Lesen der Daten danach). Das funktioniert zwar auf einigen Geräten funktioniert es nicht, auf den meisten Geräten, da Sie einen reset der Kommunikation mit den tag, wenn swithcing Kommunikation zwischen diesen Objekten.Gibt es bekannte Probleme mit der tag-Anwesenheit prüfen-Mechanismus auf einigen Android-Geräte (vor allem, bevor Android 5) stören kann die Authentifizierung (D. H. die Anwesenheit überprüfen kann das senden von Befehlen zwischen der Authentifizierung Befehle resultieren in Authentifizierungsfehler). Dieses problem kann überwunden werden, mit dem reader-mode-API.
Schließlich, bewusst sein, dass, wenn Sie speichern das Passwort/key-Authentifizierung innerhalb einer app, könnte ein Angreifer ganz einfach ein reverse-Engineering Ihrer app um den Schlüssel zu erhalten.
password protected
?Einige tags wie MIFARE DESFire nativ unterstützt Passwörter /Verschlüsselung, wie Sie es beschreiben. Neuerstellung dieser Funktionalität auf die häufigsten Arten von tags (Topas/MIFARE Ultralight, etc.) ist von Natur aus unmöglich ist, wie NFC-tags nicht die eingebauten Schutzmechanismen für das kopieren Ihrer Daten (per design). Sie könnten möglicherweise verschlüsseln Sie Ihre Daten, bevor es codiert ist, aber dazu müsste das tool die Dekodierung der Daten, um eingeweiht zu werden, um die Verschlüsselungs-Methode (wahrscheinlich eine standalone-Anwendung, trennen Sie das Android-Betriebssystem, zum Beispiel). Billiger tags können, wie du sagst, nur gemacht werden dauerhaft nur Lesen.
In anderen Worten, die meisten NFC-tags wird nicht unterstützt, was Sie versuchen zu erreichen, aber es existiert-tags (das sind wesentlich teurer), die Unterstützung von größeren Datenmengen und-tools wie Passwort-basierte Verschlüsselung.
Als MIFARE DESFIRE Einhaltung der ISO 14443-4 und wenn Sie mit Android sind Sie in der Lage zu nutzen, die
IsoDep
Methoden. Für weitere Informationen darüber, wie zu Lesen/schreiben, Passwörter, etc. siehe dieser Artikel: Wie gut funktioniert der Android NFC-API-Unterstützung Mifare Desfire?Ich bin momentan auf der NFC-basierte prepaid aufladen-metering-Projekt. Ich würde direkt kommen, um die Frage, was Sie gefragt haben, so weit. Passwort-Schutz-Funktion ist gegeben für so viele NFC-tags wie Mifare classic family, Ultralight Familie, NTag21x Familie.
Antworten für Ihre Fragen:
Siehe Datenblatt des jeweiligen Datenblatt studieren dann Speicher-Organisation. Danach finden Sie die Seite oder Adresse, wo Sie wollen, schreiben Sie das Kennwort. Nehmen wir einmal an, mifare-classic-Karten, Sektor-trailer-block ist der Passwort-Schlüssel-block. So schreiben Sie ganz einfach Ihr Passwort zu blockieren. Pflegen Sie die richtige Logik zu schreiben, das Kennwort oder andere Karte blockieren kann.
Alles, was Sie tun müssen, ist zu finden im Datenblatt.