01
EMV安全测试环境概述
什么是EMV、EMV安全测试的重要性、测试环境的核心组件(读卡器、卡片模拟器、主机模拟器、分析工具)。
核心概念入门
02
操作系统与基础软件准备
选择操作系统(Windows/Linux)、安装VMware/VirtualBox虚拟机、安装必要的依赖库(Python、Java、OpenSC)。
环境准备虚拟机
03
PC/SC协议栈搭建
安装PC/SC Lite(Linux)或winscard(Windows)、配置智能卡读卡器驱动、验证PC/SC服务是否正常运行。
协议栈读卡器
04
安装与配置OpenSC
下载OpenSC源码或二进制包、编译安装(Linux)或直接安装(Windows)、配置opensc.conf文件、测试pkcs11-tool。
OpenSCPKCS#11
05
全局平台配置(GP)环境搭建
安装GlobalPlatformPro工具、配置Java运行环境(JRE)、使用gp.exe列出安全域、测试与卡片的基本通信。
GP安全域
06
JCOP工具与Java Card开发环境
安装Java Card SDK(3.0.5或更高)、配置Eclipse或IntelliJ IDEA插件、编写第一个Applet(HelloWorld)、编译并安装到JCOP卡片。
Java CardApplet
07
EMV Level 1测试工具搭建
安装EMVCo Level 1测试工具(如EMVCo Reader Analyzer)、配置逻辑分析仪(Saleae或Kingst)、捕获并解析APDU通信。
Level 1逻辑分析仪
08
EMV Level 2测试环境搭建
安装EMVCo Level 2终端测试工具(L2 Test Tool)、配置测试场景文件(.tsc)、运行标准测试用例。
Level 2终端测试
09
卡片模拟器环境搭建
安装JCAlgTest或CardSim、配置模拟器参数(ATR、历史字节、AID)、使用模拟器进行APDU调试。
模拟器APDU
10
主机模拟器(Host Simulator)搭建
安装EMVCo Host Simulator或自定义Python脚本、配置通信参数(T=0/T=1协议)、实现基本的GPO和AC命令。
主机模拟GPO
11
网络抓包与协议分析环境
安装Wireshark并配置USB/IP捕获、安装EMV APDU解析插件、捕获并分析真实交易流程。
WiresharkAPDU
12
安全芯片调试环境搭建
安装JTAG/SWD调试工具(如OpenOCD)、配置调试器与目标板连接、读取芯片内部存储(Flash/EEPROM)。
JTAG调试
13
侧信道分析(SCA)环境搭建
安装ChipWhisperer或NewAE工具链、配置示波器(如PicoScope)、采集功耗/电磁辐射轨迹。
侧信道SCA
14
故障注入(FI)环境搭建
安装电压/时钟毛刺工具(如ChipShouter或自制毛刺器)、配置目标板供电电路、编写毛刺触发脚本。
故障注入毛刺
15
密钥管理与HSM环境搭建
安装SoftHSM或CloudHSM模拟器、配置PKCS#11接口、生成并存储测试密钥对(RSA/EC)。
HSM密钥
16
证书链与CA环境搭建
安装OpenSSL并配置CA、生成根证书和中间证书、签发终端和卡片证书、验证证书链有效性。
PKI证书链
17
DDA/CDA验证环境搭建
配置终端支持DDA/CDA、安装Java Card支持DDA的Applet、使用测试工具验证动态签名流程。
DDACDA
18
SDA静态数据认证环境搭建
生成静态数据认证签名、配置卡片返回SDA相关数据、使用终端验证签名。
SDA静态认证
19
ARQC/ARPC生成与验证环境
配置HSM生成ARQC、编写Python脚本验证ARPC、模拟发卡行授权响应。
ARQCARPC
20
PIN管理与安全环境搭建
配置卡片PIN策略(明文/加密/离线)、安装PIN Pad模拟器、测试PIN验证流程。
PIN安全
21
脚本处理与UICS环境搭建
配置终端支持脚本处理、安装UICS(用户交互配置脚本)工具、编写并测试自定义脚本。
脚本UICS
22
Tornado与异常交易测试环境
配置卡片返回异常状态字(SW1/SW2)、编写自动化测试脚本模拟Tornado场景、验证终端异常处理逻辑。
异常Tornado
23
重放攻击测试环境搭建
配置代理工具(如mitmproxy)拦截APDU、修改并重放交易数据、验证终端防重放机制。
重放攻击mitmproxy
24
中间人攻击(MITM)测试环境
搭建APDU转发代理、修改GPO响应中的AIP/AFL、验证终端是否检测数据篡改。
MITM篡改
25
卡片克隆与模拟测试环境
使用Proxmark3或类似设备克隆MIFARE Classic卡、配置EMV非接触式模拟、测试终端防克隆能力。
克隆Proxmark3
26
非接触式(Contactless)测试环境
配置NFC读卡器(如ACR122U)、安装非接触式测试工具(如EMVCo Contactless Tester)、测试PayPass/PayWave流程。
非接触NFC
27
Tokenization与数字钱包测试环境
配置Token服务提供者(TSP)模拟器、安装数字钱包App(如Google Pay模拟版)、测试Token生成与交易流程。
Token数字钱包
28
自动化测试框架搭建
安装Robot Framework或Pytest、编写APDU测试用例库、集成CI/CD(Jenkins/GitLab CI)实现每日回归测试。
自动化CI/CD
29
日志收集与报告生成环境
配置ELK(Elasticsearch, Logstash, Kibana)或Splunk、编写日志解析规则(Grok)、生成HTML/PDF测试报告。
ELK报告
30
综合实战:搭建完整EMV安全测试流水线
整合所有组件、编写端到端测试脚本、运行一次完整的EMV交易安全测试、输出测试报告与漏洞分析。
综合实战流水线