一种wapi终端与应用服务器传输文件的系统及方法

文档序号:7721690阅读:164来源:国知局
专利名称:一种wapi终端与应用服务器传输文件的系统及方法
技术领域
本发明涉及WAPI技术领域,具体涉及一种WAPI终端与应用服务器传输文件的系 统及方法。
背景技术
为了解决无线局域网国际标准IS0/IEC 8802-11中定义的WEP(WiredEquivalent Privacy)安全机制存在的安全漏洞,我国颁布了无线局域网国家标准及其第一号修 改单,采用无线局域网认证与保密基础结构WAPI(WLANAuthentication and Privacy Infrastructure)替代WEP,解决无线局域网的安全问题。WAPI由无线局域网鉴别基础结 构(WAI WLAN Authenticationlnfrastructure)和无线局域网保密基础结构(WPI WLAN Privacy Infrastructure)组成。WAI采用了公开密钥加密技术,用于终端与接入点之间的 互相身份鉴别;WPI采用国家密码管理委员会办公室批准的用于WLAN的对称密码算法实现 数据保护,对MAC子层的MSDU进行加、解密处理。规范中介绍的基础结构包括了几个功能实 体,接入点(AP access point)是指任何一个具备站点功能,通过无线媒体为关联的站点提 供访问分布式服务的实体;鉴别请求者实体(ASUE authentication supplicant entity) 是在接入服务之前请求进行鉴别操作的实体;鉴别器实体(AE authenticator entity)为 鉴别请求者在接入服务之前提供鉴别操作的实体。该实体主流在接入点或终端内;鉴别服 务单元(ASU authentication service unit)的基本功能是实现对用户证书的管理和用户 身份的鉴别等,是基于公开密钥密码技术的WAI鉴别基础结构中重要的组成部分;鉴别服 务实体(ASE authentication service entity)为鉴别器和鉴别请求者提供身份鉴别服务 的实体。该实体驻留在鉴别服务单元中,鉴别服务单元对应网络中的节点为WAPI鉴别服务 器。用户证书为公开密钥证书,它是WAI系统构造中重要的环节。公开密钥证书是网络用 户的数字身份凭证,通过私有密钥验证可以唯一地确定网络用户的身份。
网络存储是一种常见的互联网业务,提供各类文件内容的上传、下载和检索功能。 随着WAPI的部署和实施,越来越多的移动终端支持无线局域网接入,同时也将会支持越 来越多的互联网业务功能。网络存储对于移动终端而言,具有相当大的使用价值。目前 的移动终端已逐渐演变为以个人沟通交流为核心的多媒体信息平台,终端强大的多媒体 信息采集功能势必需要一个可靠的内存存储平台,考虑到多设备间的内容共享,网络存储 无疑是一个非常有潜力的移动互联网业务。基于Web的网络存储应用在互联网环境下, 通常会有自己的登录机制,如需用户提供用户名密码以辨明身份。移动终端在接入网络 时已经完成了身份鉴别过程,如果可以充分利用接入鉴别的能力,一方面简化了终端用户 的操作,另一方面,应用提供商可复用WAPI所依赖的公开密钥基础设施PKI (Public Key Infrastructure),包括证书颁发系统和客户端上的证书等资源,还可以向客户提供存储内 容的完整性、机密性保护功能。

发明内容
本发明要解决的技术问题是提供一种WAPI终端与应用服务器传输文件的系统及 方法,有效地保证了传输文件内容的安全性。 为了解决上述问题,本发明提供了一种WAPI终端与应用服务器传输文件的方法, 包括 WAPI终端与应用服务器之间采用HTTP消息传输文件内容时,发送端使用WPI算法 对传输的文件内容进行加密,并对传输的内容做数字签名后传输,接收端收到包含文件内 容的HTTP消息后解析出所述文件内容并验证所述数字签名,若数字签名验证通过则传输 的文件内容未被更改。 进一步地,在传输文件内容前,所述终端向应用服务器发送HTTP GET请求时将该 请求的一头域值表示为一预设值表示该终端为WAPI终端,所述应用服务器收到所述HTTP GET请求后若所述头域值为预设值则判定所述终端为WAPI终端。 进一步地,应用服务器收到所述终端发来的HTTP GET请求后向所述终端返回 2000K消息时增加一个数字签名,所述数字签名的方式为,使用WAI散列算法计算返回的页 面,并使用应用服务器WAPI证书的私钥,利用WAI的椭圆曲线算法,对散列计算结果做加密 计算生成签名; 所述终端收到2000K消息后解析出所述数字签名,获取预存于终端上的应用服务 器WAPI证书的公钥解密该数字签名,并利用WAI的散列函数对网页内容进行散列计算,之 后比较散列计算的结果与解密的数字签名是否一致,若一致则通过对应用服务器的鉴别, 否则鉴别未通过。 进一步地,当所述终端向应用服务器上传内容时,先生成一个128位随机数作为 临时会话密钥,使用WPI中的SMS4算法对上传文件内容做加密得到密文,接着使用应用服 务器WAPI证书的公钥对临时会话密钥进行公开密钥算法加密得到加密后的密钥,还对上 传的文件内容做数字签名;加密后的密文、数字签名和加密后的随机数和用户WAPI证书标 识或WAPI证书一起封装,将封装的内容通过HTTP POST发送至应用服务器;
所述应用服务器收到所述HTTP POST后,分离出用户的WAPI证书标识或WAPI证 书,若分离出的是WAPI证书标识则获取WAPI证书,使用应用服务器的WAPI证书的私钥对 加密后的密钥进行公开密钥算法解密得到临时会话密钥,对上传内容中的密文进行对称密 钥算法解密得到正文,并对解密出的正文进行散列计算得到散列值,所述应用服务器还使 用终端WAPI证书的公钥对签名进行公开密钥算法解密得到另一散列值,之后比较得到的 上述2个散列值是否一致,若一致则对终端的验证通过,且接收的文件内容未被更改。
进一步地,当所述终端从应用服务器获取内容时,向应用服务器发送HTTP GET消 息时携带要获取内容对应的统一资源定位符; 所述应用服务器收到HTTP GET消息后根据所述统一资源定位符获知终端请求的 文档内容,之后生成128位随机数作为临时会话密钥,并使用此临时会话密钥对客户端请 求的文档内容做SMS4加密,并对文档内容做数字签名,还使用终端WAPI证书的公钥对临时 会话密钥进行公开密钥算法加密得到加密后的密钥,所有内容以固定格式封装或以表单形 式作为2000K消息体返回给终端; 所述终端收到所述2000K消息后,利用终端WAPI证书的私钥对加密的密钥进行公开密钥算法解密得出临时会话密钥,之后使用该临时会话密钥对密文进行对称密钥算法解 密得到文档正文,并对解密出的正文进行散列计算得到散列值,还使用应用服务器WAPI证 书的公钥对签名进行公开密钥算法解密得到另一散列值,比较得到的上述2个散列值是否 一致,若一致则验证通过,且接收的文件内容未被更改。 进一步地,所述终端向应用服务器发送HTTP GET消息时对所述统一资源定位符进 行数字签名,之后将所述数字签名及用户证书标识作为统一资源定位符参数通过HTTP GET 消息发送至应用服务器,所述应用服务器收到HTTP GET消息后分离出用户证书标识,并获 取用户证书,之后使用证书中的公开密钥解密该数字签名,并利用WAI的散列函数对网页 内容进行散列计算,之后比较散列计算的结果与解密的数字签名是否一致,若一致则通过 对终端的鉴别。 进一步地,所述终端对上传的文件内容做数字签名是指,对所述文件内容做散列
计算,之后使用终端WAPI证书的私钥对散列计算后的值进行公开密钥算法加密。 进一步地,所述应用服务器对文档内容做签名计算是指,对所述文档内容做散列
计算,之后使用应用服务器WAPI证书的私钥对散列计算后的值进行公开密钥算法加密。 本发明还提供一种WAPI终端与应用服务器传输文件的系统,包括发送端与接收
丄山
顺; 所述发送端,用于使用WPI算法对传输的文件内容进行加密,并对传输的内容做 数字签名后通过HTTP消息发送至所述接收端; 所述接收端,用于收到所述HTTP消息后解析出所述文件内容并验证所述数字签 名,若数字签名验证通过则传输的文件内容未被更改。 进一步地,所述发送端为WAPI终端或应用服务器,接收端为应用服务器或WAPI终
丄山
顺; 所述终端包括设置模块、发送模块; 所述终端的设置模块用于在传输文件内容前,向应用服务器发送HTTPGET请求时 将该请求的一头域值表示为一预设值表示该终端为WAPI终端; 所述应用服务器用于收到所述HTTP GET请求后若所述头域值为预设值则判定所 述终端为WAPI终端。 进一步地,所述应用服务器包括加密模块及发送模块; 所述应用服务器的加密模块用于使用WAI散列算法计算返回的页面,并使用应用 服务器WAPI证书的私钥,利用WAI的椭圆曲线算法,对散列计算结果做加密计算生成数字 签名; 所述应用服务器的发送模块用于向终端返回2000K消息时携带上述数字签名;
所述终端的解密模块收到2000K消息后解析出所述数字签名,获取预存于终端上 的应用服务器WAPI证书的公钥解密该数字签名,并利用WAI的散列函数对网页内容进行散 列计算,之后比较散列计算的结果与解密的数字签名是否一致,若一致则通过对应用服务 器的鉴别,否则鉴别未通过。 进一步地,当所述终端向应用服务器上传内容时所述终端为发送端,所述应用服 务器为接收端; 所述终端包括加密模块及发送模块;
8
所述终端的加密模块,用于生成一个128位随机数作为临时会话密钥,以及使用 WPI中的SMS4算法对上传的文件内容做加密得到密文,使用应用服务器WAPI证书的公钥对 临时会话密钥进行公开密钥算法加密得到加密后的密钥,还用于对上传的文件内容做数字 签名; 所述终端的发送模块,用于将加密后的密文、数字签名、加密后的随机数和用户 WAPI证书标识或WAPI证书一起封装,以及将封装的内容通过HTTP POST发送至应用服务器;
所述应用服务器包括接收模块及解密模块; 所述应用服务器的接收模块,用于收到所述HTTP POST后,分离出用户的WAPI证 书标识或WAPI证书,若分离出的是WAPI证书标识则获取WAPI证书; 所述应用服务器的解密模块,用于使用应用服务器的WAPI证书的私钥对加密后 的密钥进行公开密钥算法解密得到临时会话密钥,以及使用该临时会话密钥对上传内容中 的密文进行对称密钥算法解密得到正文,并对解密出的正文进行散列计算得到散列值,还 用于使用终端WAPI证书的公钥对签名进行公开密钥算法解密得到另一散列值,并比较得 到的上述2个散列值是否一致,若一致则对终端的验证通过,且接收的文件内容未被更改。
进一步地,当所述终端从应用服务器获取内容时所述应用服务器为发送端,所述 终端为接收端; 所述终端包括发送模块、接收模块及解密模块; 所述终端的发送模块用于向应用服务器发送HTTP GET消息时携带要获取内容对 应的统一资源定位符; 所述应用服务器包括接收模块、加密模块及发送模块; 所述应用服务器的接收模块,用于收到HTTP GET消息后根据所述统一资源定位符 获知终端请求的文档内容; 所述应用服务器的加密模块,用于生成128位随机数作为临时会话密钥,以及使 用该临时会话密钥对终端请求的文档内容做SMS4加密形成密文,并对文档内容做数字签 名,还用于使用终端WAPI证书的公钥对临时会话密钥进行公开密钥算法加密得到加密后 的密钥; 所述应用服务器的发送模块,用于将所述密文、签名以及加密后的临时会话密钥 作为2000K消息体发送至终端; 所述终端的接收模块,用于将收到的所述2000K消息发送至解密模块; 所述终端的解密模块,用于使用终端WAPI证书的私钥对加密的密钥进行公开密
钥算法解密得出临时会话密钥,以及该临时会话密钥对密文进行对称密钥算法解密得到文
档正文,并对解密出的正文进行散列计算得到散列值,还用于使用应用服务器WAPI证书的
公钥对签名进行公开密钥算法解密得到另一散列值,以及比较得到的上述2个散列值是否
一致,若一致则验证通过,且接收的文件内容未被更改。 进一步地,所述终端的加密模块还用于向应用服务器发送HTTP GET消息时对所述 统一资源定位符进行数字签名; 所述终端的发送模块还用于向应用服务器发送HTTP GET消息时将所述数字签名 及用户证书标识作为统一资源定位符参数发送至应用服务器; 所述应用服务器的解密模块还用于分离出HTTP GET消息中的用户证书标识,并获
9取用户证书,以及使用证书中的公开密钥解密该数字签名,并利用WAI的散列函数对统一 资源定位符进行散列计算,之后比较散列计算的结果与解密的数字签名是否一致,若一致 则通过对终端的鉴别。 进一步地,所述终端的加密模块对上传的文件内容做数字签名是指,对所述文件 内容做散列计算,之后使用终端WAPI证书的私钥对散列计算后的值进行公开密钥算法加 密。 进一步地,所述应用服务器的加密模块对文档内容做签名计算是指,对所述文档 内容做散列计算,之后使用应用服务器WAPI证书的私钥对散列计算后的值进行公开密钥 算法加密。 采用本发明的技术方案,充分利用了 WAPI基础设施提供的公开密钥证书颁发机 构和客户端WAPI证书。WAPI终端用户在登录网络存储应用的过程中,依靠WAPI鉴别服务 实现用户登录过程,登录过程无需用户输入用户名密码。客户端在保存内容时,通过证书鉴 别过程中协商得到的临时会话密钥和对称加密算法,加密存储内容,确保内容机密性,客户 端通过散列函数和公有证书的私有密钥,对存储内容做数字签名计算,并由服务器侧验证 签名和解密内容,确保内容真实有效未被修改。客户端在获取内容时,通过证书鉴别过程中 协商的临时会话密钥和对称加密算法,解密获取内容。本发明中介绍用户认证的方法亦可 应用于其他基于Web访问的网络应用。


图1网络系统结构; 图2是本发明系统结构示意图; 图3是本发明终端向应用服务器上传内容时的流程图; 图4是本发明终端从应用服务器获取内容时的流程图; 图5是本发明终端上传内容时的处理过程图; 图6是本发明应用服务器下发内容时的处理过程图; 图7是本发明终端及应用服务器接收文件内容后的处理过程图; 图8是本发明终端对应用服务器进行鉴别的处理过程图。
具体实施例方式
本发明提供一种WAPI终端与应用服务器传输文件的系统,如图2所示,该系统包 括发送端与接收端; 发送端为WAPI终端或应用服务器,接收端为应用服务器或WAPI终端; 发送端,用于使用WPI算法对传输的文件内容进行加密,并对传输的内容做数字
签名后通过HTTP消息发送至所述接收端; 接收端,用于收到HTTP消息后解析出文件内容并验证数字签名,若数字签名验证 通过则传输的文件内容未被更改。 终端包括设置模块、加密模块、解密模块、发送模块及接收模块;
应用服务器包括加密模块、解密模块、发送模块及接收模块; 终端的设置模块用于在传输文件内容前,向应用服务器发送HTTP GET请求时将该请求的一头域值表示为一预设值表示该终端为WAPI终端,应用服务器收到HTTP GET请求 后若该头域值为预设值则判定终端为WAPI终端。 应用服务器的加密模块用于使用WAI散列算法计算返回的页面,并使用应用服务 器WAPI证书的私钥,利用WAI的椭圆曲线算法,对散列计算结果做加密计算生成数字签 名; 应用服务器的发送模块用于向终端返回2000K消息时携带上述数字签名; 终端的解密模块用于收到2000K消息后解析出数字签名,获取预存于终端上的应
用服务器WAPI证书中的公钥解密该数字签名,并利用WAI的散列函数对网页内容进行散列
计算,之后比较散列计算的结果与解密的数字签名是否一致,若一致则通过对应用服务器
的鉴别,否则鉴别未通过。 (1)当终端向应用服务器上传内容时终端为发送端,应用服务器为接收端;
终端的加密模块,用于生成一个128位随机数作为临时会话密钥,以及使用WPI 中的SMS4算法对上传的文件内容做加密得到密文,使用应用服务器WAPI证书的公钥对临 时会话密钥进行公开密钥算法加密得到加密后的密钥,还用于对上传的文件内容做数字签 名; 终端的发送模块,用于将加密后的密文、数字签名、加密后的随机数和用户WAPI 证书标识或WAPI证书一起封装,以及将封装的内容通过HTTPPOST发送至应用服务器;
应用服务器的接收模块,用于收到HTTP POST后,分离出用户的WAPI证书标识或 WAPI证书,若分离出的是WAPI证书标识则获取WAPI证书; 应用服务器的解密模块,用于使用应用服务器的WAPI证书的私钥对加密后的密 钥进行公开密钥算法解密得到临时会话密钥,以及使用该临时会话密钥对上传内容中的密 文进行对称密钥算法解密得到正文,并对解密出的正文进行散列计算得到散列值,还用于 使用终端WAPI证书的公钥对签名进行公开密钥算法解密得到另一散列值,并比较得到的 上述2个散列值是否一致,若一致则对终端的验证通过,且接收的文件内容未被更改。
终端的加密模块对上传的文件内容做数字签名是指,对文件内容做散列计算,之 后使用终端WAPI证书的私钥对散列计算后的值进行公开密钥算法加密。
(2)当终端从应用服务器获取内容时应用服务器为发送端,终端为接收端;
终端的发送模块,用于向应用服务器发送HTTP GET消息时携带要获取内容对应的 统一资源定位符; 应用服务器的接收模块,用于收到HTTP GET消息后根据统一资源定位符获知终端 请求的文档内容; 应用服务器的加密模块,用于生成128位随机数作为临时会话密钥,以及使用该 临时会话密钥对终端请求的文档内容做SMS4加密形成密文,并对文档内容做数字签名, 还用于使用终端WAPI证书的公钥对临时会话密钥进行公开密钥算法加密得到加密后的密 钥; 应用服务器的发送模块,用于将密文、签名以及加密后的临时会话密钥作为2000K 消息体发送至终端; 终端的接收模块,用于将收到的2000K消息发送至解密模块; 终端的解密模块,用于使用终端WAPI证书的私钥对加密的密钥进行公开密钥算
11法解密得出临时会话密钥,以及该临时会话密钥对密文进行对称密钥算法解密得到文档正 文,并对解密出的正文进行散列计算得到散列值,还用于使用应用服务器WAPI证书的公钥 对签名进行公开密钥算法解密得到另一散列值,以及比较得到的上述2个散列值是否一 致,若一致则验证通过,且接收的文件内容未被更改。 终端的加密模块还用于向应用服务器发送HTTP GET消息时对统一资源定位符进 行数字签名; 终端的发送模块还用于向应用服务器发送HTTP GET消息时将数字签名及用户证 书标识作为统一资源定位符参数发送至应用服务器; 应用服务器的解密模块还用于分离出HTTP GET消息中的用户证书标识,并获取用 户证书,以及使用证书中的公开密钥解密该数字签名,并利用WAI的散列函数对统一资源 定位符进行散列计算,之后比较散列计算的结果与解密的数字签名是否一致,若一致则通 过对终端的鉴别。 应用服务器的加密模块对文档内容做签名计算是指,对文档内容做散列计算,之
后使用应用服务器WAPI证书的私钥对散列计算后的值进行公开密钥算法加密。 本发明还提供一种WAPI终端与应用服务器传输文件的方法,WAPI终端与应用服
务器之间采用HTTP消息传输文件内容时,发送端使用WPI算法对传输的文件内容进行加
密,并对传输的内容做数字签名后传输,接收端收到包含文件内容的HTTP消息后解析出文
件内容并验证数字签名,若数字签名验证通过则传输的文件内容未被更改。
实施例一 本实施例为终端向应用服务器上传文件内容的方法,如图3所示,包括以下步骤
步骤301 :终端浏览器向应用服务器发送HTTP GET请求,获取到网络存储应用 的页面,终端通过将请求中的某头域值设置为预设值表示其为WAPI终端,如可以是将 User-Agent (用户代理)设置为WAPI-Mobile-ClientVl. 0 ; 该头域的值可以是终端在组建请求时指定,也可以通过和无线局域网段相邻的 WAP/HTTP应用网关修改。 步骤302 :应用服务器收到终端发来的HTTP GET请求,根据其中某头域中的值判 断此请求是否来自于WAPI终端;如根据User-Agent的值为WAPI-Mobile-Client VI. 0时 判定该终端是WAPI终端; 步骤303 :应用服务器向终端返回2000K消息,在该消息中增加一个隐藏表单,内
容至少包含一个采用WAI公开密钥算法加密的数字签名,签名方法如下 (a)使用WAI散列算法计算返回的页面、即超文本格式字符串。 (b)使用应用服务器WAPI证书的私钥,利用WAI的椭圆曲线算法,对散列计算结果
做加密计算,生成签名。 生成的签名存入页面响应中的隐藏表单里下发给终端浏览器。 步骤304 :如图8所示,终端在收到2000K消息后,从隐藏表单中解析出数字签名,
获取预存于终端上的应用服务器WAPI证书中的公钥解密该数字签名,并利用WAI的散列函
数对网页内容进行散列计算,之后比较散列计算的结果与解密的数字签名是否一致,若一
致则鉴别通过,否则鉴别未通过。 本发明中终端获得应用服务器WAPI证书的方法同现有技术。
步骤305 :WAPI终端浏览器在获取应用服务器网页数据并完成对服务器身份鉴别 之后,呈现页面。终端通过浏览器提交需上传的文件内容。提交过程采用HTTP P0ST方法。
WAPI终端首先生成一个128位随机数作为临时会话密钥,使用WPI中SMS4算法 (即图5中的对称密钥算法)对上传文件内容做加密得到密文,接着使用应用服务器WAPI 证书的公钥对临时会话密钥进行公开密钥算法加密得到加密后的密钥,接着使用终端WAPI 证书的私钥完成上传的内容的数字签名,数字签名的过程即先对文件内容做散列计算,然 后使用终端WAPI证书的私钥加密散列计算后的值;加密后的正文、数字签名和加密后的随 机数和用户WAPI证书标识或证书通过某一固定格式封装,例如
〈upload_content>〈body_sign>@e23233dsew.....〈/body_sign>〈encrypted_rand>we233dse. . 〈/encrypted_rand>
〈encrypted_body>3EWRW@#4. . 〈/encrypted_body>
〈cert-id>232341〈/cert-id>
〈/upload_content> 终端浏览器或通过表单的方式,组成了 POST的内容并发送给应用服务器。 步骤306 :应用服务器收到此HTTP POST消息后,首先根据表单或者某一固定格
式,分离出用户的WAPI证书标识或WAPI证书,如果是证书标识,则通过与公共认证中心的
交互,获取用户的公钥证书(获取过程为标准流程,本发明不再详述)。 应用服务器获取由终端生成的并由应用服务器公钥加密的后的随机数加密值,使
用应用服务器的WAPI证书的私钥对加密后的密钥进行公开密钥算法解密得到128位临时
会话密钥,之后使用此128位临时会话密钥对上传内容中的密文进行对称密钥算法解密得
到正文,并对解密出的正文进行散列计算得到散列值,应用服务器还使用终端WAPI证书的
公钥对签名进行公开密钥算法解密得到另一散列值,之后比较得到的上述2个散列值是否
一致,若一致则验证通过,说明上传的文件内容未被更改,若不一致则验证未通过。 实施例二 本实施例为终端从应用服务器获取内容的方法,如图4所示,包括以下步骤
步骤401 :终端浏览器向应用服务器发送HTTP GET请求,获取到网络存储应用 的页面,终端通过将请求的某头域值设置为一预设值表示其为WAPI终端,如可以是将 User-Agent (用户代理)设置为WAPI-Mobile-ClientVl. 0 ; 该头域的值可以是终端在组建请求时指定,也可以通过和无线局域网段相邻的 WAP/HTTP应用网关修改。 步骤402 :应用服务器收到终端发来的HTTP GET请求,根据其中某头域值判断此 请求是否来自于WAPI终端;如根据User-Agent的值为WAPI-Mobile-Client VI. 0时判定 该终端是WAPI终端; 步骤403 :应用服务器向终端返回2000K消息,在该消息中增加一个隐藏表单,内
容至少包含一个采用WAI公开密钥算法加密的数字签名,签名方法如下 (a)使用WAI散列算法计算返回的页面、即超文本格式字符串。 (b)使用应用服务器WAPI证书的私钥,利用WAI的椭圆曲线算法,对散列计算结果
做加密计算,生成签名。
生成的签名存入页面响应中的隐藏表单里下发给终端浏览器。
步骤404 :如图8所示,终端在收到2000K消息后,从隐藏表单中解析出数字签名, 获取预存于终端上的应用服务器WAPI证书的公钥对签名进行公开密钥算法解密,并利用 WAI的散列函数对网页内容进行散列计算,之后比较散列计算的结果与解密的数字签名是 否一致,若一致则鉴别通过,否则鉴别未通过。 本发明中终端获得应用服务器WAPI证书的方法同现有技术。 步骤405 :WAPI终端浏览器在获取应用服务器网页数据并完成对服务器身份鉴别
之后,呈现页面。 步骤406 :终端通过界面指定要获取内容对应的URL(Uniform ResourceLocator, 统一资源定位符),并使用GET方法获取内容。 终端用户通过浏览器操作界面选择获取文件时,将通过GET方法完成,客户端插 件调用WAI功能对统一资源定位符(URL, Uniform ResourceLocator)做签名计算,签名方 法如下 (b)使用终端WAPI证书对应的私钥,利用WAI的椭圆曲线算法,对散列计算结果做 加密计算,生成签名。 URL签名和用户证书标识通过URL参数的方式提交给服务器,例如 http://upload-doc-server, com/document/20091117203 Url_sign =
deFQWER3d&certid = 2343.. 对统一资源定位符的数字签名不包括URL参数部分。 步骤407 :应用服务器收到HTTP GET消息,分离出URL参数中的用户证书标识,获 取用户证书,之后使用终端WAPI证书中的公开密钥解密该数字签名,并利用WAI的散列函 数对网页内容进行散列计算,之后比较散列计算的结果与解密的数字签名是否一致,若一 致则通过对终端的鉴别,否则鉴别未通过。 如图6所示,应用服务器完成对终端的鉴别后,生成128位随机数作为临时会话密 钥,并使用此临时会话密钥对客户端请求的文档内容做SMS4加密(即图6中所示的对文档 进行对称密钥加密),并对文档正文做数字签名,数字签名的过程即先对文档正文作散列计 算,之后使用应用服务器WAPI证书的私钥对散列计算后的值进行公开密钥算法加密;应用 服务器还使用终端WAPI证书的公钥对临时会话密钥进行公开密钥算法加密得到加密后的 密钥;最后,所有内容以固定格式封装或以表单形式,作为2000K消息体返回给终端。
步骤408 :如图7所示,终端收到2000K消息后,利用终端WAPI证书的私钥对加密 的密钥进行公开密钥算法解密得出临时会话密钥,之后使用该临时会话密钥对密文进行对 称密钥算法解密得到文档正文,并对解密出的正文进行散列计算得到散列值,还使用应用 服务器WAPI证书的公钥对签名进行公开密钥算法解密得到另一散列值,比较得到的上述2 个散列值是否一致,若一致则验证通过,且接收的文件内容未被更改,若不一致则验证未通 过。 本发明中终端及应用服务器使用相同的公开密钥算法进行加密及解密。 本发明在不改动HTTP协议的基础上,通过HTTP消息体或者超文本中的表单,完成
基于WAPI证书的鉴别过程,和传输数据的加密及完整性保护,对于应用服务器来说,不影响其WEB访问请求处理的正常流程,所提及功能可以通过新增功能模块完成,新增功能只 涉及WAPI相关公钥及对称加密计算,未改动HTTP及超文本传输协议的内容。
权利要求
一种WAPI终端与应用服务器传输文件的方法,包括WAPI终端与应用服务器之间采用HTTP消息传输文件内容时,发送端使用WPI算法对传输的文件内容进行加密,并对传输的内容做数字签名后传输,接收端收到包含文件内容的HTTP消息后解析出所述文件内容并验证所述数字签名,若数字签名验证通过则传输的文件内容未被更改。
2. 如权利要求1所述的方法,其特征在于在传输文件内容前,所述终端向应用服务器发送HTTP GET请求时将该请求的一头域值 表示为一预设值表示该终端为WAPI终端,所述应用服务器收到所述HTTP GET请求后若所 述头域值为预设值则判定所述终端为WAPI终端。
3. 如权利要求2所述的方法,其特征在于应用服务器收到所述终端发来的HTTP GET请求后向所述终端返回2000K消息时增加 一个数字签名,所述数字签名的方式为,使用WAI散列算法计算返回的页面,并使用应用服 务器WAPI证书的私钥,利用WAI的椭圆曲线算法,对散列计算结果做加密计算生成签名;所述终端收到2000K消息后解析出所述数字签名,获取预存于终端上的应用服务器 WAPI证书的公钥解密该数字签名,并利用WAI的散列函数对网页内容进行散列计算,之后 比较散列计算的结果与解密的数字签名是否一致,若一致则通过对应用服务器的鉴别,否 则鉴别未通过。
4. 如权利要求1所述的方法,其特征在于当所述终端向应用服务器上传内容时,先生成一个128位随机数作为临时会话密钥, 使用WPI中的SMS4算法对上传文件内容做加密得到密文,接着使用应用服务器WAPI证书 的公钥对临时会话密钥进行公开密钥算法加密得到加密后的密钥,还对上传的文件内容做 数字签名;加密后的密文、数字签名和加密后的随机数和用户WAPI证书标识或WAPI证书一 起封装,将封装的内容通过HTTP POST发送至应用服务器;所述应用服务器收到所述HTTP POST后,分离出用户的WAPI证书标识或WAPI证书,若 分离出的是WAPI证书标识则获取WAPI证书,使用应用服务器的WAPI证书的私钥对加密后 的密钥进行公开密钥算法解密得到临时会话密钥,对上传内容中的密文进行对称密钥算法 解密得到正文,并对解密出的正文进行散列计算得到散列值,所述应用服务器还使用终端 WAPI证书的公钥对签名进行公开密钥算法解密得到另一散列值,之后比较得到的上述2个 散列值是否一致,若一致则对终端的验证通过,且接收的文件内容未被更改。
5. 如权利要求l所述的方法,其特征在于当所述终端从应用服务器获取内容时,向应用服务器发送HTTP GET消息时携带要获取 内容对应的统一资源定位符;所述应用服务器收到HTTP GET消息后根据所述统一资源定位符获知终端请求的文档 内容,之后生成128位随机数作为临时会话密钥,并使用此临时会话密钥对客户端请求的 文档内容做SMS4加密,并对文档内容做数字签名,还使用终端WAPI证书的公钥对临时会话 密钥进行公开密钥算法加密得到加密后的密钥,所有内容以固定格式封装或以表单形式作 为2000K消息体返回给终端;所述终端收到所述2000K消息后,利用终端WAPI证书的私钥对加密的密钥进行公开 密钥算法解密得出临时会话密钥,之后使用该临时会话密钥对密文进行对称密钥算法解密得到文档正文,并对解密出的正文进行散列计算得到散列值,还使用应用服务器WAPI证书 的公钥对签名进行公开密钥算法解密得到另一散列值,比较得到的上述2个散列值是否一 致,若一致则验证通过,且接收的文件内容未被更改。
6. 如权利要求5所述的方法,其特征在于所述终端向应用服务器发送HTTP GET消息时对所述统一资源定位符进行数字签名,之 后将所述数字签名及用户证书标识作为统一资源定位符参数通过HTTP GET消息发送至应 用服务器,所述应用服务器收到HTTP GET消息后分离出用户证书标识,并获取用户证书,之 后使用证书中的公开密钥解密该数字签名,并利用WAI的散列函数对网页内容进行散列计 算,之后比较散列计算的结果与解密的数字签名是否一致,若一致则通过对终端的鉴别。
7. 如权利要求5所述的方法,其特征在于所述终端对上传的文件内容做数字签名是指,对所述文件内容做散列计算,之后使用 终端WAPI证书的私钥对散列计算后的值进行公开密钥算法加密。
8. 如权利要求5所述的方法,其特征在于所述应用服务器对文档内容做签名计算是指,对所述文档内容做散列计算,之后使用 应用服务器WAPI证书的私钥对散列计算后的值进行公开密钥算法加密。
9. 一种WAPI终端与应用服务器传输文件的系统,包括发送端与接收端;其特征在于 所述发送端,用于使用WPI算法对传输的文件内容进行加密,并对传输的内容做数字签名后通过HTTP消息发送至所述接收端;所述接收端,用于收到所述HTTP消息后解析出所述文件内容并验证所述数字签名,若 数字签名验证通过则传输的文件内容未被更改。
10. 如权利要求9所述的系统,其特征在于所述发送端为WAPI终端或应用服务器,接收端为应用服务器或WAPI终端; 所述终端包括设置模块、发送模块;所述终端的设置模块用于在传输文件内容前,向应用服务器发送HTTPGET请求时将该 请求的一头域值表示为一预设值表示该终端为WAPI终端;所述应用服务器用于收到所述HTTP GET请求后若所述头域值为预设值则判定所述终 端为WAPI终端。
11. 如权利要求10所述的系统,其特征在于 所述应用服务器包括加密模块及发送模块;所述应用服务器的加密模块用于使用WAI散列算法计算返回的页面,并使用应用服 务器WAPI证书的私钥,利用WAI的椭圆曲线算法,对散列计算结果做加密计算生成数字签 名;所述应用服务器的发送模块用于向终端返回2000K消息时携带上述数字签名; 所述终端的解密模块收到2000K消息后解析出所述数字签名,获取预存于终端上的应 用服务器WAPI证书的公钥解密该数字签名,并利用WAI的散列函数对网页内容进行散列计 算,之后比较散列计算的结果与解密的数字签名是否一致,若一致则通过对应用服务器的 鉴别,否则鉴别未通过。
12. 如权利要求9所述的系统,其特征在于当所述终端向应用服务器上传内容时所述终端为发送端,所述应用服务器为接收端;所述终端包括加密模块及发送模块;所述终端的加密模块,用于生成一个128位随机数作为临时会话密钥,以及使用WPI 中的SMS4算法对上传的文件内容做加密得到密文,使用应用服务器WAPI证书的公钥对临 时会话密钥进行公开密钥算法加密得到加密后的密钥,还用于对上传的文件内容做数字签 名;所述终端的发送模块,用于将加密后的密文、数字签名、加密后的随机数和用户WAPI 证书标识或WAPI证书一起封装,以及将封装的内容通过HTTP POST发送至应用服务器; 所述应用服务器包括接收模块及解密模块;所述应用服务器的接收模块,用于收到所述HTTP POST后,分离出用户的WAPI证书标 识或WAPI证书,若分离出的是WAPI证书标识则获取WAPI证书;所述应用服务器的解密模块,用于使用应用服务器的WAPI证书的私钥对加密后的密 钥进行公开密钥算法解密得到临时会话密钥,以及使用该临时会话密钥对上传内容中的密 文进行对称密钥算法解密得到正文,并对解密出的正文进行散列计算得到散列值,还用于 使用终端WAPI证书的公钥对签名进行公开密钥算法解密得到另一散列值,并比较得到的 上述2个散列值是否一致,若一致则对终端的验证通过,且接收的文件内容未被更改。
13. 如权利要求9所述的系统,其特征在于当所述终端从应用服务器获取内容时所述应用服务器为发送端,所述终端为接收端; 所述终端包括发送模块、接收模块及解密模块;所述终端的发送模块用于向应用服务器发送HTTP GET消息时携带要获取内容对应的 统一资源定位符;所述应用服务器包括接收模块、加密模块及发送模块;所述应用服务器的接收模块,用于收到HTTP GET消息后根据所述统一资源定位符获知 终端请求的文档内容;所述应用服务器的加密模块,用于生成128位随机数作为临时会话密钥,以及使用该 临时会话密钥对终端请求的文档内容做SMS4加密形成密文,并对文档内容做数字签名,还 用于使用终端WAPI证书的公钥对临时会话密钥进行公开密钥算法加密得到加密后的密 钥;所述应用服务器的发送模块,用于将所述密文、签名以及加密后的临时会话密钥作为 2000K消息体发送至终端;所述终端的接收模块,用于将收到的所述2000K消息发送至解密模块; 所述终端的解密模块,用于使用终端WAPI证书的私钥对加密的密钥进行公开密钥算 法解密得出临时会话密钥,以及该临时会话密钥对密文进行对称密钥算法解密得到文档正 文,并对解密出的正文进行散列计算得到散列值,还用于使用应用服务器WAPI证书的公 钥对签名进行公开密钥算法解密得到另一散列值,以及比较得到的上述2个散列值是否一 致,若一致则验证通过,且接收的文件内容未被更改。
14. 如权利要求13所述的系统,其特征在于所述终端的加密模块还用于向应用服务器发送HTTP GET消息时对所述统一资源定位 符进行数字签名;所述终端的发送模块还用于向应用服务器发送HTTP GET消息时将所述数字签名及用户证书标识作为统一资源定位符参数发送至应用服务器;所述应用服务器的解密模块还用于分离出HTTP GET消息中的用户证书标识,并获取用 户证书,以及使用证书中的公开密钥解密该数字签名,并利用WAI的散列函数对统一资源 定位符进行散列计算,之后比较散列计算的结果与解密的数字签名是否一致,若一致则通 过对终端的鉴别。
15. 如权利要求ll所述的系统,其特征在于所述终端的加密模块对上传的文件内容做数字签名是指,对所述文件内容做散列计 算,之后使用终端WAPI证书的私钥对散列计算后的值进行公开密钥算法加密。
16. 如权利要求12所述的系统,其特征在于所述应用服务器的加密模块对文档内容做签名计算是指,对所述文档内容做散列计 算,之后使用应用服务器WAPI证书的私钥对散列计算后的值进行公开密钥算法加密。
全文摘要
本发明提供了一种WAPI终端与应用服务器传输文件的系统及方法,包括WAPI终端与应用服务器之间采用HTTP消息传输文件内容时,发送端使用WPI算法对传输的文件内容进行加密,并对传输的内容做数字签名后传输,接收端收到包含文件内容的HTTP消息后解析出所述文件内容并验证所述数字签名,若数字签名验证通过则传输的文件内容未被更改。采用本发明的技术方案,充分利用了WAPI基础设施提供的公开密钥证书颁发机构和客户端WAPI证书,有效地保证了传输文件内容的安全性。
文档编号H04W12/06GK101742508SQ20091024706
公开日2010年6月16日 申请日期2009年12月21日 优先权日2009年12月21日
发明者康望星, 施元庆, 梁洁辉 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1