Протоколы IFX, OPF, SNMP и другие
Справочная заметка ATM: Протоколы IFX, OPF, SNMP и другие.
Протоколы IFX, OPF, SNMP и другие
IFX — Interactive Financial Exchange
Обзор
IFX (Interactive Financial Exchange) — открытый XML-based стандарт для финансовых сообщений, разработанный IFX Forum (основан в 1997, участники: банки, вендоры ПО, процессинг).
- Формат: XML (схемы XSD)
- Транспорт: HTTPS/SOAP или HTTP
- Основная область: банковские транзакции, не только ATM
- Конкурент: ISO 20022 (более современный)
Применение в ATM
IFX применяется редко — в основном в банках, уже использующих IFX для внутренней интеграции. Заменяет ISO 8583 на уровне ATM → хост в ряде реализаций США.
Структура IFX-сообщения (пример)
<?xml version="1.0" encoding="UTF-8"?>
<IFX>
<SignonRq>
<ClientDt>2026-05-05T14:22:35</ClientDt>
<CustLangPref>RU</CustLangPref>
</SignonRq>
<ATMInqRq>
<RqUID>a1b2c3d4-1234-5678-abcd-ef0123456789</RqUID>
<SPName>ATM-MOSCOW-001</SPName>
<CurAmt>
<Amt>5000.00</Amt>
<CurCode>RUB</CurCode>
</CurAmt>
<AcctId>
<AcctType>Savings</AcctType>
</AcctId>
</ATMInqRq>
</IFX>
IFX vs ISO 8583
| Параметр | IFX | ISO 8583 |
|---|---|---|
| Формат | XML | Binary/ASCII |
| Читаемость | Высокая (human-readable) | Низкая |
| Размер сообщения | Больше (XML overhead) | Компактный |
| Распространённость | Низкая | Очень высокая |
| Отладка | Удобна | Требует парсера |
| Поддержка EMV | Через XML-элементы | F55 (binary TLV) |
| Статус (2025) | Нишевой | Стандарт де-факто |
OPF — Operational Protocol Framework (Diebold)
[!warning] Ограниченность публичных данных OPF — проприетарный протокол Diebold Nixdorf. Полная спецификация не опубликована. Информация ниже основана на общеизвестных отраслевых данных.
Обзор
OPF (Operational Protocol Framework) — внутренний протокол Diebold Nixdorf для управления ATM (мониторинг, удалённая диагностика, обновление ПО).
- Используется в системах Diebold Vynamic Management и AllConnect
- Направление: банк/процессинг → ATM (управляющий канал)
- Отдельный от транзакционного (DDC/ISO 8583)
Функции OPF
| Функция | Описание |
|---|---|
| Мониторинг состояния | Статус устройств, кассет, ошибки |
| Удалённая диагностика | Сбор журналов, тестовые команды |
| Обновление ПО | Remote software deployment |
| Параметризация | Загрузка конфигурационных параметров |
| Key management | Удалённая загрузка ключей (RSA-encrypted) |
Протоколы управления и мониторинга
SNMP — Simple Network Management Protocol
SNMP v2c / v3 используется для мониторинга сетевой инфраструктуры (маршрутизаторы, коммутаторы на пути к ATM), а в некоторых системах — и самого ATM.
| Параметр | SNMP v2c | SNMP v3 |
|---|---|---|
| Безопасность | Community string (слабая) | USM: аутентификация + шифрование |
| Шифрование | Нет | DES / AES |
| Аутентификация | Нет | HMAC-MD5 / HMAC-SHA |
| Применение | Legacy мониторинг | Современные требования PCI |
MIB (Management Information Base) для ATM:
- Стандартные MIB: IF-MIB (интерфейсы), HOST-RESOURCES-MIB
- Проприетарные MIB: NCR-ATM-MIB, Diebold-ATM-MIB (не публичные)
ATM Heartbeat / Network Management (ISO 8583 0800)
Периодический «пинг» ATM → хост для поддержания соединения и мониторинга доступности:
sequenceDiagram
participant ATM
participant HOST as ACQ Switch
loop Каждые 30-60 сек
ATM->>HOST: ISO 8583 0800\nF70=301 (Echo)
HOST-->>ATM: ISO 8583 0810\nF39=00\nF70=301
end
Note over ATM: Нет ответа 3 попытки
ATM->>ATM: Primary host недоступен
ATM->>HOST: Reconnect to Backup Host
F70 (Network Management Code):
| Код | Функция |
|---|---|
| 001 | Sign-On |
| 002 | Sign-Off |
| 101 | Key Exchange Request |
| 201 | Cutover (смена ключей) |
| 301 | Echo / Heartbeat |
Протоколы безопасности
TLS / SSL
| Параметр | Значение |
|---|---|
| Минимальная версия | TLS 1.2 (PCI DSS 4.0 требует) |
| Рекомендуемая | TLS 1.3 |
| Mutual TLS | ATM и хост взаимно аутентифицируются |
| Certificate | PKI-сертификат, выдан банком / CA |
| Cipher suites (TLS 1.3) | TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256 |
sequenceDiagram
participant ATM
participant HOST as ACQ Host
ATM->>HOST: TLS ClientHello\n(версия, cipher suites, random)
HOST-->>ATM: TLS ServerHello\n(сертификат сервера)
ATM->>ATM: Validate server cert (CA chain)
ATM->>HOST: ATM Certificate (mTLS)
HOST->>HOST: Validate ATM cert
ATM->>HOST: Key Exchange (ECDHE)
ATM->>HOST: Finished (encrypted)
HOST-->>ATM: Finished (encrypted)
Note over ATM,HOST: TLS сессия установлена\nВесь трафик зашифрован
Key Management — TR-31 / AS2805
| Стандарт | Описание |
|---|---|
| ANSI X9.24 | Управление симметричными ключами ATM |
| TR-31 (ANSI X9.143) | Key Block — упакованные ключи с метаданными |
| AS2805 | Австралийский стандарт key management (схожий с X9.24) |
Иерархия ключей ATM:
flowchart TD
LMK["LMK (Local Master Key)"]
ZMK["ZMK (Zone Master Key)<br/>обменный ключ между банками"]
ZPK["ZPK (Zone PIN Key)<br/>ключ шифрования PIN"]
ZAK["ZAK (Zone Authentication Key)<br/>ключ MAC"]
ZEK["ZEK (Zone Encryption Key)<br/>ключ данных"]
LMK --> ZMK
ZMK --> ZPK
ZMK --> ZAK
ZMK --> ZEK
- LMK — хранится в HSM, никогда не покидает его
- ZMK — загружается в ATM при инициализации (через key ceremony или Remote Key Loading)
- ZPK — используется EPP для шифрования PIN Block
Remote Key Loading (RKL)
Процедура дистанционной загрузки криптографических ключей в ATM без физического визита инженера:
sequenceDiagram
participant ATM_EPP as ATM EPP
participant ATM_APP as ATM App
participant HSM as Bank HSM
participant KMS as Key Mgmt System
KMS->>HSM: Сгенерировать Transport Key (TK)
HSM-->>KMS: TK (encrypted under LMK)
KMS->>ATM_APP: Отправить TK (encrypted)\nпо защищённому каналу
ATM_APP->>ATM_EPP: Load TK
Note over ATM_EPP: TK установлен
KMS->>ATM_APP: Отправить ZPK encrypted under TK
ATM_APP->>ATM_EPP: Load ZPK
ATM_EPP->>ATM_EPP: Decrypt ZPK using TK\nStore ZPK
Note over ATM_EPP: ZPK готов к использованию
Note over ATM_APP: ATM может принимать PIN
Протоколы времени и синхронизации
NTP — Network Time Protocol
- ATM синхронизирует время с NTP-сервером банка (UDP port 123)
- Критично для: корректных timestamp в транзакциях, EJ, TLS-сертификатах
- Точность: ±1–10 мс в типичной LAN/WAN
- PCI DSS требует синхронизацию времени на всех устройствах
Протоколы удалённого управления ATM
| Протокол/Система | Описание |
|---|---|
| RDP (Remote Desktop) | Удалённый рабочий стол Windows для диагностики (только в сервисной сети) |
| SSH | Командный доступ (Linux ATM или сетевое оборудование) |
| ATM-специфические EMS | NCR APTRA Vision, Diebold AllConnect, Wincor POSA — проприетарные системы мониторинга |
| SIEM-интеграция | Syslog → SIEM (ArcSight, Splunk) для безопасности |
| SFTP | Передача EJ-файлов и логов на сервер |
Протоколы депозитных ATM
CIM (Cash-In Module) — специфика
CIM-модуль использует расширения XFS (класс CIM) и дополнительные протоколы верификации банкнот:
| Компонент | Протокол/Интерфейс |
|---|---|
| BV (Banknote Validator) | Проприетарный (Crane CPI, JCM, MEI) |
| Escrow control | XFS CIM команды |
| Recycler coordination | XFS CDM + CIM |
[!info] Верификация банкнот ЦБ РФ В России ATM с функцией приёма наличных должны использовать верификаторы банкнот, включённые в реестр ЦБ РФ (Положение 630-П от 2018). Реестр содержит проверенные модели верификаторов с сертифицированными алгоритмами.
Итоговая карта протоколов ATM
graph TD
subgraph TRANSPORT["Транспортный уровень"]
TLS["TLS 1.2/1.3"]
TCP["TCP/IP"]
NTP_P["NTP"]
end
subgraph APP_PROTO["Прикладные протоколы: ATM ↔ Хост"]
ISO["ISO 8583\n(транзакции)"]
NDC_P["NDC\n(NCR ATM mgmt)"]
DDC_P["DDC\n(Diebold ATM mgmt)"]
IFX_P["IFX\n(XML, редко)"]
NET_MGMT["ISO 8583 0800\n(heartbeat)"]
end
subgraph LOCAL["Локальный уровень: App ↔ Hardware"]
XFS_P["CEN/XFS 3.30\n(Windows)"]
JXFS_P["J/XFS\n(Java)"]
XFS4["XFS4IoT\n(новый)"]
end
subgraph MGMT["Управление и мониторинг"]
SNMP_P["SNMP v3"]
OPF_P["OPF (Diebold)"]
EMS_P["EMS/RMS\nпроприетарные"]
end
subgraph SECURITY["Безопасность ключей"]
TR31["TR-31 Key Block"]
RKL_P["Remote Key Loading"]
HSM_P["HSM (FIPS 140-2)"]
end
TLS --> TCP
ISO --> TLS
NDC_P --> TLS
DDC_P --> TLS
IFX_P --> TLS
NET_MGMT --> TLS
XFS_P --> LOCAL
JXFS_P --> LOCAL
SNMP_P --> TCP
TR31 --> TLS
Связанные заметки
- ATM-Протоколы-обзор — сравнительный обзор
- ATM-ISO-8583 — ISO 8583 детально
- ATM-NDC-DDC — NDC и DDC детально
- ATM-XFS-CEN — XFS детально
- ATM-Сетевая-архитектура — сетевая инфраструктура
- TERM-hsm · TERM-pin-block · TERM-pci-dss