Ich entwickle eine NFC-App, die Tags an öffentlichen Orten haben wird, und auf diese Weise wäre es notwendig, die Tags mit einem Passwort oder einem anderen Werkzeug zu sperren, um zu vermeiden, dass jemand die Informationen löscht oder ihren Inhalt ändert. Die Tags sollten zu einem späteren Zeitpunkt aktualisierbar sein. Also, ist das möglich? Oder wenn ich ein Tag sperre, bleibt es für immer schreibgeschützt?Ist es möglich, ein NFC-Tag zu sperren und später wieder zu entsperren und Daten zu schreiben?
Antwort
Dies hängt sehr vom Typ (und folglich vom Preis) des von Ihnen verwendeten NFC-Tags ab. Typische, billige NFC-Tags (z. B. Tags vom Typ 1 wie Topaz/Jewel- oder Type 2-Tags wie MIFARE Ultralight, NTAG203, Kovio 2K oder my-d NFC) erlauben dies nicht. Sie können nur dauerhaft schreibgeschützt sein (und das sollten Sie normalerweise tun, wenn Sie Tags an öffentlichen Orten installieren).
Andere Tags stellen einige auf Formularauthentifizierung basierende Zugriffssteuerung bereit, die verwendet werden kann, um Schreibzugriffs-Tag-Speicher zu beschränken, z.
- MIFARE Ultralight C: gegenseitige Challenge-Response-Authentifizierung 3DES
- NTAG21x, MIFARE Ultralight EV1, my-d NFC bewegen Sie mit: Passwort basiert "Authentifizierung" mit Klartext-Passwort. Seien Sie gewarnt, dass ein Klartext-Passwort erhebliche Auswirkungen auf die Sicherheit haben kann.
- MIFARE DESFire (EV1): Gegenseitige Challenge-Response-Authentifizierung unter Verwendung von DES, 3DES oder AES
- ...
Authentifizierung ist nicht Teil der Operation des NFC-Tag-Spezifikationen Forum und folglich wird tag/tag herstellerabhängig . Um solche erweiterten Funktionen unter Android nutzen zu können, müssten Sie die entsprechenden Befehle selbst implementieren (mit der Methode tech.transceive()
).
Beachten Sie, dass Ndef.makeReadOnly()
auf Android nicht unbedingt Hardwareblockierungsbits setzt. Diese Methode kann in einigen Fällen auch nur einen Schreibschutz auf Protokollebene setzen (d. H. Ein Flag setzen, das das NFC-Gerät anfordert, keine Daten zu schreiben, aber die tatsächlichen Datenseiten nicht davor schützt, überschrieben zu werden).
Ja natürlich, aber Android API haben keine fertige Methode, um es zu tun. Sie müssen APDU verwenden, um den Zugriff auf das Tag zu steuern.
Die Ndef-Klasse hat eine makeReadOnly-Methode: http://developer.android.com/reference/android/nfc/tech/Ndef.html#makeReadOnly(), aber Sie können Tag nicht entsperren.
Ich verstehe! Danke! –
- 1. Sperren und entsperren Datenbankzugriff - Datenbank ist gesperrt
- 2. Ist es möglich, Code zu schreiben, um Code zu schreiben?
- 3. Ist es möglich, Syntax wie -()() zu schreiben?
- 4. Sperren und Entsperren mit VBA
- 5. Ist es möglich einen std :: thread zu definieren und später zu initialisieren?
- 6. Ist es in Realm möglich, den Primärschlüssel später zu ändern?
- 7. Ist es möglich, ein selbstzerstörerisches Programm in C zu schreiben?
- 8. Ist es möglich, ein generisches JSON-Schema zu schreiben?
- 9. Sperren/Entsperren aller Formulare
- 10. Ist es möglich, ein Betriebssystem komplett in C zu schreiben?
- 11. Android - Ist es möglich, die Vorschaubildrate einer Kamera zu "sperren"?
- 12. Ist es möglich, ein Bild mit TImage und GDIPlus zu öffnen und vollständige Transparenz zu erhalten?
- 13. Ist es möglich, ein Pseudozufall zu teilen
- 14. Ist es möglich, ein Icon zu verschieben?
- 15. Android Activity Lifecycle und Sperren/Entsperren Gerät
- 16. Ist es möglich, ein .git-Repository zu verkleinern, ohne den Verlauf neu zu schreiben?
- 17. Ist es möglich, ein Einlaufen zu erkennen?
- 18. sperren und entsperren dispatch_queue_t in async Aufgabe
- 19. Ist es möglich, eine IOS-App zu erstellen, die später Plugins und Erweiterungen herunterladen kann?
- 20. Programmgesteuertes Sperren und Entsperren des iPhone-Bildschirms
- 21. Ist es möglich, ein Unterprogramm zur Laufzeit in ein anderes Unterprogramm zu übersetzen und zu übergeben?
- 22. Ist es möglich, mit Boost.Hana zu deserialisieren?
- 23. C# zu sperren oder nicht zu sperren
- 24. Ist es möglich, die obere und linke Navigation in OpenFileDialog in C# zu sperren?
- 25. Ist es möglich, eine Erfolgsnachricht mit Gebietsschemata zu schreiben?
- 26. Ist es möglich, Erweiterungen in Delphi Debugger zu schreiben?
- 27. Ist es möglich, "reine" C++ - Klasse in Cython zu schreiben?
- 28. ist es möglich, eine generalisierte Rebind-Vorlage zu schreiben?
- 29. Ist es möglich, JUnit-Testfälle und -Suiten programmgesteuert zu generieren?
Verstanden! Vielen Dank für Ihre Hilfe Michael! –