《p2端到端加密关键技术研究与实现》
P2端到端加密关键技术研究与实现
P2端到端加密关键技术研究与实现
摘 要
近年来,随着国际国内金融业竞争的日益激烈,银行业务持续不断的变化,给建行的IT系统带来了源源不断的新需求和新挑战。为应对复杂的经济金融形势和激烈的市场竞争,更好配合业务发展,建行主动迎接挑战,高瞻远瞩,着手规划未来,确立了建行“十二五”科技规划目标,把建行建设成“国内领先,国际一流”的银行,推进全行开发模式转变,构建建行新一代IT系统,通过持续的IT创新与能力的提升,提升IT响应能力与运营效率,支持产品持续创新和业务快速发展。
本文是中国建设银行新一代信息系统内部员工渠道整合平台后端(P2S)和前端(P2C)工作密钥分发的解决
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
,目的是描述我行新一代信息系统中P2S和P2C之间如何实现工作密钥的分发,从而保证两者之间信息传输的安全。
本文的阅读对象包括中国建设银行新一代信息系统安全架构的
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
开发人员、中国建设银行新一代信息系统各应用平台和开发平台的设计开发人员、中国建设银行新一代信息系统其他组件的设计开发人员。
关键词:端到端加密 安全策略 加密方法
P2端到端加密关键技术研究与实现
目 录
第一章 绪 论................................................................................................................... 2
1.1 研究背景 .......................................................................................................... 2
1.2 研究意义 .......................................................................................................... 2
1.3 研究内容 .......................................................................................................... 3
1.4 论文结构 .......................................................................................................... 3 第二章 新一代系统的安全需求 ........................................................................................ 4
2.1 P2S-P2C ........................................................................................................... 4
2.2 P2C-P2-P10URL防篡改 .................................................................................... 4
2.3 P2C-P2S安全策略 ............................................................................................ 4 第三章 P2S-P2C的解决方案 ............................................................................................ 5
3.1 P2C到P2S逻辑结构 ........................................................................................ 5
3.2 P2C获取密钥方式 ............................................................................................ 7
3.3 报文运算
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
................................................................................................... 8 第四章 P2C-P2-P10URL防篡改解决方案 ....................................................................... 10
4.1 整体框架图 .................................................................................................... 10
2 密钥版本切换分析 ...........................................................................................11 4.
4.3 配套改造 .........................................................................................................11 第五章 P2C-P2S安全策略.............................................................................................. 12 第六章 密钥散列规则 .................................................................................................... 14
6.1 P2S-P2C ......................................................................................................... 14
6.2 P2C-P2-P10URL防篡改 .................................................................................. 15 第七章 使用方法及测试结果 .......................................................................................... 16
7.1 调用方法 ........................................................................................................ 16
7.2 实验结果 ........................................................................................................ 16 第八章 总 结................................................................................................................. 17 致 谢 ............................................................................................................................. 18
I
P2端到端加密关键技术研究与实现
第一章 绪 论
1.1 研究背景
作为一种安全、快捷、方便,并支持先消费后还款的消费方式,信用卡被越来越多的人所接受。21世纪伊始,自信用卡业务在我国产生以来,呈蓬勃发展之势,用户数、发卡数、交易量均直线上升。
银行信息系统由各种计算机系统和网络设备组成,它可通过因特网和内联网完成银行之间的数据传输、交换和共享,也可实现与银行客户的信息交互,在这些信息交互过程中可能会导致数据泄露,而数据又是银行的重要资产。因此日常的办公和业务交易时,数据保护已经成为银行考虑的重点。
基于银行的现状,结合敏感信息安全的重要性,和银行信息系统的开放性特点以及可能导致数据泄露的原因,所以说找出一种能够预防数据泄露的方法和实施步骤是必要的。一种安全的加密方法在保护用户信息安全的同时也会提升银行在用户心中的可信度。
根据新一代实施路线图规划,我行于2012年启动了12个应用平台的建设工作,其中P8作为产品服务层的平台。在新一代七层架构中,与P6/P7一样处于产品服务层。基于P8的应用组件所提供的联机服务注册发布在应用集成平台(P4)上。其他平台都通过P4平台调用P8平台的服务,当存在组合点在P8的组合服务时,P8也通过P4平台调用其他平台(P6/P7)发布在P4上的服务。
本文中介绍的是一种保证P2到P8的数据传输安全的加密技术,通过介绍P2端到端加密技术的原理以及关键技术来进一步的了解该加密方法的使用。 1.2 研究意义
电子商务正在改变着人们的生活以及整个社会的发展进程,网络贸易将引起人们对管理模式、工作和生活方式,乃至经营管理思维方式等等的综合革新。同时,稳健的网络安全环境对电子商务的健康和持续发展是至关重要的。电子商务的安全性主要是网络平台的安全和交易信息的安全。交易信息的安全是指保护交易双方的不被破坏、不泄密,和交易双方身份的确认。因此在电子商务中应用数据加密、数字签名、数字证
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
、ssl、set安全
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
等技术来保证电子商务的交易信息的安全,电子商务和信息加密技术的结合必将会促进电子商务的稳定发展。
2
P2端到端加密关键技术研究与实现
对于银行业来说,信息加密是重中之重。该文介绍了数据加密的重要加密方法,并将其应用于我行新一代的系统建设当中。
1.3 研究内容
本文主要主要从以下几个方面来介绍:
第一部分主要通过P2S-P2C、P2C-P2-P10URL、P2C-P2S安全策略来介绍新一代系统的安全需求;第二部分主要主要讲述的是P2S-P2C的解决方案,通过对该解决方案的介绍,可以大致的了解到对敏感字段的加密流程;第三部分开始介绍P2C-P2-P10URL防篡改的解决方案;接下来就开始介绍P2C-P2S的安全策略一级密钥散列规则。最后,通过一组实验以及实验结果来证明端到端加密算法成功实现。
1.4 论文结构
本论文共分为五章。
第一章,绪论(即本章)。介绍论文的研究背景、研究意义、研究内容以及论文的组织结构。
第二章,介绍建设银行新一代的安全需求。
第三章,介绍了P2S-P2C端到端加密的解决方案。
第四章,P2C-P2-P10URL防篡改解决方案。
第五章,P2C-P2S安全策略。
第六章,密钥散列规则。
第七章, 使用方法以及测试结果
第八章, 总结与展望
3
P2端到端加密关键技术研究与实现
第二章 新一代系统的安全需求 2.1 P2S-P2C
根据总行业务系统要求,P2S和众多P2C之间的敏感数据传输需要进行加密处理,这就需要每个P2C和P2S之间都要有一个工作密钥,用于敏感数据的加解密,具体需求如下:
1) P2S和P2C工作密钥一一对应;
2) P2S和P2C之间的工作密钥定期更新;
3) P2S和P2C之间敏感字段传输加密。
2.2 P2C-P2-P10URL防篡改
根据P2端和P10端的业务需求,P10端需要防止P2C端发送的URL数据被篡改,因此P2C端发送的URL数据需要进行MAC运算,并且产生MAC值发送到P10端,只有P10端通过了P2C端的MAC校验,才会进行进一步业务运算。具体要求如下:
1) KMC端应配置P2端与P10端的安全策略;
2) P2端调用合成MAC密钥接口,生成P2C端MAC密钥信息,并通过P2C/P2S安
全通道下发到P2C端;
3) P2C调用MAC接口,对URL数据进行MAC运算,产生MAC值,并且将MAC
值附在发送到P10端的数据中。
4) P10端接收到P2C端的数据时,首先校验MAC值,如果校验成功,再进行下一步
业务处理。
2.3 P2C-P2S安全策略
根据建行安全策略,P2C-P2S之间需要根据策略管理中心配置的策略,动态实施安全策略。目前P2C-P2S需要实施安全上下文,全报文加解密,MAC校验和敏感数据加解密。
4
P2端到端加密关键技术研究与实现
第三章 P2S-P2C的解决方案
鉴于我行柜员数量众多(不低于40万柜员),每个柜员对应一个P2C,而P2C主机无法部署密码安全组件提供的安全代理(简称SA),因此我们提出了由P2S为每个P2C派生用户工作密钥的解决方案:在P2S上部署SA,P2S在每个P2C签到时,调用密码组件提供的安全API,为每个P2C派生出唯一的用户工作密钥,在下次签到之前,P2C和P2S之间的敏感数据都采用本地派生的用户工作密钥加解密。
解决方案描述如下:
3.1 P2C到P2S逻辑结构
在P2S上部署密码安全组件的SecAgent和SecApi,SecAgent定期从KMC下载最新的用户主密钥,当P2C到P2S签到时,P2S根据当前用户主密钥信息以及P2C的用户编号派生出用户工作密钥信息,和业务数据一起返回给P2C,P2C获取到用户工作密钥信息后导入到本地,P2C发送到P2S的敏感数据都可以使用派生的工作密钥进行加密,用户工作密钥的派生过程和数据加解密接口由密码组件提供相应接口完成。方案逻辑架构如下图:
5
P2端到端加密关键技术研究与实现
密钥管理中心(KMC)
安全代理(SA)
密码组件密码组件安全API(SecApi)
P2S应用程序P2S主机P2S主机
P2C应用P2C应用
P2C主机P2C主机P2C主机P2C主机
安全API(SecApi)安全API(SecApi)
图3-1-1P2C到P2S签到逻辑结构图
P2S与P2C用户工作密钥分发流程如下:
6
P2端到端加密关键技术研究与实现
P2S和P2C密钥分发流程
P2CP2S
开始签到
调用SecAPI_GetKeyInfo_User生成
P2C端密钥、组织签到信息(包括本地用户编号调用SecAPI_GetMacKeyInfo_User生
等)成URL防篡改MAC密钥、
调用SecAPIE2E_GetClientE2EKey生
成P2C端端到端密钥
存储生成P2C端的密钥版本号调用SecAPI_SetKeyInfo_Client保
存P2C端密钥信息、
调用SecAPI_SetMacKeyInfo_Client把密钥信息发下给P2C保存URL防篡改MAC密钥、
调用SecAPIE2E_SetE2EKeyInfo保存
P2C端端到端密钥
签到结束
图3-1-2P2S与P2C密钥分发流程图
3.2 P2C获取密钥方式
P2C现在直接从P2S获取用户主密钥信息,如下图:
7
P2端到端加密关键技术研究与实现
P2S
(SecAPI_GetKeyI
nfo_User())P2S加密
P2C加密
获取P2C密钥信息
P2C
(SecAPI_SetKe
yInfo_Client)
现在P2C密钥获取方式现在P2C密钥获取方式
3.3 报文运算流程
P2C和P2S之间根据双方约定的策略进行报文运算,以下根据场景介绍各接
口的调用流程。
8
P2端到端加密关键技术研究与实现
P2C和P2S加解密流程
P2CP2S
卡片PIN码加密敏感数据转加密
pinEncryptP_Client()pinDecEnc_Client
敏感数据解密
YpinDecrypt_User()敏感数据加密
是否本地解密,pinEncrypt_Client()敏感数据转加密
NpinDecEnc_Client()
报文解密
YpkgDecrypt_User()报文加密
是否本地解密,
pkgEncrypt_Client()报文转加密
NpkgDecEnc_Client()
报文产生MAC验证MAC
mac_Client()macVerify_User()
初始化安全上下文检查安全上下文
initSecContext_Client()checkSecContext_User()
安全上下文报文产生/校验MAC报文加解密敏感数据加解密产品层PIN码加解密
9
P2端到端加密关键技术研究与实现
第四章 P2C-P2-P10URL防篡改解决方案 4.1 整体框架图
KMC
KMC配置了P2和P10的策略,并且协商出工KMC配置了P2和P10的策略,并且协商出工作密钥种子作密钥种子
SASA
P2S调用SecAPI_GetMacKeyInfo_User接P10调用SecAPI_P2CMACVerify_User验证P2C端发送过口,合成P2C端URLMac防篡改密钥信息来的MAC数据
??
P2的P2S端P10的服务端
P2C调用SecAPI_P2CMAC_Client接口生成MAC值,附在数据上发送到P10端P2C到P2S端签到???P2C端(30万台)
P2S通过P2S/P2C安全通道,将密钥信息下发到P2C端P2C调用SecAPI_SetMacKeyInfo_Client接口,将密钥信息导入到P2C的本地内存中。
如图所示:第?步,P2C端向P2S端签到,P2S端根据P2C端签到类型(是否向P10端发送数据);
第?步:调用SecAPI_GetMacKeyInfo_User函数来合成URL防篡改密钥信息;
第?步:P2S通过P2S/P2C安全通道,将密钥信息下发到P2C端,并且P2C端调用SecAPI_SetMacKeyInfo_Client将密钥信息存储在P2C端本地内存;
第?步:P2C端调用SecAPI_P2CMAC_Client接口生成URLMAC值信息,并且将MAC值附在发送到P10端的数据中,然后发送给P10;
第?步:P10端接收到P2C端发送过来的数据后,首先调用SecAPI_P2CMACVerify_User校验P2C端发送过来的URLMAC值信息,如果校验通过,则P10才会进一步处理与P2C之间的业务运算。
10
P2端到端加密关键技术研究与实现
4.2 密钥版本切换分析
因为新增的功能中,只会出现P2C端做MAC运算,而P10端做校验MAC运算,如果,P2C端做了MAC运算后,并且把MAC发送到P10端的过程中,P2和P10之间的工作密钥种子发生了更新(极端情况下发生多次更新),这时,P10验证P2C端的MAC值,会根据P2C端密文中传输过来的种子版本号到SA共享内存中取工作密钥种子,如果SA共享内存中德工作密钥种子已经被删除,则会按照按需下载流程处理,从而正确的完成MAC校验工作。(如果KMC端的工作密钥种子被删除,此时,接口会包校验,,,失败,错误码显示“找不到密钥”)。
4.3 配套改造
,) P2端改造:P2S端在处理P2C端的签到流程需要做相应的修改
当P2C端向P2S端签到时,要求P2S端根据P2C端的类型(只连接P2S端的和即链接P2S又链接P10端的),散列出不同的P2C端密钥信息,即P2C端的密钥是使用用户主密钥散列的还是使用节点间工作密钥种子散列的。并通过P2S/P2C安全通道将密钥信息下发到P2C端。
P2C端可以根据自己是否需要向P10发送数据来判断自己需要获取的密钥类型,如果P2C确定自己需要向P10发送数据,则可以在向P2S签到时说明,这时,P2S则会合成MAC密钥,并下发到P2C端。
如果P2C端不需要向P10发送数据,则P2C只需获取普通的P2C/P2S密钥(使用用户主密钥合成的P2C端工作密钥)。
,) P2C端改造:
当P2C端向P10端发送URL数据时,需要将URL数据先做MAC运算,并且产生MAC值,将MAC值附在发送到P10端的数据中。
,) P10端改造:
P10端在接收到P2C端数据时,首先应该校验MAC值,如果MAC校验通过,再做其他业务处理。
11
P2端到端加密关键技术研究与实现
第五章 P2C-P2S安全策略 为了保证P2C-P2S之间安全策略顺利实施,P2C与P2S之间需要按照密码技术应用方案
进行相应的配套改造。
1) P2S 集成获取P2C安全策略的接口,获取针对P2C的安全策略,P2C集成
设置安全策略接口,并且根据策略动态实施策略。
2) P2S集成安全上下文、全报文加密、Mac校验和端到端敏感数据加解密接
口,P2C集成安全上下文、全报文加密、Mac校验和端到端敏感数据加解
密接口。为了保证P2S和P2C密钥的平滑切换,P2S需要集成安全插件中
的获取P2C请求中密钥版本号的接口,并在响应报文中使用此版本的密
钥进行安全运算。
3) 为了解决部分柜台有时长期不签到造成的密钥失步问题,P2S端安全插件
返回固定错误码,P2C根据固定错误码,重新触发客户端签到工作。
P2C与P2S按照安全策略进行密码运算流程:
1) P2C端组织信息(包括客户端ID等信息)发送到P2S端,进行签到操作; 2) P2S端接收到P2C端签到请求后,P2S端获取P2C端密钥信息(普通客户
端密钥、URLMac密钥、端到端密钥)和P2S与P2C之间的安全策略信息
(全报文加解密、Mac验证、安全上下文),P2S端组织好P2C端密钥信
息和安全策略信息后,通过P2C与P2S安全通道将密钥信息和安全策略
信息下发给P2C端;
3) P2C端收到P2S端下发下来的密钥信息和安全策略信息后,存储到本地内
存,完成签到操作;
4) P2C端根据P2C与P2S之间的安全策略(安全策略包括:全报文加密、Mac、
安全上下文),向P2S端发起密码运算操作;
5) P2S端接收到P2C端的密码运算请求后,根据P2C与P2S之间的安全策略
对P2C的运算报文解析(验证安全上下文、验证Mac、全报文解密); 6) P2S根据P2C与P2S之间的安全策略(安全策略包括:全报文加密、Mac、
安全上下文)封装给P2C的返回报文;
12
P2端到端加密关键技术研究与实现
7) P2C端接收到P2S返回的密码运算报文后,根据P2C与P2S之间的安全策略对报文进行解析;
8) 如果客户端发起密码运算失败,则P2C需要向P2S重新签到一次;
P2C端P2S端
P2C组织信息到P2S签到P2S散列P2C端密钥信息并且获取P2C与P2S之间的安全策略信息
P2S存储生成P2C端密钥版本号P2C端接收到P2S端下发下来的密钥和安全策略信息后存储到本地P2S端把P2C密钥信息和安全策略信息下发到P2C端
P2C签到结束
P2C端根据P2S下发下来的安全策略进行密码运算
初始化安全上下文全报文加密生成Mac
P2S接收到P2C端报文后,根据P2C与P2S之间的安全策略进行报文P2C端组织好报文后将报文发送到P2S端解析
验证安全上下文全报文解密验证Mac
P2S端根据P2C与P2S之间的安全策略封装返回给P2C端的报文
生成安全上下文全报文加密生成Mac
P2C端接收到P2S端报文,按照安全策略对报文进行解析操作P2S将封装好的报文发送给P2C端
生成安全上下文全报文加密生成Mac
13
P2端到端加密关键技术研究与实现 第六章 密钥散列规则
6.1 P2S-P2C
开始
从共享内存中读取用户主密钥
对用户ID做SHA256摘要运算用用户ID摘要值与用户主密钥进行异或对异或结果进行MD5摘要运算产生P2C端密
钥信息
结束
14
P2端到端加密关键技术研究与实现
6.2 P2C-P2-P10URL防篡改
开始
从共享内存中读取P2和P10之间的密钥种子
对用户ID做SHA256摘要运算用用户ID摘要值与P2和P10之间的密钥种子
行异或
对异或结果进行MD5摘要运算产生P2C端密
钥信息
结束
15
P2端到端加密关键技术研究与实现
第七章 使用方法及测试结果
7.1 调用方法
JS调用方法:PJF.comunication.client.encryptE2E(param1,param2); param1的传值可以是CVV/3DSEC/PVV三种,param2是要加密的字段值。
7.2 实验结果
上图画红色方框的为要加密的字段,加密后的结果如下图所示:
如上图所示,对安全码这个字段已经加密成功。
16
P2端到端加密关键技术研究与实现
第八章 总 结
面对当今信息化的迅速发展,银行业务系统的安全性越来越重要,据ISCA统计,来自计算机系统内部的安全威胁高达60%,主要包括以下几个方面,首先是非法用户进入系统及合法用户对系统资源的非法使用,然后就是被非法用户获取敏感数据以及对业务数据进行恶意篡改,最后就是数据发送方在发出数据后加以否认或接受方收到数据后篡改数据。针对以上几种情况,可以看出对于敏感数据的加密是至关重要的。针对建行新一代的系统安全需求,本文简要介绍对敏感数据加密的实现方法。
鉴于我行柜员数量众多(不低于40万柜员),每个柜员对应一个P2C,而P2C主机无法部署密码安全组件提供的安全代理(简称SA),因此我们提出了由P2S为每个P2C派生用户工作密钥的解决方案:在P2S上部署SA,P2S在每个P2C签到时,调用密码组件提供的安全API,为每个P2C派生出唯一的用户工作密钥,在下次签到之前,P2C和P2S之间的敏感数据都采用本地派生的用户工作密钥加解密。我们提出了P2S-P2C的解决方案。
为了保证P2C-P2S之间安全策略顺利实施,P2C与P2S之间需要按照密码技术应用方案进行相应的配套改造。
最后我们介绍了密钥的三列规则,通过对改规则的介绍使得对端到端加密方法的了解更加详细。
17
P2端到端加密关键技术研究与实现
致 谢
在中国建设银行北京开发中心入职这一年,向关心我的领导和同事表示深深的感谢。在这里学习的期间我不仅学习到了知识,而且使我的视野更加宽阔。在轮岗的这一年里,我被这里的深厚的学习氛围和良好的工作环境所熏陶。
在此特别感谢我的领导谷利民博士和组长王宁,他们工作态度认真、思维敏捷、积极向上的精神时刻的鼓励着我奋发向上。谷利民博士和组长王宁对我的悉心教导和尊尊教诲让我受益匪浅。
感谢导师姬旭,是他的耐心的教导,使得我在入职的这一年快速的成长。
感谢谷利民博士,他是一位平易近人的领导,在工作上他追求上进,耐心的指导每一位新同事,在入职这一年来时间,在学习和生活上都给予了很大的帮助。
感谢组长王宁,他年轻有为、细致认真、勤奋好学,他带领我们共同的学习和实践。他上的刻苦专研的精神是我学习的榜样。在此,也感谢王宁在工作上对我的认真的指导,不畏麻烦。他这种乐于助人的品格是我一生学习的榜样。
感谢组内的同事柳勇光、姜亮和黄志敏,正是有了你们的帮助,我才会不断克服困难、不断的进步。
最后,感谢所有信用卡团队的领导和同事,在我的第一份工作时给我提供了极大的帮助;感谢建行和北京开发中心提供了新一代这个平台,给了我一个极好的学习机会,让我迅速提升了自己的技术能力,学习了相关的业务知识,使我快速成长。
18