Principio de Lakala
De todos es sabido que Lakala es un lector de tarjetas de teléfonos móviles. Lakaka, los teléfonos inteligentes, el software Lakala e Internet constituyen un sistema POS completo y más potente.
¿Por qué se dice que es más potente?
Porque en esta capa de la aplicación móvil, Lakala puede realizar muchas, muchas funciones convenientes, de modo que con la ayuda de servicios tradicionales similares de transferencia de tarjetas de crédito, puede proporcionar una serie de servicios de vida y otras funciones. que Alipay también se está desarrollando vigorosamente ahora. Esto es algo que falta seriamente en el POS de UnionPay. En la actualidad, entre los pagos móviles, el más conveniente es definitivamente el pago rápido de Alipay, pero considerando el entorno de seguridad actual en China, los usuarios tienen que confiar sus tarjetas bancarias y contraseñas a un sitio web para su administración, lo que obviamente no es tan eficiente como ingresarlas. al utilizarlos.
En comparación con el método más seguro de Alipay plus banca en línea, Lakala no tiene nada que ver con el banco emisor de la tarjeta, por lo que no es necesario instalar clientes de banca en línea de varios bancos en su teléfono móvil. Por lo tanto, está claro que Lakala tiene ventajas sobre otros métodos de pago móvil en ciertos escenarios de aplicación. Ahora echemos un vistazo a los principios técnicos de Lakala.
1. Estructura interna
1.1 Una batería ocupa la mayor parte del espacio, lo que hace que todo el Lakara sea demasiado grande y pueda usarse para más de 10,000 tarjetas;
1.2 Los cuatro cables de la izquierda corresponden a las 4 áreas del conector de los auriculares. Son canal izquierdo (Izquierdo), canal derecho (Derecho), micrófono (Mic) y cable de tierra (Gnd). Entre ellos, L y R son las interfaces para recibir las señales emitidas por el teléfono móvil, y M es la interfaz para enviar señales al teléfono móvil. Tenga en cuenta que no todos los pedidos son iguales. Porque hay dos estándares diferentes, los estándares internacionales y los estándares nacionales. La mayoría de los teléfonos móviles nacionales, como Lenovo y ZTE, siguen los estándares nacionales, en el mismo orden que en la imagen de la derecha. Si bien iPhone, HTC, Samsung, Xiaomi y otros teléfonos móviles son todos estándares internacionales, el orden de M y Gnd está invertido. Algunas versiones de Lakala pueden identificar automáticamente las direcciones de avance y retroceso de M y G.
1.3 El chip en el extremo derecho de la placa de circuito procesa la señal de entrada y convierte el módulo de procesamiento A\D (audio\digital) de los datos de deslizamiento de la tarjeta. Es el núcleo de todo el sistema. Cuando hace clic para deslizar la tarjeta en la aplicación móvil, la señal de audio se envía desde el teléfono móvil a la placa de circuito a través de L o R y se convierte en una señal de datos a través del módulo A\D. Cuando se pasa la tarjeta, la placa de circuito obtiene la información de la tarjeta bancaria y luego la convierte en audio a través del módulo A\D y la transmite al teléfono móvil. Por supuesto, la aplicación móvil también necesita realizar el trabajo de codificación y decodificación A\D correspondiente cuando la señal entra y sale. Este también es el trabajo más importante en la aplicación móvil.
2. Proceso de pago con tarjeta
La estructura general de la comunicación de audio entre el teléfono móvil y Lakara es la siguiente:
2.1 Primero abra la aplicación Lakara en el teléfono móvil. Haga clic en Deslizar.
2.2 La aplicación móvil llamará a AudioTrack de la API de Android y enviará una señal de notificación al dispositivo móvil de deslizamiento de tarjetas Lakala a través de las líneas L y R (la información expresada por L y R es la misma, pero la forma de onda está invertida. El nivel alto de L corresponde al nivel bajo de R. No he descubierto por qué Lakala lo diseñó de esta manera).
2.3 El módulo de comunicación en el chip recibe la señal de audio, la decodifica y descubre que es una notificación de deslizamiento de tarjeta, y espera a que la información de deslizamiento de tarjeta se transmita desde la capa de deslizamiento de tarjeta.
2.4 Después de deslizar la tarjeta en la ranura para tarjetas, la información de la tarjeta se transfiere al chip.
2.5 El chip obtiene la información de la tarjeta, la codifica en una señal de audio y la envía al teléfono móvil a través de la línea M.
2.6 La APP móvil muestrea la señal de audio a través de AudioRecord y obtiene la señal digital.
2.7 El programa de aplicación móvil decodifica la señal de datos para obtener la información de datos real, es decir, la información de la tarjeta.
2.8 Si falla el deslizamiento de la tarjeta, la aplicación móvil recibirá un mensaje de error.
2.9 En este punto, se completa la comunicación entre el teléfono móvil y el lector de tarjetas. Luego, la aplicación móvil utiliza la información de la tarjeta para comunicarse con el fondo del servidor de Lakala para procesar operaciones de pago posteriores.
Los puntos técnicos clave son (los detalles no se discutirán en este artículo):
a) Qué método de modulación se utiliza para la transmisión, qué velocidad en baudios y frecuencia se utilizan.
b) Cómo formular protocolos de comunicación adecuados, incluido cómo juzgar el inicio de una señal y cómo estrechar la mano para establecer una conexión.
c) Cómo codificar y representar datos, cómo comprobar y corregir errores, y cómo filtrar y decodificar datos.
3. Algunos problemas técnicos relacionados
3.1 Problemas de conversión A/D
El cable de los auriculares transmite señales de audio de CA generalmente entre 1250 HZ ~ 9600 HZ. Hay tres métodos de modulación y demodulación de señales: modulación de amplitud (AM), modulación de frecuencia (FM) y modulación de fase (PM). Según el análisis de las señales de entrada y salida de Lakara, encontramos que Lakara utiliza señales de audio de modulación de amplitud con frecuencias de 9600 HZ y 4800 HZ.
3.2 Problemas con los estándares de interfaz de auriculares
Los dos estándares se describen en 2.2.
3.3 Problemas con diferentes teléfonos Android
a) Descubrimos que en algunos teléfonos móviles, la forma de onda de audio recibida está desfasada en comparación con otros teléfonos móviles. Es decir, el pico de la onda de alto nivel se convierte en un valle de onda de bajo nivel. Este problema se puede determinar basándose en el preámbulo específico durante la decodificación.
b) El nivel de la señal de audio muestreada por el micrófono del teléfono móvil puede ser diferente. Por ejemplo, para la misma señal de audio, muestreada con AudioRecord del teléfono móvil A, el valor máximo es de aproximadamente 32000, en otro teléfono móvil puede ser 3200. Según nuestras pruebas en varios teléfonos móviles, encontramos que la diferencia puede ser mayor. ser 10 veces. El método de procesamiento consiste en realizar un proceso adicional y normalizar primero o, al filtrar, ajustar dinámicamente el umbral de acuerdo con el valor máximo.
c) El micrófono de algunos teléfonos móviles no reconoce frecuencias de muestreo no estándar. Por ejemplo, en el I9308 de Samsung, si inicializa AudioRecord con una frecuencia de muestreo de 9600*4, se informará un error; si lo cambia a 44100, no habrá ningún problema.
3.4 Eficiencia en la transmisión de datos
Cada mensaje de comunicación tiene unos 100 bytes (unos 50 caracteres chinos) (ver referencia 1). Por lo tanto, la eficiencia de transmisión de Lakala no parece ser un problema.
3.5 Precisión de la transmisión de datos
Lakala utilizó un truco. Primero envía una señal de audio de 9600 HZ y luego envía una señal de audio de 4800 HZ que representa los mismos datos. Si el teléfono móvil puede manejar señales de alta frecuencia, las señales de baja frecuencia posteriores se pueden utilizar para verificar los datos anteriores. Si hay un problema con el procesamiento anterior, procesar la señal de baja frecuencia directamente desde la parte posterior aún puede garantizar que se obtengan los datos completos. Por supuesto, también podemos solicitar la verificación y corrección de errores de los propios datos.
3.6 Seguridad de datos
Dice oficialmente: “El lector de tarjetas móvil de Lakara tiene un chip de seguridad incorporado y cada lector de tarjetas corresponde a una clave de protección de información de banda magnética única de la tarjeta bancaria. un algoritmo de seguridad dedicado para garantizar que una máquina, una contraseña y una contraseña a la vez estén cifradas mediante el método de cifrado asimétrico RSA. (Ver Referencia 1)
Pero según nuestra observación, parece que no hay ningún módulo especial relacionado con la seguridad en la placa de circuito de Lakala. Todo el sistema no utiliza certificados de CA para firmas electrónicas relacionadas y autenticación de identidad. Por tanto, queda por estudiar su seguridad.
4. Más posibilidades
Los escenarios de uso de Lakala siguen siendo demasiado simples. Básicamente, solo utiliza la función de transmitir la señal después de pasar la tarjeta a la aplicación móvil a través de la línea de micrófono de audio. Los datos transferidos también son sencillos.
De hecho, es equivalente a enviar datos desde la placa de circuito a la aplicación del teléfono móvil. Es más sencillo y eficiente enviar datos desde el teléfono móvil a la placa de circuito a través de L/R. Este Lakala apenas se utiliza. Podemos realizar más comunicación de datos bidireccional en esta estructura del sistema y colocar algunas operaciones con requisitos de seguridad más altos en el hardware para lograr una mayor seguridad, proporcionar más funciones y ser adecuados para más escenarios de aplicaciones.