CN101404575A - 一种更新签名算法的方法和系统 - Google Patents

一种更新签名算法的方法和系统 Download PDF

Info

Publication number
CN101404575A
CN101404575A CNA2008101726782A CN200810172678A CN101404575A CN 101404575 A CN101404575 A CN 101404575A CN A2008101726782 A CNA2008101726782 A CN A2008101726782A CN 200810172678 A CN200810172678 A CN 200810172678A CN 101404575 A CN101404575 A CN 101404575A
Authority
CN
China
Prior art keywords
signature algorithm
service
algorithm
signature
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2008101726782A
Other languages
English (en)
Other versions
CN101404575B (zh
Inventor
岑文初
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN2008101726782A priority Critical patent/CN101404575B/zh
Publication of CN101404575A publication Critical patent/CN101404575A/zh
Priority to HK09108905.8A priority patent/HK1130970A1/xx
Application granted granted Critical
Publication of CN101404575B publication Critical patent/CN101404575B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种更新签名算法的方法和系统,一种更新签名算法的方法,当ISV应用发起服务请求时,应用签名算法中的有效期检查本地签名算法是否失效,如果失效则通过多播通道在局域网内同步其他网络节点的签名算法,如果同步后的签名算法仍然无效,则向服务集成平台发起签名算法更新请求获取新签名算法。本发明利用局域网内同步签名算法和ISV应用与服务集成平台交互更新签名算法两种方法实现签名算法的更新,提高了签名校验的安全性。

Description

一种更新签名算法的方法和系统
技术领域
本发明涉及网络安全技术领域,尤其涉及一种更新签名算法的方法和系统。
背景技术
面向服务的体系结构(Service-Oriented Architecture,SOA)不断成熟,表象化状态转变(Representational State Transfer,REST)风格的深入人心,使得互联网开放式服务逐渐成为互联网新兴资源。传统的互联网软件企业也开始尝试新角色,作为服务提供商,开放自身服务资源,为网站自身发展提供新的开放模式。同时,Web应用的丰富化,也造就了很多独立软件供应商(ISV,Independent Software Vendor),这些独立软件供应商利用网络有效的服务资源,针对客户的需求,设计出丰富多样的交互式应用(ISV应用,即服务使用终端),并将不同服务提供商提供的服务组合在一起,产生聚合后的创新效应。
这种以服务为中心的新型开发模式也是针对互联网应用的高速更新,创新第一的特点而产生的,在国外已经有多家网站成功的案例。ISV开发者针对这些开放应用程序接口(Application Programming Interface,API)的网站来构建特色应用,吸引用户。针对ISV和互联网服务提供商(ISP,Internet ServiceProvider)这两类角色的身份定位,阿里软件设计实现了服务集成平台(SIPService Integration Platform),其特点是将多个ISP的服务集成在统一平台上,同时提供了统一的安全,计费,监控等非业务性功能,让ISP更集中专注于业务开发而无需关心非业务性框架设计,同时也为ISV开发提供了统一的流程,让ISV更容易集成多方提供的服务,采用统一的安全计费等流程,缩短开发时间,更高效的专注于利用服务集成来实现创新性应用。因此对于SIP来说也会面临安全性的问题,如何解决安全性的第一步(身份校验),这就需要制定有效的数字签名算法来提供给ISV,通过身份校验的高安全强度来保证ISV应用的身份私密性,同时也为后面的业务流程奠定安全基础。
如图1所示,当前各大国外的Open API网站都采取了较为简单的安全签名算法模式。具体的步骤包括:
步骤101、每一个ISV应用注册时申请一个应用身份标识(AppId,Application Identification),同时SIP会为每个ISV应用颁发一个密钥(SecretCode)。
步骤102、ISV应用每一次向服务集成平台发起请求时,首先将所有的业务参数、时间戳和SecretCode作简单的排序后拼装成字符串,然后将所述字符串经过信息-摘要算法(MD5,Message-digest Algorithm 5)得到数字签名,最后将所述数字签名传递给服务集成平台。
数字签名是通过以下方式完成:
1、将上述业务参数、时间戳和SecretCode根据字母排列顺序进行连接形成签名原始字符串:
例如:Company+alisoft+count+10+isdeleted+false
2、将所述签名原始字符串中字母作小写转换,并作MD5数字摘要处理:(假设SecretCode为a312)
sign=MD5(a312companyalisoftcount10isdeletedfalse)
步骤103、服务集成平台根据固定规则来校验数字签名,首先应用相应的信息-摘要算法判断所述签名内容是否被篡改,如果没有则校验时间戳和SecretCode,通过校验则认为签名无误,继续提供服务。
在现有技术中,由于签名算法作为ISV开发公开文档的一部分被公开,因此只要有ISV身份就可以获得签名算法。并且ISV和ISP的信息交互通道是普通的互联网信息交互通道,所以交互通道中的信息容易被截获。当交互信息被截获的情况下,上述现有技术的缺陷可以导致盗号用户通过使用用户发起服务请求时的原始业务参数以及签名算法,直接使用穷举法就很容易得到ISV的SecretCode,从而非法用户可以很容易的盗取用户的SecretCode,另外在用户SecretCode被盗后SIP不能察觉,从而导致SIP的身份校验完全失效。
通过上述方法描述可知,签名算法的被公开并且从ISV应用注册使用后便不发生变化,则会导致SecretCode被破解,但是,如果在现有技术中ISV应用终端更新签名算法,则一般采用(1)服务器端将签名算法分发给每个ISV应用终端;(2)每个应用终端从服务器端获取新签名算法,这两种获取签名算法的方法都会占用大量的带宽资源。
发明内容
本发明提供一种更新签名算法的方法和系统,用于解决现有技术中更新签名算法需要占用大量带宽的问题。
一种更新签名算法的方法,当服务使用终端向服务集成平台请求服务时,包括步骤:
服务使用终端确定本地签名算法失效后,在局域网内发送同步签名算法的请求;
所述服务使用终端接收到同步签名算法响应消息后,利用该响应消息中的签名算法更新本地的签名算法。
如果更新后的签名算法仍失效,则向服务集成平台发起签名算法更新请求获取新签名算法,并用获取到的新签名算法更新本地签名算法。
其中,所述同步签名算法的请求通过多播通道在局域网内发送。
一种更新签名算法的方法,包括:
服务集成平台接收到服务使用终端发送的签名算法更新请求;
所述服务集成平台对所签名算法更新请求中的参数进行校验,并在校验通过后向所述服务使用终端返回新签名算法。
所述参数中包括服务使用终端应用自身签名算法实现的签名和所述服务使用终端的身份标识;
所述在校验通过后向所述服务使用终端返回新签名算法,包括:
所述服务集成平台利用所述身份标识获取本地签名算法,利用获取到的签名算法对所述签名进行校验,并在校验通过后为所述服务使用终端返回新签名算法。
所述本地签名算法包括当前使用的签名算法和前一次失效的签名算法;
则所述利用获取到的签名算法对所述签名进行校验包括:
使用所述当前签名算法对所述签名进行检验;
若所述校验没有通过,则使用所述前一次失效的签名算法对所述数字签名进行校验。
其中,所述参数中还包括时间戳;
所述在校验通过后为所述服务使用终端返回新签名算法包括:
根据所述时间戳确定所述签名算法更新请求不属于历史请求后,向所述服务使用终端返回新签名算法。
进一步,所述校验通过后为所述服务使用终端返回新签名算法包括:
检查发起签名算法更新请求的IP地址,当所述发起签名算法更新请求的IP地址有权限更新签名算法,则向所述服务使用终端返回新签名算法。
其中,如果所述发起签名算法更新请求的IP地址没有更新签名算法的权限,则根据所述服务使用终端的身份标识获取有权限更新签名算法的用户的信息,并向该用户发出告警。
所述为所述服务使用终端返回新签名算法之前,进一步包括:
所述服务集成平台创建新签名算法,并保存所述新签名算法和该新签名算法的有效期以及失效的算法。
其中,所述参数中包括所述服务使用终端当前签名算法的版本信息,则所述创建新签名算法,包括:
根据签名算法的版本信息定义加密字符串的规则,将所述规则进行组合得到新签名算法。
本发明实施例还提供一种签名算法更新的系统,包括第一服务使用终端和至少一个第二服务使用终端:
所述第一服务使用终端,用于当自身签名算法失效后,向所述第二服务使用终端发送同步签名算法请求,接收到同步签名算法响应后,则利用同步签名算法响应中的签名算法更新本地的签名算法;
所述至少一个第二服务使用终端,用于当接收到同步签名算法请求后,利用自身的签名算法向所述第一服务使用终端发送同步签名算法响应。
进一步,该系统还包括服务集成平台:
则所述第一服务使用终端还用于当同步签名算法仍失效时,则向服务集成平台发起签名算法更新请求获取新签名算法,并用获取到的新签名算法更新本地签名算法;
所述服务集成平台,用于接收到所述第一服务使用终端的签名算法更新请求后,对所述更新请求中的参数进行校验,校验通过,则为所述第一服务使用终端返回新签名算法。
一种签名算法更新的系统,包括第一服务使用终端,签名装置和第二服务使用终端:
所述第一服务使用终端,用于当向所述服务集成平台发起服务请求时,触发签名装置对所述服务请求中的参数进行签名;
所述签名装置,用于当接收到所述参数后,检查自身签名算法是否失效,如果有效则对所述参数进行签名,如果失效,则向所述第二服务使用终端发送同步签名算法的请求,接收到所述同步签名算法的响应后,利用所述响应中的签名算法更新本地的签名算法;
所述第二服务使用终端,用于当接收到同步签名算法请求后,利用自身的签名算法向所述签名装置发送同步签名算法响应。
进一步,该系统还包括服务集成平台:
则所述签名装置还用于当同步更新后的签名算仍失效,则向服务集成平台发起签名算法更新请求获取新签名算法,并用获取到的新签名算法更新本地签名算法;
所述服务集成平台用于接收到所述签名装置发送的签名算法更新请求后,对所述更新请求中的参数进行校验,在校验通过,则为所述第一服务使用终端返回新签名算法。
本发明实施例还提供一种服务集成平台,包括:
动态签名服务支撑模块,用于响应服务使用终端的签名算法更新请求,并对所述签名算法更新请求中的参数进行校验,在校验通过后,为所述服务使用终端返回新签名算法;
存储模块,用于保存新签名算法和该新签名算法的有效期以及失效的算法。
其中所述动态签名服务支撑模块包括:
获取单元,用于利用所述参数中的服务使用终端的身份标识获取签名获取签名算法;
校验单元,用于利用获取单元获取到的签名算法对所述参数中的签名进行校验,若校验通过则校验参数中的所述时间戳;
创建单元,用于在所述校验单元的校验通过后,创建新签名算法,并将所述新签名算法返回发起签名算法更新请求的服务使用终端。
监控单元,用于检查发起签名算法更新请求的IP地址是否有权限更新签名算法,如果有则向所述服务使用终端返回新签名算法,如果所述发起签名算法更新请求的IP地址没有更新签名算法的权限,则向发起更新请求的服务使用终端所属的服务使用服务器发出告警。
本发明实施例还提供一种服务使用终端,包括:
服务请求模块,用于当服务使用终端向服务集成平台发起服务请求时,触发签名模块对所述服务请求中的参数进行签名;
签名模块,用于检查自身签名算法是否失效,如果失效则在局域网内发起同步签名算法的请求,接收到所述签名算法请求的响应后,则利用所述响应中的签名算法更新本地的签名算法。
响应模块,用于当接收到同步签名算法请求后,利用自身的签名算法向发起同步签名算法请求的服务使用终端发送同步签名算法响应。
本发明首先使用IP多播方式在局域网内进行签名算法的同步。根据ISV应用集群分布的特点通过局域网内同步签名算法的方法,在减少了签名算法的带宽占用的同时使得同一局域网中各ISV应用终端的签名算法都能同步的更新。在同步无效的情况下通过向服务器端发送签名算法更新请求,然后获取新的签名算法,达到了动态更新签名算法的目的。另外签名装置的使用为ISV的接入和使用互联网开放式服务提供了基础。
附图说明
图1为现有技术的签名算法获取的流程图;
图2为本发明实施例一种动态更新签名算法的方法的流程图;
图3为本发明实施例同步签名算法的流程图;
图4为本发明实施例在局域网内刷新签名算法的流程图;
图5为本发明实施例一种提供签名算法描述的方法流程图;
图6为本发明实施例一种更新签名算法的系统的装置图;
图7为本发明实施例第二种更新签名算法的系统的装置图;
图7A为本发明实施例一种更新签名算法的系统中签名装置的状态示意图;
图8为本发明实施例一种服务集成平台的装置图;
图9为本发明实施例一种动态签名服务支撑模块的装置图;
图10为本发明实施例一种服务使用终端的装置图;
图11为ISV应用集群部署示意图。
具体实施方式
本发明实施列提供一种签名算法动态更新的方法,当服务使用终端向服务集成平台请求服务时,首先检查本地签名算法是否失效,如果是则通过多播通道同步同局域网内其他服务使用终端的签名算法,如果同步后的签名算法仍然无效,则从服务集成平台获取新签名算法,并用获取到的新签名算法刷新本地签名算法。
如图2所示,本发明实施例提供的一种更新签名算法的方法,具体步骤包括:
步骤201、服务使用终端(即ISV应用)向服务集成平台发送服务请求前,首先通过本地签名算法的有效期与本地时间比对,校验本地签名算法是否失效,如果签名算法失效,则通过多播通道在局域网内同步其他网络节点的签名算法(带有应用标识进行同步,避免非法用户更新签名算法)。
所述多播(也称多址广播或组播)技术,是一种允许一台或多台主机(多播源)发送单一数据包到多台主机(一次的,同时的)的TCP/IP网络技术。多播作为一点对多点的通信,是节省网络带宽的有效方法之一。IP多播主要是通过多播通道和IP的多播协议传输消息。
在本发明实施例中,需要同步签名算法时,首先需要同步签名算法的终端在多播通道将同步请求发送至集群组中的终端,接收到同步请求的终端检查自身签名算法的有效期是否早于发起同步请求的终端的签名算法的有效期,如果不早于则在多播通道发送自身的签名算法,以同步集群中其他终端的签名算法。
步骤202、用同步更新后的签名算法的有效期与本地时间比对,如果所述同步更新后的签名算法仍然无效。所述服务使用终端则向SIP发送签名算法更新请求。所述请求中包含参数:AppId(ISV应用的身份标识),timestamp(发起请求时的时间戳,防止包体被截获用于重复使用),sign(此次请求的数字签名)。
所述sign是首先将所述AppId(ISV应用的身份标识),timestamp(发起请求时的时间戳)串联成字符串,然后根据algorithn规则描述与SecretCode将所述字符串中的字符进行重排处理,然后将重排后的字符串通过MD5数字摘要得到签名。则所述签名算法则是algorithn规则描述和MD5数字摘要的组合。
步骤203、SIP根据ISV的应用AppId从集中式缓存中获取SIP的当前签名算法以及最近失效签名算法(当前算法的前一次算法),具体包括:
(1)只获取到当前签名算法,即该ISV应用是第一次请求更新签名算法,则转入步骤步骤208。
(2)如果获取到当前签名算法和最近失效的签名算法,转至步骤204。
(3)如果没有获取到签名算法,则向ISV应用返回更新请求失败信息,并终止该次签名算法更新。
所述集中式缓存位于SIP内,用于保存SIP当前使用的签名算法和前一次失效的签名算法。
步骤204、利用获取到的签名算法校验更新请求中的签名,具体包括:
首先所述当前签名算法校验签名,如果通过校验,则转至步骤205,如果未通过校验,则使用前一次失效的签名算法对签名进行校验。
如果最近失效的签名算法依然不能通过校验,则返回更新不成功,若通过校验则转至步骤205。
步骤205、校验时间戳,判断所述更新请求是否属于历史请求。如果是则返回错误信息。
因为在互联网上数据包信息容易被截取,因此在数据包中设置了发送数据的时间戳,并在我们的服务端设定一个请求有效时长,表明该数据包在什么时间段有效,如果接收到的请求中时间戳加上有效时长已经早于当前时间,那么所述请求则是历史请求。
步骤206、从所述ISP中获取允许更新签名的IP白名单,其中,所述IP白名单中保存有权限更新签名算法的IP地址。
步骤207、检查获取到的IP白名单是否为空,如果不为空则检查发起更新请求的IP是否被列入所述IP白名单,如果是则转入步骤208,如果没有被列入白名单,则根据所述更新请求中的AppId获取注册使用该ISV服务的终端的相关信息,并根据所述相关信息为注册使用的用户终端发送告警,提示有非法终端冒名请求更新算法服务,其中,所述相关信息中包含注册使用终端的email或者手机号码。
步骤208、服务集成平台判断当前ISV使用的签名算法是否已经处于失效期,如果是,则根据相应的规则创建签名算法,保存签名算法和有效期以及历史算法描述到数据库,并且刷新集中式缓存。(对于在同一有效期请求的ISV应用来说,创建获得的更新算法都是一样的,防止多个请求并发创建算法而出现不一致的情况)。
步骤209、所述服务集成平台为发起更新请求的服务使用终端返回更新后的算法信息。在返回的消息中包含参数:AppId,timestamp,algorithm(算法规则描述),Term of validity(有效期,单位分钟),sign。
步骤210、所述ISV应用接收到SIP返回的算法信息后,应用所述算法信息中的algorithm与自身的密钥(SecretCode)校验算法信息中的签名,并将校验通过的新算法保存到本地文件,同时应用新的签名算法刷新缓存。
在步骤201中,同步签名算法的具体步骤,如图3所示,包括:
步骤301、所述ISV应用在多播通道发送同步算法请求,并带有AppId作为应用标示识。
步骤302、同局域网内的其他ISV应用监听到该同步算法请求后,将自己的签名算法以及签名算法的有效期在该多播通道进行广播。
步骤303、局域网内的各ISV应用在该多播通道中选择有效期最长的签名算法进行保留,并更新自身当前的有效签名算法。
另外,在步骤210中,ISV用新的签名算法刷新缓存后,可以通过多播通道在局域网内发起更新算法的消息,以同步其他集群的组件的签名算法。如图4所示,在局域网内同步刷新签名算法具体包括步骤:
步骤401、在多播通道发起刷新签名算法的消息,并将新签名算法在多播通道进行广播,所述消息中包含所述新签名算法的有效期和作为应用标识的AppId。
步骤402、当同局域网的其他网络节点在多播通道监听到此刷新消息后,对所述AppId进行校验,若校验通过,各ISV应用则检查本地签名算法的有效期是否早于所述新签名算法的有效期,如果是则转入步骤403;如果不是,则转入步骤404。
步骤403、利用所述新签名算法刷新缓存,并将该新签名算法保存到本地文件中。
步骤404、将自身的签名算法在多播通道进行广播。
上述方法,在实现过程中可以通过特定的签名装置来独立的完成签名实现和签名算法的更新,并且所述签名装置可以位于服务使用终端内部,也可以位于独立的应用实体中。
因为得到签名算法之后即可得到相应的私钥,所以私钥是随着签名算法一起更新的。
本发明实施例还涉及一种提供签名算法描述的方法,具体包括步骤,如图5所示:
步骤501、定义加密字符串的规则描述。签名算法处理的原始内容是由一系列参数及私钥拼装起来的字符串,因此对于此类数据的签名加密就采用打散字符串的方式来实现。其中,加密字符串的规则如表1所示:
  规则标识   使用格式 描述
  Init   init 表示一次更新请求都没有收到,此时如果有更新请求发起,则不校验发起方的身份,直接产生算法返回。
  H   h:start(数字) Head的缩写,将源字符串从start开始到结束的字符串片断,拷贝到字符串最前端。例如:h:3。源字符串为”abcdefg”,转变后为“defgabcdefg”。如果源字符串长度小于start,那么不做任何处理
  t   t:start(数字) Tail的缩写,将源字符串从start开始到结束的字符串片断,拷贝到字符串最后端。例如:t:3。源字符串为”abcdefg”,转变后为“abcdefgdefg”。如果源字符串长度小于start,那么不做任何处理
  b   b:num(数字) Bag的缩写,创建num个bag,然后将字符串按照顺序,逐一将字符分别放入到每一个bag中,然后再将bag串联起来组成新的字符串。例如:b:3。源字符串为“abcdefghijk”,那么在第一个bag中保存的内容为adgj,第二个bag保存为behk,第三个bag保存为cfi。组合起来最后加密过的字符串为adgjbehkcfi。
  c   c:num(数字) Circle的缩写,将字符串组成一个圆,移位num。例如c:3,源字符串为“abcdefghijk”,加密后就为“ijkabcdefgh”。
  m   m:num(数字) MD5结果修改,将字符串作完md5以后每一个字节内容增加num。这与前面几个处理不同,是对字符串作完MD5再进行的处理。
表1
规则表内的规则可以在后续的组件版本中不断增加,以提高加密算法的可靠性,其中版本标识也根据规则的增加进行修改和扩展。
步骤502、将表1中的多个规则进行组和后得到所需的算法描述。其中所述组合的原则可以是有多种包括:(1)应用外部程序选择规则进行组合。(2)随机的选择规则进行组合。
例如,通过原则(2)构建出组合策略如下:c:4;t:2;b:5;h:6;c:1;m:3。
那么在进行算法签名时,则将参数及私钥拼装起来的字符串将按照上述策略将进行重新排序。然后作MD5以后再处理m:3的加密工作。因此m的操作默认定义在最后进行操作。
步骤503、对所述算法描述进行加密。
由于算法描述将会在响应中传递,因此为了安全也需要做简单的加密。其中包括方法:在每次返回算法的时候也会返回当前的时间戳,将时间戳的分钟个位数,作为规则移位的因子,秒的个位数作为加密因子累加到原始算法描述上。例如:
当前时间戳为:2008-08-25 21:11:32。
原始算法描述为:c:4;t:2;b:5;h:6;c:1;m:3。
加密后的算法描述为:m:5;c:6;t:4;b:7;h:8;c:3。
如图6所示,对应上述方法,本发明实施例提供一种签名更新的系统,包括第一服务使用终端601、至少一个第二服务使用终端602(因为所述服务使用终端部署在集群中所以存在至少一个第二服务使用终端)、服务集成平台603:
第一服务使用终端601,所述第一服务使用终端,用于当自身签名算法失效后,向所述第二服务使用终端发送同步签名算法请求,接收到同步签名算法响应后,则利用同步签名算法响应中的签名算法更新本地的签名算法。
其中,当同步签名算法仍失效时,则所述第一服务使用终端601还用于向服务集成平台发起签名算法更新请求获取新签名算法,并用获取到的新签名算法更新本地签名算法。
第二服务使用终端602,用于当接收到同步签名算法请求后,利用自身的签名算法向所述第一服务使用终端发送同步签名算法响应。
服务集成平台603,用于接收到所述第一服务使用终端的签名算法更新请求后,对所述更新请求中的参数进行校验,校验通过,则为所述第一服务使用终端返回新签名算法。
如图7所示,本发明实施例还提供一种签名算法更新的系统,具体包括第一服务使用终端701,签名装置702、至少一个第二服务使用终端703、服务集成平台704:
第一服务使用终端701,用于当向所述服务集成平台发起服务请求时,触发签名装置对所述服务请求中的参数进行签名。
签名装置702,用于当接收到所述参数后,检查自身签名算法是否失效,如果有效则对所述参数进行签名,如果失效,则向第二服务使用终端发送同步签名算法的请求,接收到所述同步签名算法的响应后,利用所述响应中的签名算法更新本地的签名算法。
其中,所述签名装置702还用于当同步更新后的签名算法仍失效,则向服务集成平台发起签名算法更新请求获取新签名算法,并用获取到的新签名算法更新本地签名算法。
其中本发明实施例中签名装置的状态包括:尚未开通,初始化,正常运行,其中上述状态之间的关系如图7A所示。
尚未开通状态:表示ISV应用没有选择使用签名装置,因此在校验签名的时候使用开放式服务基础签名算法。需要转换为初始化状态时,需要ISV应用通过ISV门户主动设置开通。
初始化状态:表示ISV应用确认使用了签名装置,同时组件尚未启动,并且没有发起签名算法更新请求,如果在该状态有更新算法请求发起,则默认不校验请求者的身份,直接产生算法返回。该状态的ISV应用也可以通过ISV门户重置组件状态,来解决由于机器长期停滞或者丢失算法导致无法启动的问题。
正常运行状态:签名装置正式开始动态算法更新的正常运作,定时更新算法,同时算法本身的描述是私钥,也意味着私钥也定时更新,因此安全级别比固化算法和私钥提高很多。
第二服务使用终端703,用于当接收到同步签名算法请求后,利用自身的签名算法向所述签名装置702发送同步签名算法响应。
服务集成平台704,用于接收到所述签名装置702的签名算法更新请求后,对所述更新请求进行校验,在校验通过,则为所述第一服务使用终端返回新签名算法。
显然,本领域普通技术人员应当知道,上述服务使用终端和服务集成平台可以是独立的物理实体,也可以是分别位于不同的物理实体中的软件模块。
如图8所示,所述服务集成平台704包括:动态签名服务支撑模块801、存储模块802。
动态签名服务支撑模块801,用于响应所述服务使用终端的签名算法更新请求,并对所述签名算法更新请求中的参数进行校验,在校验通过后,为所述服务使用终端返回新签名算法。
如图9所示,所述动态签名服务支撑模块801包括:获取单元901、校验单元902、监控单元903、创建单元904。
获取单元901,用于利用所述参数中的服务使用终端的身份标识获取签名算法。
校验单元902,用于利用获取单元获取到的签名算法对所述参数中的签名进行校验,若校验通过,则校验所述参数中的时间戳。
监控单元903,用于检查发起签名算法更新请求的IP地址是否有权限更新签名算法,如果有则向所述服务使用终端返回新签名算法,如果所述发起签名算法更新请求的IP地址没有更新签名算法的权限,则向发起更新请求的服务使用终端所属的服务使用服务器发出告警。
创建单元904,用于在所述校验单元的校验通过后,创建新签名算法,并将所述新签名算法返回发起签名算法更新请求的服务使用终端。
因为在签名装置发展过程中,不同的客户端可能会获取到不同版本的签名装置,因此提供了版本号来标示组件的版本,同时采用不同的策略来处理不同版本的客户端组件请求。
存储模块802,用于保存新签名算法和该新签名算法的有效期以及失效的算法。
如图10所示,本发明实施例还包括一种服务使用终端,包括服务请求模块1001,签名模块1002,响应模块1003。
服务请求模块1001,用于当服务使用终端发起服务请求时,触发签名模块对所述服务请求中的参数进行签名。
签名模块1002,用于检查自身签名算法是否失效,如果失效则在局域网内发起同步签名算法的请求,接收到所述签名算法请求的响应后,则利用所述响应中的签名算法更新本地的签名算法。
响应模块1003,用于当接收到同步签名算法请求后,利用自身的签名算法向发起同步签名算法请求的服务使用终端发送同步签名算法响应。
如图11所示,ISV应用往往可能部署在集群中,因此需要考虑到多台机器不同时间请求更新同一个ISV应用签名算法的可能。
假设其中ISV应用服务器A的本地算法已经失效,主动请求获取新签名算法,SIP校验身份通过以后将新算法创建并保存,同时传递给服务器A。而此时服务器B由于本地时间有偏差,过了一段时间才发起请求获取签名算法,如果按照现有的算法校验,那么服务器B将无法获取到新算法,但是由于本发明实施例所提供方法中保留了上一次失效的算法作为历史算法,因此使得SIP在应用当前的签名算法校验签名无效时候可以使用上一次失效的签名算法校验签名,从而服务器B便可顺利的通过校验。
再则如果ServerC由于本地时间偏差,没有认为本地策略失效,依然发起服务请求,此时如果按照现有策略签名校验将会校验失败,由于历史签名算法存在,因此也可以解决一个有效周期算法的时间不一致问题。
另外,本发明实施例根据ISV应用集群分布的特点通过局域网内同步签名算法的方法,在减少了签名算法的带宽占用的同时使得同一局域网中各ISV应用终端的签名算法都能同步的更新。
进一步,在同步无效的情况下通过向服务器端发送签名算法更新请求,然后获取新的签名算法,从而达到了动态更新签名算法的目的。
本发明实施例通过利用签名装置定期的更新签名算法,提高了签名算法的安全性和可靠性。并且本发明实施例设置IP白名单,当更新请求的IP地址并没有列入所述IP白名单中,则向ISV发出告警。
由于签名装置的应用,使得ISV使用终端可直接的应用签名装置实现签名和签名算法的更新,并且签名装置的使用为ISV的接入和使用互联网开放式服务提供了基础。
本发明所述的方法并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其它的实施方式,同样属于本发明的技术创新范围。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (21)

1、一种更新签名算法的方法,其特征在于,包括步骤:
服务使用终端确定本地签名算法失效后,在网络内发送同步签名算法的请求消息;
所述服务使用终端接收到响应消息后,利用该响应消息中的签名算法更新本地的签名算法。
2、根据权利要求1所述的方法,其特征在于,所述签名算法中包括有效期,签名算法超过有效期则确定签名算法失效。
3、根据权利要求1所述的方法,其特征在于,所述更新本地签名算法后进一步包括:
如果更新后的签名算法仍失效,则向服务集成平台发起签名算法更新请求获取新签名算法,并用获取到的新签名算法更新本地签名算法。
4、如权利要求1所述的方法,其特征在于,所述同步签名算法的请求通过多播通道在局域网内发送。
5、一种更新签名算法的方法,其特征在于,包括:
服务集成平台接收服务使用终端发送的签名算法更新请求;
所述服务集成平台对所签名算法更新请求中的参数进行校验,并在校验通过后向所述服务使用终端返回新签名算法。
6、如权利要求5所述的方法,其特征在于,所述参数中包括服务使用终端应用自身签名算法实现的签名和所述服务使用终端的身份标识;
所述在校验通过后向所述服务使用终端返回新签名算法,包括:
所述服务集成平台利用所述身份标识获取本地签名算法,利用获取到的签名算法对所述签名进行校验,并在校验通过后为所述服务使用终端返回新签名算法。
7、如权利要求6所述的方法,其特征在于,所述本地签名算法包括当前使用的签名算法和前一次失效的签名算法;
则所述利用获取到的签名算法对所述签名进行校验包括:
使用所述当前签名算法对所述签名进行检验;
若所述校验没有通过,则使用所述前一次失效的签名算法对所述数字签名进行校验。
8、如权利要求5所述的方法,其特征在于,所述参数中还包括时间戳;
所述在校验通过后为所述服务使用终端返回新签名算法包括:
根据所述时间戳确定所述签名算法更新请求不属于历史请求后,向所述服务使用终端返回新签名算法。
9、如权利要求5所述的方法,其特征在于,所述校验通过后向所述服务使用终端返回新签名算法包括:
检查发起签名算法更新请求的IP地址,当所述发起签名算法更新请求的IP地址有权限更新签名算法,则向所述服务使用终端返回新签名算法。
10、如权利要求9所述的方法,其特征在于,如果所述发起签名算法更新请求的IP地址没有更新签名算法的权限,则根据所述服务使用终端的身份标识获取有权限更新签名算法的用户的信息,并向该用户发出告警。
11、如权利要求5所述的方法,其特征在于,所述向所述服务使用终端返回新签名算法之前,进一步包括:
所述服务集成平台创建新签名算法,并保存所述新签名算法和该新签名算法的有效期以及失效的算法。
12、如权利要求5所述的方法,其特征在于,所述参数中包括所述服务使用终端当前签名算法的版本信息,则所述创建新签名算法,包括:
根据签名算法的版本信息定义加密字符串的规则,将所述规则进行组合得到新签名算法。
13、如权利要求3所述的方法,其特征在于,所述用获取到的新签名算法更新本地签名算法之后,进一步包括:
所述服务使用终端在多播通道发起更新算法的消息,同步集群中各服务使用终端的签名算法。
14、一种更新签名算法的系统,其特征在于,包括第一服务使用终端和至少一个第二服务使用终端:
所述第一服务使用终端,用于当自身签名算法失效后,向所述第二服务使用终端发送同步签名算法请求,接收到同步签名算法响应后,则利用同步签名算法响应中的签名算法更新本地的签名算法;
所述至少一个第二服务使用终端,用于当接收到同步签名算法请求后,利用自身的签名算法向所述第一服务使用终端发送同步签名算法响应。
15、如权利要求14所述的系统,其特征在于,该系统还包括服务集成平台:
则所述第一服务使用终端还用于当同步签名算法仍失效时,则向服务集成平台发起签名算法更新请求获取新签名算法,并用获取到的新签名算法更新本地签名算法;
所述服务集成平台,用于接收到所述第一服务使用终端的签名算法更新请求后,对所述更新请求中的参数进行校验,校验通过,则为所述第一服务使用终端返回新签名算法。
16、一种更新签名算法的系统,其特征在于,包括第一服务使用终端,签名装置和至少一个第二服务使用终端:
所述第一服务使用终端,用于当发起服务请求时,触发签名装置对所述服务请求中的参数进行签名;
所述签名装置,用于当接收到所述参数后,检查自身签名算法是否失效,如果有效则对所述参数进行签名,如果失效,则向所述第二服务使用终端发送同步签名算法的请求,接收到所述同步签名算法的响应后,利用所述响应中的签名算法更新本地的签名算法;
所述至少一个第二服务使用终端,用于当接收到同步签名算法请求后,利用自身的签名算法向所述签名装置发送同步签名算法响应。
17、如权利要求16所述的系统,其特征在于,该系统还包括服务集成平台:
则所述签名装置还用于当同步更新后的签名算仍失效,则向服务集成平台发起签名算法更新请求获取新签名算法,并用获取到的新签名算法更新本地签名算法;
所述服务集成平台用于接收到所述签名装置发送的签名算法更新请求后,对所述更新请求中的参数进行校验,在校验通过,则为所述第一服务使用终端返回新签名算法。
18、一种服务集成平台,其特征在于,包括:
动态签名服务支撑模块,用于响应服务使用终端的签名算法更新请求,并对所述签名算法更新请求中的参数进行校验,在校验通过后,为所述服务使用终端返回新签名算法;
存储模块,用于保存新签名算法和该新签名算法的有效期以及失效的算法。
19、如权利要求18所述的服务集成平台,其特征在于,所述动态签名服务支撑模块包括:
获取单元,用于利用所述参数中的服务使用终端的身份标识获取签名获取签名算法;
校验单元,用于利用获取单元获取到的签名算法对所述参数中的签名进行校验,若校验通过,则校验所述参数中的时间戳;
创建单元,用于在所述校验单元的校验通过后,创建新签名算法,并将所述新签名算法返回发起签名算法更新请求的服务使用终端。
20、如权利要求19所述的服务集成平台,其特征在于,所述动态签名服务支撑模块还包括:
监控单元,用于检查发起签名算法更新请求的IP地址是否有权限更新签名算法,如果有则向所述服务使用终端返回新签名算法,如果所述发起签名算法更新请求的IP地址没有更新签名算法的权限,则向发起更新请求的服务使用终端所属的服务使用服务器发出告警。
21、一种服务使用终端,其特征在于,包括:
服务请求模块,用于当服务使用终端向服务集成平台发起服务请求时,触发签名模块对所述服务请求中的参数进行签名;
签名模块,用于检查自身签名算法是否失效,如果失效则在网络内发起同步签名算法的请求,接收到所述签名算法请求的响应后,则利用所述响应中的签名算法更新本地的签名算法。
22,如权利要求21所述的终端,其特征在于,该终端还包括:
响应模块,用于当接收到同步签名算法请求后,利用自身的签名算法向发起同步签名算法请求的服务使用终端发送同步签名算法响应。
CN2008101726782A 2008-11-06 2008-11-06 一种更新签名算法的方法和系统 Expired - Fee Related CN101404575B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2008101726782A CN101404575B (zh) 2008-11-06 2008-11-06 一种更新签名算法的方法和系统
HK09108905.8A HK1130970A1 (en) 2008-11-06 2009-09-28 Method and system for updating signature algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101726782A CN101404575B (zh) 2008-11-06 2008-11-06 一种更新签名算法的方法和系统

Publications (2)

Publication Number Publication Date
CN101404575A true CN101404575A (zh) 2009-04-08
CN101404575B CN101404575B (zh) 2011-09-28

Family

ID=40538453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101726782A Expired - Fee Related CN101404575B (zh) 2008-11-06 2008-11-06 一种更新签名算法的方法和系统

Country Status (2)

Country Link
CN (1) CN101404575B (zh)
HK (1) HK1130970A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624740A (zh) * 2012-03-30 2012-08-01 奇智软件(北京)有限公司 一种数据交互方法及客户端、服务器
CN101562621B (zh) * 2009-05-25 2013-05-22 阿里巴巴集团控股有限公司 一种用户授权的方法、系统和装置
CN101777101B (zh) * 2010-01-22 2013-12-18 北京深思洛克软件技术股份有限公司 一种提高智能密钥设备易用性的方法和智能密钥设备
WO2016095472A1 (zh) * 2014-12-18 2016-06-23 中兴通讯股份有限公司 资源操作请求的处理方法及装置
CN106101079A (zh) * 2016-05-31 2016-11-09 努比亚技术有限公司 一种实现签名加密的方法和系统
CN109088736A (zh) * 2018-09-25 2018-12-25 平安科技(深圳)有限公司 一种基于数字签名的数据通信方法、系统及装置
CN110413110A (zh) * 2019-07-05 2019-11-05 深圳市工匠社科技有限公司 虚拟角色的控制方法及相关产品
CN114070610A (zh) * 2021-11-12 2022-02-18 上汽通用五菱汽车股份有限公司 Api网关鉴权方法、网关设备及可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL159342A0 (en) * 2001-06-12 2004-06-01 Research In Motion Ltd Certificate management and transfer system and method
CN1832400B (zh) * 2005-11-14 2011-08-17 四川长虹电器股份有限公司 内容保护系统以及方法
CN100563151C (zh) * 2006-08-31 2009-11-25 普天信息技术研究院 一种数字证书更新方法及系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101562621B (zh) * 2009-05-25 2013-05-22 阿里巴巴集团控股有限公司 一种用户授权的方法、系统和装置
CN101777101B (zh) * 2010-01-22 2013-12-18 北京深思洛克软件技术股份有限公司 一种提高智能密钥设备易用性的方法和智能密钥设备
CN102624740A (zh) * 2012-03-30 2012-08-01 奇智软件(北京)有限公司 一种数据交互方法及客户端、服务器
CN102624740B (zh) * 2012-03-30 2016-05-11 北京奇虎科技有限公司 一种数据交互方法及客户端、服务器
WO2016095472A1 (zh) * 2014-12-18 2016-06-23 中兴通讯股份有限公司 资源操作请求的处理方法及装置
CN106101079A (zh) * 2016-05-31 2016-11-09 努比亚技术有限公司 一种实现签名加密的方法和系统
CN109088736A (zh) * 2018-09-25 2018-12-25 平安科技(深圳)有限公司 一种基于数字签名的数据通信方法、系统及装置
CN109088736B (zh) * 2018-09-25 2023-10-03 平安科技(深圳)有限公司 一种基于数字签名的数据通信方法、系统及装置
CN110413110A (zh) * 2019-07-05 2019-11-05 深圳市工匠社科技有限公司 虚拟角色的控制方法及相关产品
CN114070610A (zh) * 2021-11-12 2022-02-18 上汽通用五菱汽车股份有限公司 Api网关鉴权方法、网关设备及可读存储介质

Also Published As

Publication number Publication date
CN101404575B (zh) 2011-09-28
HK1130970A1 (en) 2010-01-08

Similar Documents

Publication Publication Date Title
CN101404575B (zh) 一种更新签名算法的方法和系统
JP5099139B2 (ja) 公開鍵証明書状態の取得および確認方法
CN112422532B (zh) 业务通信方法、系统、装置及电子设备
CN109104451A (zh) Docker镜像的下载方法及节点、Docker镜像的预热方法及节点
US11849052B2 (en) Certificate in blockchain network, storage medium, and computer device
CN108390881A (zh) 一种分布式高并发实时消息推送方法及系统
CN112152778B (zh) 一种节点管理方法、装置、及电子设备
CN111355986B (zh) 一种直播间中的消息处理方法、装置和存储介质
CN108990062B (zh) 智能安全Wi-Fi管理方法和系统
WO2019196406A1 (zh) 一种基于区块链的去中心化根域名服务方法及系统
CN110730081B (zh) 基于区块链网络的证书吊销方法、相关设备及介质
CN102111326A (zh) 在二层隧道协议虚拟专用网实现移动的方法、系统和装置
EP3598333B1 (en) Electronic device update management
CN112600820B (zh) 一种网络连接方法、装置、计算机设备以及存储介质
CN103179099A (zh) 一种接入开放网站平台的统一认证方法和一种网站平台
CN115189913B (zh) 数据报文的传输方法和装置
CN104202365A (zh) 一种集群式智能网关平台及其部署扩展业务应用的方法
CN112351117A (zh) 一种域名管理方法、装置、电子设备及存储介质
CN105635321A (zh) 一种动态组网设备注册的方法
CN103546528A (zh) 分布式消息推送方法及系统
CN111866993B (zh) 无线局域网连接管理方法、装置、软件程序及存储介质
US8560732B2 (en) Peer-to-peer object distribution
CN1885768B (zh) 一种环球网认证方法
Tsai et al. An efficient blockchain-based firmware update framework for iot environment
CN103441876B (zh) 一种基于dhcp协议和snmp协议的网络设备管理方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1130970

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1130970

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110928

Termination date: 20211106

CF01 Termination of patent right due to non-payment of annual fee