网上支付系统应用安全设计方案.docx
- 文档编号:11383909
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:23
- 大小:359.02KB
网上支付系统应用安全设计方案.docx
《网上支付系统应用安全设计方案.docx》由会员分享,可在线阅读,更多相关《网上支付系统应用安全设计方案.docx(23页珍藏版)》请在冰豆网上搜索。
网上支付系统应用安全设计方案
网上支付系统应用安全设计方案
1.1目的
本文档结合客户需求,描述海航集团网上支付系统应用安全的设计方案。
主要提供给客户,作为系统方案交流的依据,以及提供给开发人员,作为整理开发手册的基础。
1.2名词解释
基本术语
说明
PIN
用户的交易密码,用户在交易时通过密码键盘输入,由业务主机进行验证。
密钥信封
存放密钥明文的信封文件,其中,密钥明文不可见,只有该信封被拆开后才能看到密钥的明文。
PVK
PINVerifyKey,PIN验证密钥,用于加密、验证PIN。
ZPK
ZonePINKey,区域PIN密钥,用于加密PIN。
LMK
LocalMasterKey,本地主密钥,用于工作密钥或私钥在本地存储时进行保护。
RSA
一种国际标准的非对称密钥算法。
RSA密钥对
RSA非对称密钥体系中的密钥,每对RSA密钥对都包含一把公钥和一把私钥。
PK
RSA非对称密钥体系中的公钥,公钥的明文可以公开。
VK
RSA非对称密钥体系中的私钥,私钥的明文不能公开。
用户登录密码
以下也简称为登录密码,指用户登录系统时输入的密码,包括字母和数字,不定长。
2软件需求
2.1客户原始需求
在用户进行网上交易的过程中,为保障用户敏感信息的安全,维护用户的利益,要求网上支付交易必须符合以下安全需求:
1.用户PIN在交易过程中,不得以明文形式在硬件安全设备之外出现。
2.要求对交易的报文进行完整性验证,防止交易报文被篡改。
3.要求对登录用户的登录密码进行验证,保证用户登录的合法性和正确性。
2.2需求分析
需求要点
需求要点说明
需求要点的实现方式
用户PIN的安全
用户的PIN在网上交易过程中进行转发和验证时,明文仅允许在硬件安全设备中出现。
PIN的验证由业务主机和密码机保障,因此仅考虑PIN在传输过程中的安全。
采用RSA非对称密钥机制:
●提供网页上的安全控件,用密码服务平台的公钥加密PIN。
●提供密码服务平台的安全服务,可以将公钥加密的PIN转换为与主机约定的ZPK加密的PIN,再传到主机进行验证。
交易报文的安全
交易报文传输过程中,报文的发起方生成签名,报文的接收方需验证签名,以保证报文没有被篡改。
采用RSA非对称密钥机制:
●提供网页上的安全控件,用安全控件的私钥对交易报文进行签名。
●提供密码服务平台的安全服务,用相应安全控件的公钥验证签名是否正确。
用户登录的安全
用户登录时,需验证其登录的字符密码,保证用户登录的合法性。
●用户登录时,由网页上的安全控件提供密码输入的软键盘功能(包含字符和数字输入,且数字输入随机乱序),并且用密码服务平台的公钥加密用户登录密码。
●提供密码服务平台的安全服务,将登录密码转换为PVK加密。
该功能在用户第一次输入登录密码或修改密码时调用,应用系统将PVK加密的登录密码密文保存到数据库中。
●提供密码服务平台的安全服务,将应用系统数据库中保存的用户登录密码密文和用户从界面输入的登录密码密文送到密码机中进行验证。
该功能在验证用户的登录密码时调用。
3系统设计
3.1网络结构图
图3-1网络结构图
图3-1中,安全控件存放在WebServer,第一次使用时从WebServer下载到IE终端保存,由应用系统调用其中的功能函数进行安全处理。
应用服务器调用密码服务平台的API,访问密码服务平台,完成安全服务功能。
在进行交易之前,必须完成密钥的生成和同步,包括密码服务平台与业务主机的密钥同步,以及密码服务平台与安全控件的密钥同步。
密码服务平台通过调用密码机指令完成安全算法运算,通过管理终端可以管理密码服务平台,通过监控终端可以对密码服务平台的运行状况进行实时监控。
3.2系统结构图
图3-2系统结构图
图3-2中,绿色竖纹方框表示科友公司提供的系统。
安全控件分为两部分,‘安全模块’提供应用系统访问安全控件的接口,‘软Key模块’提供密钥访问和算法接口,相当于一个软件算法模块。
如果将来使用硬件存储密钥和进行算法运算,则直接替换‘软Key模块’即可。
每个安全控件有一对公私钥对,私钥保存在控件的‘软Key模块’中,公钥上传给密码服务平台保存。
密码服务平台本身有一对公私钥对,私钥保存在密码机中,公钥除保存在数据库中外,还需要分发给每个安全控件保存。
密码服务平台还需要与业务主机约定ZPK,数据库中保存ZPK的密文。
一般采用先打印密钥信封,再通过人工录入的方式来进行同步。
3.3系统功能清单
软件模块
功能说明
必须的功能
客户需要的功能
自行增加的功能
是否新增功能
安全控件
提供界面,由用户输入P10证书的相关信息和私钥保护口令。
然后随机生成一对RSA密钥对,将口令保护的私钥密文文件保存在本地,输出P10公钥证书请求文件。
√
√
√
保存密码服务平台的公钥。
√
√
验证并保存密码服务平台签发的安全控件P10公钥证书。
√
√
√
提供密码输入的软键盘功能(包含字符和数字输入,且数字输入随机乱序),并且用密码服务平台的公钥加密用户登录密码或PIN,输出密文。
√
√
提供界面,由用户输入私钥保护口令,然后用安全控件的私钥对报文进行签名,输出签名。
√
√
密码服务平台
通过密码服务平台的初始化工具调用密码机随机生成:
●密码服务平台的RSA密钥对
●密码服务平台的PVK
√
√
通过管理界面下载密码服务平台的公钥文件。
√
√
通过管理界面上传CA的公钥文件。
√
√
通过管理界面保存CA签发的密码服务平台公钥证书(X509v3)。
√
√
√
通过API,验证安全控件的P10证书请求文件资料的合法性,保存安全控件的公钥(根据安全控件的ID号保存)。
然后用密码服务平台的私钥签发安全控件的P10公钥证书,输出安全控件的P10公钥证书。
√
√
√
通过API,下载密码服务平台的公钥。
通过API,将密码服务平台公钥加密的PIN转换为业务主机ZPK加密的PIN密文。
√
√
通过API,将密码服务平台公钥加密的用户登录密码密文转换为PVK加密的密文。
√
√
通过API,将密码服务平台公钥加密的用户登录密码密文和应用系统数据库中保存的PVK加密的登录密码密文送到密码机中进行验证。
√
√
通过API,根据安全控件的ID号取出相应安全控件的公钥,用公钥验证报文的签名是否正确。
√
√
说明:
每个用户对应唯一一个安全控件,每个安全控件拥有唯一一对RSA公私钥对,密码服务平台保存每个用户的安全控件公钥,因此,安全控件的公钥必须通过用户的ID号来存取。
调用API访问密码服务平台时,凡涉及到安全控件的公钥,都必须在API的输入参数中包含安全控件的ID号,该ID号由应用系统取值,用以唯一标识一个用户。
3.4系统部署图
图3-3系统部署图
✧密码服务平台一般为双机热备份形式,部署在独立的服务器上。
✧密码机可以部署多台。
密码机与密码服务平台之间组成一个单独的网,即:
只有密码服务平台才能访问密码机,从网络上杜绝其它任何系统直接访问密码机。
✧密码服务平台一般部署一个管理终端即可,可部署多个监控终端。
✧每个用户对应一个安全控件,使用时现从网上支付应用的WebServer下载。
3.5系统组件
以下列出了密码服务平台、API和安全控件支持的操作系统、数据库等,由客户根据需要进行选择。
项目
组件
操作系统
数据库
Windows
Aix
Linux
Sco
DB2
Oracle
Informix
Sybase
平台
√
√
√
√
√
√
√
平台API
√(C/Java)
√
√
√
安全控件
√
3.6密钥体系
3.6.1密钥使用示意图
图3-4密钥使用示意图
图3-4简要说明了各种密钥的使用,其中,红色实线表示安全控件完成的功能,蓝色虚线表示在密码服务平台完成的功能。
注意:
PIN/用户登录密码的解密操作是在密码机部完成的,密码服务平台实际进行的是PIN/用户登录密码的转加密、验证功能,因此PIN/用户登录密码的明文不会出现在密码设备之外。
3.6.2密钥分布图
图3-5密钥分布图
密码服务平台和安全控件各有自身的RSA公私钥对,私钥保存在自身的密钥库中,公钥除保存在自身的密钥库中外,还需要保存在对方的密钥库中。
密码服务平台的数据库中需要保存所有控件的公钥,由于控件数量较多(可能一个用户对应一个控件),因此不能使用文件方式存储,必须安装数据库。
3.6.3密钥说明
密钥
密钥的用途
密钥的强度
密钥的存储
密钥的数量
密钥的初始化
密钥的生存周期
密码服务平台的私钥
●签发安全控件的P10公钥证书
●在密码机部解密PIN
●512bits
●1024bits
●2048bits
●明文形式存储在密码服务平台的密码机中。
●LMK加密的密文形式存储在密码服务平台的数据库中。
只有一对RSA密钥对。
●在密码服务平台初始化时通过初始化工具由密码机随机产生。
●通过界面下载公钥,并保存由CA签发的公钥证书(X509v3)。
除非有特殊原因,一般投产之后不会改变。
密码服务平台的公钥
●提供给CA签发X509公钥证书
●加密PIN
●512bits
●1024bits
●2048bits
●明文形式存储在密码服务平台的数据库中。
●明文形式存储在安全控件的密钥库中。
安全控件的私钥
对交易报文进行签名
●512bits
●1024bits
●2048bits
口令加密的密文文件形式存储在安全控件的软Key模块中。
每个安全控件一对RSA密钥对。
●初始化安全控件时随机产生,由用户输入的口令保护存储。
●P10公钥证书由密码服务平台签发,签发时密码服务平台保存安全控件的公钥。
可以定期更新,具体周期由客户自行确定。
安全控件的公钥
●提供给密码服务平台签发P10公钥证书
●验证交易报文的签名
●512bits
●1024bits
●2048bits
●明文文件形式存储在安全控件的软Key模块中。
●明文形式存储在密码服务平台的数据库中。
与业务主机约定的ZPK
加密PIN
●64bits
●128bits
●192bits
●LMK加密的密文形式存储在密码服务平台的数据库中。
●密文形式存储在业务主机的数据库中。
只有一把
在密码服务平台初始化时与业务主机约定,可以选择以下方式:
✓打印密钥信封,然后再手工录入
✓人工约定,手工录入
需要与业务主机方确定。
密码服务平台的PVK
加密/验证用户登录密码
●64bits
●128bits
●192bits
LMK加密的密文形式存储在密码服务平台的数据库中。
只有一把
在密码服务平台初始化时通过初始化工具由密码机随机产生。
除非有特殊原因,一般投产之后不会改变。
LMK
私钥或工作密钥在本地保存时用LMK加密。
128bits
明文形式存储在密码机中。
一把LMK保护一类密钥
在密码机测试或投产前,由人工通过界面录入MK,通过部算法离散生成LMK。
除非有特殊原因,一般投产之后不会改变。
3.6.4密码服务平台RSA密钥对的初始化流程
图3-6密码服务平台RSA密钥对初始化流程图
3.6.5安全控件和密码服务平台的密钥同步流程
图3-7安全控件和密码服务平台的密钥同步流程图
3.7交易安全处理流程
3.7.1用户登录密码验证流程
图3-8用户登录密码验证流程图
3.7.2PIN的安全处理流程
图3-9PIN的安全处理流程图
3.7.3交易报文的安全处理流程
图3-10交易报文的安全处理流程图
4交付件
类型
名称
说明
软件包
安全控件
密码服务平台API库
Java的jar包
密码服务平台4.x
包括服务器安装包和WebServer。
设计文档
海航集团网上支付系统应用安全设计方案
基于用户需求,对系统的总体结构、部署、功能、密钥体系、交易流程等进行详细说明。
海航集团网上支付系统应用安全开发手册
描述开发人员进行开发的具体实现细节。
用户文档
安全控件使用说明
说明安全控件的使用方法和注意事项。
密码服务平台API手册
说明库中API的调用方法,对其中的每个API接口要进行详细说明。
密码服务平台用户手册
说明密码服务平台的使用方法,以及如何进行维护、配置、管理等。
安装手册
密码服务平台安装手册
说明密码服务平台的安装方法。
5附件
5.1项目风险说明
编号
部署点
功能
存在的风险
规避风险的参考方法
1
安全控件‘软Key模块’
●存储私钥
●安全算法运算
私钥由用户的口令加密后,得到私钥的密文,私钥的密文以文件的方式存放在IE终端。
只要进入系统,机器上的私钥文件就可以被拷贝出来,如果私钥文件受到非法的恶意攻击,就有可能由于口令被破解而导致私钥泄密,从而给用户造成损失。
强烈建议使用硬件存放私钥,并进行安全算法运算。
推荐的硬件存储介质包括:
●UsbKey
●IC卡
可以为每个用户分发、注册一个用户身份认证介质。
说明:
除上述风险外,使用‘软Key’还会给用户带来不方便的因素。
由于私钥密文文件存放在IE终端,如果用户换一台终端,则必须将私钥密文文件拷贝到新的终端上,才能成功使用。
因此必须告诉用户私钥文件的存放位置和使用注意事项,如果使用硬件的身份认证介质,则只要用户使用时插入身份认证介质即可,比较方便。
5.2建议硬件、操作系统配置
部署点配置
硬件
操作系统
密码服务平台服务器
INTEL架构服务器,80GB7.2K硬盘,1G存。
Aix版本5以上。
密码服务平台客户端
普通PC机即可,硬盘空间300M。
Windows
密码机
SJL0902
5.3项目其它要求
项目
具体要求
密码服务平台监控、管理软件架构
B-S
密码服务平台服务器运行的操作系统
AIX
密码服务平台服务器安装数据库
Oracle9i
公司部联系人
林绵雄
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上支付 系统 应用 安全 设计方案