移动支付安全风险分析——透过现象看本质2015年8月9日Sunday、身份验证1.2、银行卡安全1.3、终端安全BCTCforjnbank.cc支付安全——透过现象看本质身份验证:用户身份标识身份鉴别信息BCTCforjnbank.cc支付安全——透过现象看本质身份验证:用户身份标识——以谁的身份交易身份鉴别信息——是不是本人在交易BCTCforjnbank.cc支付安全——透过现象看本质身份验证:用户身份标识——唯一性多个人使用同一个用户身份标识,会导致无法判断谁在交易。BCTCforjnbank.cc支付安全——透过现象看本质身份鉴别信息用户提供所知验证信息密码、口令用户提供所持验证设备USBKey、OTP令牌用户提供身份描述指纹等生物特征BCTCforjnbank.cc提纲1.1、身份验证1.2、银行卡安全1.3、终端安全BCTCforjnbank.cc一、支付安全的本质)银行卡在身份认证中的作用2)磁条卡的安全性3)IC卡的安全性BCTCforjnbank.cc银行卡安全银行卡在身份验证中的作用:用户身份标识身份鉴别信息一、支付安全的本质BCTCforjnbank.cc主账号卡有效期姓名磁道数据卡校验码一、支付安全的本质1.2银行卡安全——磁条卡谁在要求银行卡的安全性?BCTCforjnbank.cc银行卡安全——磁条卡序号名称字段长度备注1起始标志(STX)1“;”2主账号13-1913到19个字符,最后一位是校验位3字段分隔符1“=”4失效日期4YYMM5服务代码3银行卡可使用的服务类型6附加数据可变CVN及发卡机构附加数据7结束标志1“?”8纵向冗余校验位1GB/T15120.2一、支付安全的本质BCTCforjnbank.cc银行卡安全——磁条卡导致用户身份标识不唯一!!!一、支付安全的本质BCTCforjnbank.cc银行卡安全——IC卡一、支付安全的本质卡受理终端发卡行收单机构脱机数据认证应用密文认证数据传输数据传输发卡行脚本通知1、脱机数据认证2、发卡行认证1、敏感数据保护2、密钥识别分析3、应用密文认证1、脱机数据认证2、发卡行认证1、数据准备及个人化2、终端合法性认证3、发卡行脚本金融IC卡/SE交易过程中有两个环节需要认证卡片,如果一张伪卡能够在这连个环节认证通过,则被认为是合法的卡终端认证卡——脱机数据认证发卡行认证卡——应用密文认证BCTCforjnbank.cc银行卡安全——IC卡—脱机数据认证发卡行证书CA公钥发卡行公钥IC卡证书IC卡公钥IC卡私钥脱机数据认证不可读数据如果攻击者获取到IC卡私钥,则可以模拟原IC卡,完成脱机数据认证,欺骗受理终端,执行脱机交易。一、支付安全的本质BCTCforjnbank.cc银行卡安全——IC卡—应用密文认证应用密文密钥如果攻击者获取到IC卡应用密文密钥,则可以模拟原IC卡完成应用密文认证,欺骗发卡行,执行联机交易。应用密文密钥主密钥应用密文密钥应用密文认证一、支付安全的本质应用密文数据BCTCforjnbank.cc卡进行伪卡交易,需要获取:IC卡私钥,或应用密文密钥1.2银行卡安全——IC卡一、支付安全的本质BCTCforjnbank.cc提纲1.1、身份验证1.2、银行卡安全1.3、终端安全BCTCforjnbank.cc19终端安全一、支付安全的本质BCTCforjnbank.cc20终端安全银联卡受理终端安全规范:第1部分销售点终端(POS)安全规范第2部分:银联卡受理信息系统安全规范第3部分自助终端安全规范第5部分电话支付终端安全规范第6部分PIN输入设备安全规范第7部分个人支付终端安全规范第8部分智能销售点终端安全规范第9部分mPOS通用技术安全要求一、支付安全的本质BCTCforjnbank.cc21终端安全银联卡受理终端安全规范:第1部分销售点终端(POS)安全规范第2部分:银联卡受理信息系统安全规范第3部分自助终端安全规范第5部分电话支付终端安全规范第6部分PIN输入设备安全规范第7部分个人支付终端安全规范第8部分智能销售点终端安全规范第9部分mPOS通用技术安全要求一、支付安全的本质商用收单个人使用BCTCforjnbank.cc22哪些数据需要保护?如何保护?怎么测?1.3终端安全一、支付安全的本质BCTCforjnbank.cc23防止被篡改的数据•金额•转账转入卡号等防止泄露的数据•账户信息(用户身份标识)•PIN(身份鉴别信息)1.3终端安全——哪些数据需要保护一、支付安全的本质BCTCforjnbank.cc24硬件(物理)——提供安全可信的物理空间•安全芯片•物理防护机制软件(逻辑)•完整性:SHA-2•真实性:数据签名、MAC•机密性:加密传输1.3终端安全——如何保护一、支付安全的本质BCTCforjnbank.cc25终端硬件磁条阅读器IC卡读卡器keyPad显示屏打印机通讯模块安全芯片芯片外存储器其他组件软件固件应用安全测试范围账户信息账户信息和脱机PINPIN提示信息间接影响PIN密钥固件处理安全信息的代码终端安全——怎么测一、支付安全的本质BCTCforjnbank.cc26攻击时间攻击者水平设备知识样本攻击设备额外部件终端安全——怎么测一、支付安全的本质BCTCforjnbank.cc密钥—35分PIN、固件、公钥—26分IC卡数据—20分提示信息—18分磁道数据—16分终端安全——怎么测一、支付安全的本质BCTCforjnbank.cc终端安全的本质•防篡改:金额、转入卡号•防泄漏:账户信息、PIN1.哪些数据需要保护?•硬件:安全芯片+物理防护机制•软件:完整性、真实性、机密性2.如何保护?•按照木桶原理打分3.怎么测?分值终端安全——木桶原理一、支付安全的本质BCTCforjnbank.cc提纲30一支付安全的本质二移动支付安全分析传统收单网络二、移动支付风险分析BCTCforjnbank.cc近场支付近场支付中手机相当于一张特殊形状的非接触通讯的银行卡。传统收单网络二、移动支付风险分析≈BCTCforjnbank.cc远程支付二、移动支付风险分析BCTCforjnbank.cc远程支付远程支付中手机起到了银行卡受理设备的功能。二、移动支付风险分析BCTCforjnbank.cc提纲2.1、手机客户端软件安全2.2、SE安全2.3、新型移动支付方式的安全分析BCTCforjnbank.cc二、移动支付风险分析客户端环境的安全客户端程序安全2.1手机客户端软件安全BCTCforjnbank.cc手机客户端软件安全生命周期管理应用软件自身安全要求用户身份鉴别账户信息保护加密算法二、移动支付风险分析BCTCforjnbank.cc手机客户端软件安全生命周期管理需求安全分析系统设计威胁建模开发测试发布变更二、移动支付风险分析BCTCforjnbank.cc手机客户端软件安全应用软件自身安全要求——下载、安装、更新采取有效手段保证软件传输过程的机密性和软件的完整性应确保软件版本有更新时及时提示用户进行升级使用签名信息嵌入软件保证安装包的合法性二、移动支付风险分析BCTCforjnbank.cc手机客户端软件安全应用软件自身安全要求——自检程序自身检查程序运行环境检查启动二、移动支付风险分析BCTCforjnbank.cc手机客户端软件安全应用软件自身安全要求——合法性认证应用软件后台系统二、移动支付风险分析BCTCforjnbank.cc手机客户端软件安全用户身份鉴别低风险交易双因素认证交易用户密码令牌设备生物特征短信验证码动态校验码普通认证二、移动支付风险分析BCTCforjnbank.cc手机客户端软件安全账户信息保护数据元素允许存储是否可读账户信息持卡人数据主账户(PAN)是否姓名是是敏感数据有效期否\密码(PIN)/PIN数据块否\磁条信息(芯片信息或其他位置包含的相当内容的数据)否\CVN2/CVC2/CVV2/CID/CAV2否\二、移动支付风险分析BCTCforjnbank.cc手机客户端软件安全加密算法宜使用•3-DES(128位或192位的密钥长度)•AES(128位、192位或256位的密钥长度)•RSA(高于1024位的密钥长度)可使用•SM4•ECC(NISTP-256/P-384/P-521)•SM2(256位长度的私钥)不应使用•DES(64位的密钥长度)•RSA(等于或低于1024位的密钥长度)二、移动支付风险分析BCTCforjnbank.cc手机客户端软件安全摘要算法宜使用•SHA-256•SHA-384•SHA-512可使用•SM3二、移动支付风险分析BCTCforjnbank.cc提纲2.1、手机客户端软件安全2.2、SE安全2.3、新型移动支付方式的安全分析BCTCforjnbank.cc安全二、移动支付风险分析客户端软件SDIOSWPPOS机CUPMobileRF13.56MHzNFC芯片远程支付近场支付SENFC-SDNFC-SIMNFC全终端BCTCforjnbank.cc人行移动支付二、移动支付风险分析安全芯片JAVACARDGPApplet安全载体(SE)嵌入式应用软件硬件软件BCTCforjnbank.cc人行移动支付二、移动支付风险分析移动支付SE安全检测整体架构芯片集成电路操作系统虚拟机应用1功能质量测试子平台嵌入式软件安全测试子平台芯片集成电路安全测试子平台应用2„31231个测试子系统19个测试子系统13个测试子系统应用协议攻击平台层漏洞攻击非侵入式攻击半侵入式攻击侵入式攻击芯片漏洞攻击平台漏洞攻击应用接口攻击技术体系BCTCforjnbank.cc安全二、移动支付风险分析应用漏洞攻击,分析幵实测是否有实现漏洞可被利用•多应用防火墙、数据访问控制安全审计、密钥功能、文件结构控制、数据空间暴力破解、重放、初始状态、逻辑保护、生命周期功能、安