一种基于简单对象访问协议消息的数字签名方法和装置制造方法及图纸

技术编号:4260865 阅读:238 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于简单对象访问协议消息的数字签名方法,该方法包括步骤:生成SOAP消息;对所述SOAP消息的消息体中各文本字段进行连接操作,得到总字符串;对所述总字符串进行求散列值操作,求得信息摘要;通过求散列值操作对所述信息摘要加密,求得数字签名;将所求得的数字签名写入所述SOAP消息的头字段中,得到带数字签名的SOAP消息并发送。本发明专利技术还公开了一种基于简单对象访问协议消息的数字签名装置,该装置通过连接模块、计算模块、加密模块生成数字签名,并通过验证模块验证带数字签名的SOAP消息。采用本发明专利技术所述的方法,可保证SOAP消息的安全,且所需时间短、占用系统资源少。

【技术实现步骤摘要】

本专利技术涉及信息安全技术,尤其涉及一种基于简单对象访问协议(SOAP, Simple Object Access Protocol)消息的数字签名方法和装置。
技术介绍
SOAP是一种应用程序之间的通信数据编码传输协议,具有简便、跨平台、 可穿透防火墙等特点。SOAP消息使用基于超文本传输协议(HTTP, Hypertext Transfer Protocol) ,口可才广展才示i口、i吾言(XML, extensible Markup Language )的 透明文本传输,处理效率较高,但很容易被窃取、篡改或伪造。因此,当传输重要SOAP消息时需要加密,以防止被窃取、篡改或伪造。 目前最常用、安全性较高的加密算法是基于加密套接字协议层(SSL, Secure SocketLayer)的加密算法,但这种加密算法高度复杂,使得进行SSL处理效率 较低,在相同的应用场景下,在SOAP消息中使用SSL的响应时间是不使用SSL 的十倍以上,这对高负荷、高实时的应用系统是一个非常大的负担。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种基于简单对象访问协议消息的 数字签名方法和装置,保证了 SOAP消息的安全,且所需时间短、占用系统资 源少。为达到上述目的,本专利技术的技术方案是这样实现的一种基于简单对象访问协议消息的数字签名方法,该方法包括以下步骤生成SOAP消息;对所述SOAP消息的消息体中各文本字段进行连接操作,得到总字符串; 对所述总字符串进行求散列值操作,求得信息摘要;通过求散列值操作对所述信息摘要力口密,求得数字签名;将所求得的数字签名写入所述SOAP消息中,得到带数字签名的SOAP消 息并发送。进一步地,所述得到带数字签名的SOAP消息并发送之后还包括接收所 述带数字签名的SOAP消息,并验证所接收到的带数字签名的SOAP消息。 进一步地,所述通过求散列值操作对所述信息摘要加密,求得数字签名包括对所述信息摘要与预先给定的密钥的和进行求散列值操作,求得数字签名;或,对所述信息摘要与预先给定的数字证书的和进行求散列值操作,求得数字 签名。进一步地,所述将所求得的数字签名写入所述SOAP消息中,得到带数字 签名的SOAP消息具体包括在所述SOAP消息的soap:Envelope节点下添力口 soap:Header子节点; 在所添加的soap:Header子节点下添加数字签名字段子节点; 将所述数字签名赋值给所述数字签名字段子节点。进一步地,所述验证所接收到的带数字签名的SOAP消息包括以下步骤对所述带数字签名的SOAP消息的消息体中各文本字段进行连接操作,得 到验证总字符串;对所述验证总字符串进行求散列值操作,求得验证信息摘要; 通过求散列值操作对所述信息摘要加密,求得验证数字签名;比较所述带数字签名的SOAP消息的数字签名与所述验证数字签名是否相 符,如果相符,则结束验证流程,并对所述带数字签名的SOAP消息进行相应 的业务逻辑处理;如果不相符,则结束验证流程,并拒绝对所述带数字签名的 SOAP消息进行相应的业务逻辑处理。进一步地,所述—睑证所接收到的带数字签名的SOAP消息进一步包括以下 步骤a、找出所述带数字签名的SOAP消息的soap:Envelope节点下的soap:Header子节点;b、找出soap:Header子节点下的数字签名字段子节点,取出数字签名字段 子节点的值,该值为所述带数字签名的SOAP消息的数字签名。本专利技术还提供一种基于简单对象访问协议消息的数字签名装置,该装置包括消息生成模块,用于生成SOAP消息;连接模块,用于对所述SOAP消息的消息体中各文本字段进行连接操作, 得到总字符串;计算模块,用于对所述总字符串进行求散列值操作,求得信息摘要; 加密模块,用于通过求散列值操作对所述信息摘要加密,求得数字签名; 签名模块,用于将所求得的数字签名写入所述SOAP消息中,得到带数字 签名的SOAP消息并发送。 进一步地,该装置还包括验证模块,用于接收所述带数字签名的SOAP消息,并验证所接收到的带 数字签名的SOAP消息。进一步地,所述验证模块包括接收模块,用于接收所述带数字签名的SOAP消息;验证签名冲莫块,用于对所述带数字签名的SOAP消息的消息体中各文本字 段进行连接操作,得到验证总字符串;用于对所述验证总字符串进行求散列值 操作,求得验证信息摘要;并用于通过求散列值操作对所述信息摘要加密,求 得验证数字签名;比较模块,用于比较所述带数字签名的SOAP消息的数字签名与所述验证 数字签名是否相符,并将比较结果发送给业务逻辑处理i^块;业务逻辑处理模块,所接收到的比较结果为相符,用于对所述带数字签名 的SOAP消息进行相应的业务逻辑处理。本专利技术所提供的基于简单对象访问协议消息的数字签名方法和装置,具有 以下的优点和特点1、 采用了对文本字段进行连接操作和求散列值操作,使得本专利技术数字签名的方法运算筒单、速度快,且占用系统资源少;2、 由于求散列值操作所具有不可逆性,使得除发送方外的其他人无法从数 字签名中推导出密钥或数字证书,进而无法对窃取、篡改或伪造后的SOAP消 息加密,重新生成可以通过接收方验证的数字签名,保证了 SOAP消息的安全;3、 在生成SOAP消息的数字签名的过程中,两次采用求散列值操作,加快 了信息摘要加密的速度,减少了信息摘要加密所占用的系统资源,进而加快了 产生和验证数字签名的速度,减少了产生和验证数字签名所占用的系统资源。附图说明图1为本专利技术实施例基于SOAP消息的数字签名方法的实现流程图; 图2为本专利技术实施例基于SOAP消息的数字签名装置的结构示意图。具体实施例方式本专利技术的基本思想是1、 在生成数字签名的过程中,对文本字段进行连接操作和求散列值搡作, 具有运算简单、速度快,且占用资源少等特点,使得本专利技术数字签名的方法运 算简单、速度快,且占用系统资源少;由于所述求散列值操作还具有不可逆性, 使得除发送方外的其他人无法从数字签名中推导出密钥或数字证书,进而无法 对窃取、篡改或伪造后的SOAP消息加密,重新生成可以通过接收方验证的数 字签名,保证了 SOAP消息的安全;2、 两次采用求散列值操作,第一次求散列值操作得到的信息摘要的长度, 远小于总字符串的长度,使得对信息摘要力。密的第二次求散列值操作,所需要 处理的字符串长度较短,加快了信息摘要力n密的速度,减少了信息摘要加密所 占用的系统资源,进而加快了产生和验证数字签名的速度,减少了产生和验证 数字签名所占用的系统资源;所述总字符串为对SOAP消息的消息体中各文本 字段进行连接操作所得到的字符串。本专利技术实施例的提供基于SOAP消息的数字签名方法的实现流程如图1所 示,该方法包括以下步骤步骤101:发送方生成SOAP消息。步骤102:发送方对所述SOAP消息的消息体中各文本字段进行连接操作, 得到总字符串;所述对文本字段进行连接操作运算简单、速度快,且占用资源 少,可通过递归解析XML文本的所述SOAP消息来实现。步骤103:发送方对所述总字符串进行求散列值操作,求得信息摘要;所 述求散列值操作可通过安全散列算法(SHA-1)或信息-摘要算法(MD5 )实现, 具备运算简单、速度快和不可逆的特点;步本文档来自技高网...

【技术保护点】
一种基于简单对象访问协议消息的数字签名方法,其特征在于,该方法包括以下步骤: 生成SOAP消息; 对所述SOAP消息的消息体中各文本字段进行连接操作,得到总字符串;对所述总字符串进行求散列值操作,求得信息摘要;通过求散列值操作对 所述信息摘要加密,求得数字签名; 将所求得的数字签名写入所述SOAP消息中,得到带数字签名的SOAP消息并发送。

【技术特征摘要】
1、一种基于简单对象访问协议消息的数字签名方法,其特征在于,该方法包括以下步骤生成SOAP消息;对所述SOAP消息的消息体中各文本字段进行连接操作,得到总字符串;对所述总字符串进行求散列值操作,求得信息摘要;通过求散列值操作对所述信息摘要加密,求得数字签名;将所求得的数字签名写入所述SOAP消息中,得到带数字签名的SOAP消息并发送。2、 根据权利要求1所述基于简单对象访问协议消息的数字签名方法,其特 征在于,所述得到带数字签名的SOAP消息并发送之后还包括接收所述带数 字签名的SOAP消息,并验证所接收到的带数字签名的SOAP消息。3、 根据权利要求1或2所述基于筒单对象访问协议消息的数字签名方法, 其特征在于,所述通过求散列值操作对所述信息摘要加密,求得数字签名包括对所述信息摘要与预先给定的密钥的和进行求散列值操作,求得数字签名;或,对所述信息摘要与预先给定的数字证书的和进行求散列值操作,求得数字 签名。4、 根据权利要求1或2所述基于简单对象访问协议消息的数字签名方法, 其特征在于,所述将所求得的数字签名写入所述SOAP消息中,得到带数字签 名的SOAP消息具体包括在所述SOAP消息的soap:Envelope节点下添力口 soap:Header子节点; 在所添加的soap:Header子节点下添加数字签名字段子节点; 将所述数字签名赋值给所述数字签名字段子节点。5、 根据权利要求2所述基于简单对象访问协议消息的数字签名方法,其特 征在于,所述验证所接收到的带数字签名的SOAP消息包括以下步骤对所述带数字签名的SOAP消息的消息体中各文本字段进行连接操作,得 到验证总字符串;对所述验证总字符串进行求散列值操作,求得验证信息摘要; 通过求散列值操作对所述信息摘要加密,求得验证数字签名;比较所述带数字签名的SOAP消息的数字签名与所述验证数字签名是否相 符,如果相符,则结束验证流程,并对所述带数字签名的SOAP消息进行相应 的业务逻辑处理;...

【专利技术属性】
技术研发人员:叶建生杨明玮王晓东
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1