`
TimerBin
  • 浏览: 355601 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

前言

 本文主要说明在第三方支付系统开发过程中,网银支付接口开发开发随笔总结。

一、常用加密类型分类

1、对称加密:采用单钥对信息进行加密和解密,即同一个秘钥既可以对信息进行加密,也可以进行解密。此类型称之为对称加密。特点速度快,常用于对大量数据信息或文件加密时使用。常用例子:DES、IDEA、RC2、RC4、SKIPJACK、RC5、AES。

具体java例子可详见附件:DesUtil

2、非对称加密:采用公钥和私钥双钥形式对信息进行加密和解密,其中公钥和私钥是成对存在的,即使用公钥对信息加密后的密文只用使用其相应的私钥才可以进行解密,反之也毅然。相对对称加密而言叫做非对称加密。安全性非常好,但加密和解密耗时较长,比较适用于小数据量加密解密。常用例子:数字签名、RSA。

具体java例子可参见附件:RsaUtil

二、数据传输流程说明

1、术语解释

公钥:非对称加密算法双钥对中可向外界公开的称为公钥 (PublicKey)。在网银支付时一般需第三方支付系统将自己的公钥提供给银行,同时银行也会将它们的公钥提供给第三方支付系统。

私钥:非对称加密算法双钥对中不可向外界公开的称为私钥 (PrivteKey)。在网银支付时私钥一般需第三方支付系统妥善保存在自己系统中用于对接收到的银行指令进行验证。

加密解密:在非对称加密中,使用公钥对信息处理称之为加密,使用私钥对公钥处理后的加密密文反转过程称为解密,加密解密在对称加密算法中不做解释。

签名验证签名:只能使用在非对称加密算法中,使用私钥进行签名,公钥进行验证签名,原理是使用私钥对信息生成加密hashCode摘要,同信息一同发送给公钥持有方,公钥持有方会使用公钥对信息生成加密hashCode摘要与私钥生成的进行比较的过程就要做签名、验证签名。

2、流程说明

注:Au:第三方支付公钥        Ai:第三方支付私钥       Bu:银行公钥     Bi:银行私钥

(1)第三方支付-->银行流程:第三方支付系统向银行发送信息流程

第三方支付系统会使用自己的私钥对传输传输信息进行签名,签名后将签名密文信息与信息一同使用银行提供给第三方支付系统银行公钥进行加密。加密后将信息传输给银行,银行接收到第三方支付系统传输过来的信息,首先会用银行自己的私钥对信息进行解密,解密后再使用第三方支付系统提供给银行的公钥信息对信息进行验证签名,验证通过后此流程完成。

(2)银行--->第三方支付:银行向第三方支付系统发送信息流程

银行会使用自己的私钥对传输信息进行签名,签名后将原文和密文信息一同使用第三方支付系统提供的公钥信息进行加密,将加密后信息传输给第三方支付系统,第三方支付系统接受到银行发送过来的信息后,使用自己的私钥对信息进行解密,再使用银行提供的公钥对解密后信息进行验证签名,验证签名通过后此流程完成。

三、CA数字证书

CA数字证书的使用目的是为了防止您提供给对方的公钥信息不被他人替换,其原理只是到相关证书中心进行申请,证书中心会对你的信息和公钥信息一起加密,从而获得一个只属于你的证书就是CA数字证书。对方在验证签名过程中需要使用证书中心的提供的公钥来解开你的CA数字证书,从而获得你的公钥信息进行验证签名,从而确认你的身份。

四、HTTPS

简单讲是HTTP的安全版,通道使用的依旧是HTTP通道(端口由80变为了443),只是在其通道的基础上添加了SSL安全基础,即在http通道的基础上增加了身份验证和传输加密。其中SSL协议在网络层次上位于HTTP之后TCP/IP之间,为数据通讯提供安全支持。
SSL协议可分为两层:
SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。
SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

 

SSL协议提供的服务主要有:
1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
2)加密数据以防止数据中途被窃取;
3)维护数据的完整性,确保数据在传输过程中不被改变。


SSL协议的使用流程说明:
1)当客户端向服务器发送一个会话连接请求。
2)服务器接收到客户端的请求后,会根据客户端的会话请求信息进行判断此客户端是否已经存在对称加密密钥,从而判断是否需要产生一个新的密钥,如果需要客户端产生一个新的对称密钥,会将SSL 协议的版本号,加密算法的种类,随机数数字签名、CA数字证书及其他相关信息响应给客户端。
3)客户端接收到服务器端的响应信息,会通过CA数字证书是否过期、发行服务器证书的CA是否可靠、使用CA证书中存储的公钥能否正确验证服务端的数字签名、服务器证书上的域名是否与服务器的实际域名相同等手段对服务端响应信息进行验证。
4)客户端验证服务端通过后,会使用服务端的响应信息生成一个对称密钥(通讯密码),然后使用服务端的公钥(可从CA证书中获取)对此密钥加密,然后将加密后的密文信息传输给服务器。(如果服务端需要对客户端进行验证时,可要求客户端生成一个随机数,然后使用ca证书进行数字签名,然后将签名密文和随机数一同发给服务端,服务端使用CA证书对其进行验证签名,验证通过后即服务端验证客户端完成)
5)服务器接收到客户端请求后,会对其检查客户端传过来的密文,使用自己的私钥对其进行解密,获得对称密码(通讯密码)。
6)客户端会向服务端表明发出信息,表明以后与其通讯会使用此对称密码对进行通讯。
7)服务端接收到客户端发出的使用此密码的消息后,会将对称密码记录下来,在第2)步就对其进行判断。
8)此流程完成后就可以安全使用HTTPS进行通话了。通话过程中会使用对称密钥对通话信息进行加密。

 

//HTTPS 参考地址如下所示

http://hi.baidu.com/zkheartboy/item/f5f729925c1d8bf129164757

 

 

分享到:
评论

相关推荐

    金盾视频高级加密系统 2016S VIP 注册版 高强度视频加...

    2、单个视频支持无穷大,逐帧加密,加密后的视频可以在1秒钟左右打开播放,边解密边播放; 3、有两种加密算法可以选择,几乎可以加密所有常见或不常见的视频格式; 4、加密后的视频可以采用各种灵活调用方式,可以...

    金盾高级视频加密系统V2016S加强版

    2、单个视频支持无穷大,逐帧加密,加密后的视频可以在1秒钟左右打开播放,边解密边播放; 3、有两种加密算法可以选择,几乎可以加密所有常见或不常见的视频格式; 4、加密后的视频可以采用各种灵活调用方式,可以...

    金盾加密软件

    2、单个视频支持无穷大,逐帧加密,加密后的视频可以在1秒钟左右打开播放,边解密边播放; 3、有两种加密算法可以选择,几乎可以加密所有常见或不常见的视频格式; 4、加密后的视频可以采用各种灵活调用方式,可以...

    金盾高级视频加密系统V2016

    2、单个视频支持无穷大,逐帧加密,加密后的视频可以在1秒钟左右打开播放,边解密边播放; 3、有两种加密算法可以选择,几乎可以加密所有常见或不常见的视频格式; 4、加密后的视频可以采用各种灵活调用方式,可以...

    一元云购源码企业版2.9.9 最新版 yungoucms源码

    云购系统(YunGouCMS)内置财付通、支付宝、网银在线、易宝支付及手机支付等支付接口,所有网银用户均可无障碍支付。 提示:此版本未破解,内有4个phpjm的文件,本人没能力解密,有能力的解密后,就能达到破解的...

    素材资源分享系统全开源 自适应源码.zip

    素材资源分享系统开源解密版源码,主要采用友价T5内核加上星期派源码交易系统绿白风格模板,代码全部开源,没有人加密,非常适合进行二开。系统源码WAP手机自适应,支持WAP手机端响应式模板,非常适合拿来做源码商城...

    网络支付安全技术.doc

    《规》规定"要确保卡存储的特定功能的加密/解密 密钥不能被其他功能所使用,以及用来产生、派生和传输这些密钥的密钥都要具备专用 性。"因此,安全策略中必须对这些密钥的流通和使用做出严密的管理。 常常密切注意...

    安全电子邮件客户端OMail 5.1 beta Part2

    OMail利用邮件地址作为标识,实现了邮件的加密解密、签名验证和时间控制策略。 使用简便、易于部署。 支持USB Key:不改变使用习惯,不增加使用难度,无需其它专业知识,只需要将IBCKey插入电脑的USB接口即可使用。 ...

    安全电子邮件客户端OMail 5.1 beta Part1

    OMail利用邮件地址作为标识,实现了邮件的加密解密、签名验证和时间控制策略。 使用简便、易于部署。 支持USB Key:不改变使用习惯,不增加使用难度,无需其它专业知识,只需要将IBCKey插入电脑的USB接口即可使用。 ...

    天空网络电影系统 v5.0 ASP免费版

    全面支持北京易达信动 Qpay网上支付平台,完美支付银行卡在线支付、手机支付、声讯支付,宽带支付,支付完成全自动开通会员 • 人性化的后台管理配合多样式广告设置(首页广告,漂浮广告,播放器广告,强制点广告...

    ASP.NET开发典型模块大全(C#)23到26章源码

     第21章 在线银行支付模块  第22章 手机短消息管理平台  第23章 在线音乐模块  第24章 电子相册模块  第25章 投票系统模块  第26章 万能打印模块  第27章 数据备份与恢复模块  第28章 LINQ数据库...

    学校网络安全教育总结.docx

    另外我们每天的新闻都会有好多网络犯罪案件,这些都是个人信息的泄露,不是个人网上银行密码被盗,就是网络个人信息泄露犯罪,所以这些呢都是需要我们重视的,如今第三方支付平台和网上零售等的不断发展我们更是...

    网络安全心得体会.docx

    另外我们每天的新闻都会有好多网络犯罪案件,这些都是个人信息的泄露,不是个人网上银行密码被盗,就是网络个人信息泄露犯罪,所以这些呢都是需要我们重视的,如今第三方支付平台和网上零售等的不断发展我们更是...

    电子商务大赛.doc

    银行卡 C. 电子货币 D. 电子支票 答案:A (2) 16.在网上购物流程中,位于"订购产品"与"货到付款"之间的步骤是( )。 A. 用户注册 B. 选购产品 C. 送货上门 D. 浏览产品 答案:C (2) 17.在数字证书中,私钥除用于...

Global site tag (gtag.js) - Google Analytics