Back to: CASFP – Certified Specialist in ATM Security and Fraud Prevention
1.4 Ciclo Completo de una Transacción Financiera en un Cajero Automático (ATM)
Las transacciones realizadas en cajeros automáticos siguen un ciclo bien definido que garantiza la autenticación del usuario, la validación de fondos y la ejecución segura de la operación solicitada. Este proceso involucra tanto elementos físicos como lógicos, así como comunicación en tiempo real con redes financieras y sistemas bancarios.
ATM transactions follow a well-defined cycle that guarantees user authentication, fund validation, and the secure execution of the requested transaction. This process involves both physical and logical elements, as well as real-time communication with financial networks and banking systems.
1.4.1 Fases del Ciclo Transaccional
🔄 Fases del Ciclo Transaccional del ATM
Cada interacción con un cajero automático sigue un ciclo estructurado para garantizar seguridad, precisión operativa y trazabilidad.
El usuario inserta su tarjeta, activando el sistema y mostrando la pantalla de bienvenida.
El cliente ingresa su PIN, el cual se cifra y se envía al banco para validación.
El usuario elige la operación deseada: retiro, consulta, pago, transferencia, etc.
La transacción es enviada por red segura (VPN/IPsec) al servidor bancario.
El banco valida fondos, límites y estado de cuenta, y responde con la autorización.
Si es aprobada, se realiza la acción (dispensar efectivo, imprimir recibo, etc.).
Se generan registros digitales y físicos para control contable y seguridad.
Se devuelve la tarjeta (si aplica) y se reinicia la pantalla inicial del ATM.
1.4.1 Phases of the Transactional Cycle
🔄 Phases of the ATM Transaction Cycle
Each interaction with an ATM follows a structured cycle to ensure security, operational accuracy, and traceability.
The user inserts his card, activating the system and displaying the welcome screen.
The customer enters his PIN, which is encrypted and sent to the bank for validation.
The user chooses the desired operation: withdrawal, consultation, payment, transfer, etc.
The transaction is sent via secure network (VPN/IPsec) to the banking server.
The bank validates funds, limits and account statement, and respond with authorization.
If approved, the action is performed (dispense cash, print receipt, etc.).
Digital and physical records are generated for control accounting and security.
The card is returned (if applicable) and the initial ATM screen is restarted.
Vista Técnica del Ciclo Transaccional Interna
🔐 Proceso Interno de Transacción en Cajero Automático (ATM)
💳Lectura de Tarjeta y Datos Iniciales
El usuario inserta su tarjeta bancaria. El ATM extrae el PAN desde el chip EMV, el nombre del titular (“LOPEZ JUAN M.”) y sincroniza fecha/hora vía ntpdate clock.certisysnet.com
.
🖥️Verificación del ATM y Middleware
El sistema valida el hardware local (ATM-BN-019 en CDMX-0042), inicia el middleware v3.10 y calcula el hash SHA256 del binario:
sha256sum middleware.bin
El resultado se compara con la huella de fábrica. Se realiza autenticación TPM para verificar integridad y protección física del ATM.
🔢Ingreso y Cifrado del NIP
El cliente introduce su NIP en un PINpad certificado PCI PTS. Se cifra usando AES-256
y se autentica con HMAC-SHA512
, cumpliendo PCI-DSS 4.0.
🌐Establecimiento de Canal Seguro
El cajero establece un túnel VPN IPsec con AES-GCM-256
(IKEv2):
ipsec up atm-bank
Sobre este canal, se establece TLS con la suite TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
y verificación del certificado:
openssl verify -CAfile root-ca.pem certisysnet-bank.pem
🧠Procesamiento Bancario y Validaciones
La información viaja al nodo MEX-CDMX-CORE04 (10.220.5.33) con Oracle FLEXCUBE v14.3. Se autentica mediante:
SELECT * FROM clientes WHERE tarjeta = '5201…2981'
Se genera un JWT
válido por 300 segundos con permisos restringidos a transaccion.retiro
.
Se aplican reglas AML/KYC con motores como Actimize o World-Check.
💰Autorización y Dispensado
Saldo disponible: $12,387.59 MXN. Se autoriza retiro de $2,000.00 MXN con código TXN-9823411-BN
(ISO 8583).
El cajero envía el comando DISPENSE(1000,2)
al módulo y sensores validan la entrega:
sensor.verifyOutput()
🧾Impresión, Firma y Registro
Se imprime recibo con referencia 20250410124122. Se firma el registro localmente:
openssl dgst -sha512 -sign atmkey.pem -out tx_log.sig tx_log.txt
Luego se transfiere al servidor de logs:
scp tx_log user@10.220.5.100:/var/logs/atm/
🧩Monitoreo Operativo y Seguridad Física
El ATM revisa condiciones operativas:
- Tiempo sincronizado:
ntpdate
- Temperatura:
sensors → 36.2°C
- Papel:
paper_status() → 89%
- Antitamper:
tamper_check() → OK
🧹Cierre de Sesión y Limpieza
Se expulsa tarjeta con eject_card()
, se muestra el mensaje “Gracias por su preferencia” y se limpian variables temporales de /dev/shm
.
Los túneles se cierran y todos los registros quedan almacenados y firmados.
🔐 Internal ATM Transaction Process
💳Card Reading and Initial Data
The user inserts their bank card. The ATM extracts the PAN from the EMV chip, the cardholder name (“LOPEZ JUAN M.”), and synchronizes the date/time via ntpdate clock.certisysnet.com.
🖥️ATM and Middleware Verification
The system validates the local hardware (ATM-BN-019 in CDMX-0042), starts the v3.10 middleware, and calculates the SHA256 hash of the binary:
sha256sum middleware.bin
The result is compared with the factory fingerprint. TPM authentication is performed to verify the integrity and physical protection of the ATM.
🔢PIN Entry and Encryption
The customer enters their PIN on a PCI PTS-certified PIN pad. It is encrypted using AES-256
and authenticated with HMAC-SHA512
, complying with PCI-DSS 4.0.
🌐Secure Channel Establishment
The ATM establishes an IPsec VPN tunnel with AES-GCM-256 (IKEv2):
ipsec up atm-bank
Over this channel, TLS is established with the TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 suite and the certificate is verified:
openssl verify -CAfile root-ca.pem certisysnet-bank.pem
🧠Bank Processing and Validations
The information travels to the MEX-CDMX-CORE04 (10.220.5.33) node with Oracle FLEXCUBE v14.3. Authentication is achieved by:
SELECT * FROM customers WHERE card = '5201…2981'
A JWT
valid for 300 seconds is generated with permissions restricted to transaction.withdrawal
.
AML/KYC rules apply with engines such as Actimize or World-Check.
💰Authorization and Dispensing
Available balance: $12,387.59 MXN. A withdrawal of $2,000.00 MXN is authorized with code TXN-9823411-BN
(ISO 8583).
The cashier sends the command DISPENSE(1000,2)
to the module, and sensors validate the delivery:
sensor.verifyOutput()
🧾Print, Signature, and Registration
A receipt with reference 20250410124122 is printed. The log is signed locally:
openssl dgst -sha512 -sign atmkey.pem -out tx_log.sig tx_log.txt
It is then transferred to the log server:
scp tx_log user@10.220.5.100:/var/logs/atm/
🧩Operational Monitoring and Physical Security
The ATM checks operating conditions:
- Synchronized time:
ntpdate
- Temperature:
sensors → 36.2°C
- Role:
paper_status() → 89%
- Antitamper:
tamper_check() → OK
🧹Logout and Cleanup
The card is ejected with eject_card()
, the message “Thank you for your preference” is displayed, and temporary variables in /dev/shm
are cleared.
The tunnels are closed, and all records are stored and signed.