Depende.
TLDR: en realidad no, demasiado complicado desde el punto de vista técnico, comercial y de seguridad.
Sin embargo, supongamos que quieres considerarlo …
- ¿Debería Google reescribir Android para usar una máquina virtual C ++ llvm tipo en lugar de Dalvik y también reemplazar la pila Java con una pila C ++ nativa para resolver algunos de los problemas de latencia, retraso y distensión, especialmente para el desarrollo de juegos?
- ¿Es mejor trabajar como desarrollador de aplicaciones o como el que hace las herramientas para desarrolladores (Xcode, Android Studio, etc.)?
- ¿Cuáles son todas las cosas que debo saber para ser desarrollador de Android?
- ¿Cuáles son las mejores aplicaciones de Android para el desarrollo personal?
- ¿Las compañías de juegos móviles contratan personas apasionadas con poca experiencia en el dominio?
Lo primero es, ¿qué tipo de RFID es? Normalmente hay 3 tipos y normalmente solo dos de ellos se usan en sistemas de control de acceso físico. Estos se llaman imaginativamente baja frecuencia y alta frecuencia: por lo tanto, LF y HF. UHF (ultra) existe pero se usa para la identificación de artículos de largo alcance para logística y venta minorista y no para control de acceso.
Entonces, ¿cómo saberlo? Tome su teléfono Android NFC y descargue la aplicación de escritura de etiquetas NXP NFC, y úsela para intentar leer la tarjeta de identificación que usa en los lectores para acceder a la universidad.
Si la aplicación responde y proporciona alguna información (proporcionará al menos el ID único de la tarjeta – UID). Entonces esta es una tarjeta HF. Si no tienes suerte, entonces es una tarjeta LF y no funcionan con teléfonos NFC, debido a la física de la inducción de corriente electromagnética y el tamaño de la bobina yada, yada.
Entonces, suponiendo que sea una tarjeta HF, la aplicación le dará información sobre el fabricante de la tarjeta y algunos datos básicos sobre cómo está formateada.
Algunas veces el sistema de control de acceso solo usa el UID de la tarjeta para autenticarlo. En cuyo caso, sería una cuestión bastante simple crear una aplicación HCE que ‘falsificara’ cualquier UID que desee. Por lo tanto, sería posible en este caso tomar el UID de la aplicación de lectura de tarjetas e intentarlo. ** Descargo de responsabilidad ** No estoy defendiendo esto en absoluto: si esto funciona, entonces está eludiendo los controles de seguridad establecidos por la institución y probablemente violaría los términos y condiciones que acordó al obtener la tarjeta.
Si la seguridad es más fuerte y la autenticación en realidad usa datos en la tarjeta para autenticarte en lugar de usar el UID de la tarjeta solo como una búsqueda, entonces (si hipotéticamente hicieras esto, lo cual no estoy recomendando, por supuesto) necesitaría comprender el diseño de los datos, y si se ha implementado correctamente, también se cifrará. En ese caso, deberá comprender el esquema de cifrado y autenticación, el diseño de datos y el protocolo de intercambio de datos y luego implementarlos en una aplicación de Android.
Todo esto es posible, por supuesto, y como otros respondedores han implicado que el software puede ser un poco “ complicado ”, especialmente si intenta implementar protocolos patentados, como Mifare Classic de NXP o iClass de HID. ¡No solo es un código muy complicado, sino que estarías rompiendo los derechos de autor para hacerlo y probablemente tampoco encontrarías una buena especificación para ellos!