令牌生成和验证方法以及设备的制作方法

文档序号:7998231阅读:203来源:国知局
令牌生成和验证方法以及设备的制作方法
【专利摘要】本发明的实施方式公开了令牌生成和验证方法以及设备。该令牌生成方法包括生成随机字符串作为密钥;将令牌中将要包含的信息和该密钥拼装成第一字符串,并且通过对第一字符串进行加密得到令牌签名;以及将该信息和该令牌签名按照可拆解的模式拼装成第二字符串作为令牌。本发明的实施方式提出的令牌生成和验证方法以及设备能够提供较高安全性的互联网应用服务访问。
【专利说明】令牌生成和验证方法以及设备

【技术领域】
[0001]本发明的实施方式涉及计算机网络【技术领域】,更具体地涉及令牌生成和验证方法以及设备。

【背景技术】
[0002]随着互联网技术的发展和普及,各种web应用服务已经遍及人们日常生活的方方面面,例如购物、电子邮件、新闻浏览、论坛等。然而,web应用存在安全隐患。为了保障访问的安全性,常常需要对用户身份进行认证。
[0003]目前,在三种主流的web服务实现方案中,因为表征状态转移(REST)模式的web服务与复杂的简单对象访问协议(SOAP)和可扩展标记语言-远端程序呼叫(XML-RPC)相比更加简洁,所以越来越多的web服务开始采用REST风格设计和实现。REST没有通用的安全标准,REST web服务提供商通常使用私有的安全令牌来进行认证。
[0004]在一种现有的REST web用户验证方法中,应用服务器生成并存储用于各用户的令牌,并且将生成的令牌通知相应用户。用户在调用应用服务器处的REST应用程序接口(API)时,在调用请求中携带令牌,应用服务器接收到该令牌后,将其与自身存储的对应令牌进行比较,从而进行认证。然而,这种方式不但安全性差,而且占用了服务器端大量的存储资源。


【发明内容】

[0005]因此,本发明的目的在于,提供一种令牌生成和验证方法以及设备。
[0006]根据本发明的一个方面,提供了一种令牌生成方法,该方法包括:生成随机字符串作为密钥;将令牌中将要包含的信息和该密钥拼装成第一字符串,并且通过对第一字符串进行加密得到令牌签名;以及将该信息和该令牌签名按照可拆解的模式拼装成第二字符串作为令牌。
[0007]在一个实施方式中,根据使用该信息计算的键值对生成的密钥进行存储。
[0008]根据本发明的另一方面,提供了一种令牌验证方法,该方法包括:对令牌进行拆解以得到其中包含的信息和第一令牌签名;将拆解出的信息和存储的密钥拼装成字符串,并且通过对该字符串进行加密得到第二令牌签名;以及将第一令牌签名和第二令牌签名进行比较,并且基于比较结果进行令牌验证。
[0009]在一个实施方式中,根据使用拆解出的信息计算的键值读取存储的密钥。
[0010]根据本发明的又一方面,提供了一种令牌生成设备,该设备包括:密钥生成装置,被配置为生成随机字符串作为密钥;签名生成装置,被配置为将令牌中将要包含的信息和该密钥拼装成第一字符串,并且通过对第一字符串进行加密得到令牌签名;以及令牌生成装置,被配置为将该信息和该令牌签名按照可拆解的模式拼装成第二字符串作为令牌。
[0011]在一个实施方式中,该设备还包括存储装置,该存储装置被配置为根据使用该信息计算的键值对生成的密钥进行存储。
[0012]根据本发明的另一方面,提供了一种令牌验证设备,该设备包括:签名获取装置,被配置为对令牌进行拆解以得到其中包含的信息和第一令牌签名;签名生成装置,被配置为将拆解出的信息和存储的密钥拼装成字符串,并且通过对该字符串进行加密得到第二令牌签名;以及验证装置,被配置为对第一令牌签名和第二令牌签名进行比较,并且基于比较结果进行令牌验证。
[0013]在一个实施方式中,该设备还包括读取装置,该读取装置被配置为根据使用拆解出的信息计算的键值读取存储的密钥。
[0014]本发明的实施方式提出的令牌生成和验证方法以及设备能够提供较高安全性的互联网应用服务访问。

【专利附图】

【附图说明】
[0015]通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将更加明显,附图中相同的标号表示相同或相似的元素。在附图中:
[0016]图1示出了根据本发明一个实施方式的令牌生成方法100的流程图;
[0017]图2示出了根据本发明一个实施方式的令牌验证方法200的流程图;
[0018]图3示出了根据本发明的一个实施方式的令牌生成设备300的框图;以及
[0019]图4示出了根据本发明的一个实施方式的令牌验证设备400的框图。

【具体实施方式】
[0020]以下结合附图对本发明的实施方式进行更详细的解释和说明。应当理解的是,本发明的附图及实施方式仅用于示例性作用,并非用于限制本发明的保护范围。
[0021]附图中的流程图和框图,图示了按照本发明各种实施方式的方法和设备可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以利用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0022]下面结合附图以示例的方式详细描述本发明的各种实施方式。
[0023]图1示出了根据本发明一个实施方式的令牌生成方法100的流程图。
[0024]如图1所示,方法100在开始之后,在步骤S101,生成随机字符串作为密钥。
[0025]然后,在步骤S102,将令牌中将要包含的信息和密钥拼装成第一字符串,并且通过对第一字符串进行加密得到令牌签名。
[0026]在一个实施方式中,令牌可以包括创建时间、过期时间或有效期等信息。此外,令牌还可以包括与用户相关的信息,例如用户名或密码。
[0027]在一个实施方式中,可以按照字典升序排序的模式进行上述拼装。可替换地,也可以按照其他排序模式来进行拼装,例如,降序排序或预定义的其他排序模式。
[0028]在一个实施方式中,可以使用消息摘要算法5 (MD5)来进行加密。可替换地,也可以使用其他常用的加密算法,例如安全哈希算法SHA-1。
[0029]接下来,在步骤S103,将令牌中将要包含的信息和令牌签名按照可拆解的模式拼装成第二字符串作为令牌。
[0030]在一个实施方式中,可以使用减号对各信息组成进行分割。
[0031]根据本发明的实施方式的令牌生成方法能够提供较高安全性的互联网应用服务访问。
[0032]此外,在一个实施方式中,可以根据使用令牌中将要包含的信息计算的键值对生成的密钥进行存储。
[0033]在本发明的实施方式中,可以在服务器中执行上述令牌生成方法。生成密钥后,月艮务器根据计算的键值存储生成的密钥,并且将生成的令牌发送给相应的客户端。
[0034]通过这种方式,不但增加了互联网应用服务访问的安全性,而且节省了服务器端的存储资源。
[0035]下面,参照图2描述根据本发明一个实施方式的令牌验证方法200。
[0036]如图2所示,方法200在开始之后,在步骤S201,对令牌进行拆解以得到其中包含的信息和第一令牌签名。
[0037]然后,在步骤S202,将拆解出的信息和存储的密钥拼装成字符串,并且通过对字符串进行加密得到第二令牌签名。
[0038]接下来,在步骤S203,将第一令牌签名和第二令牌签名进行比较,并且基于比较结果进行令牌验证。
[0039]例如,如果第一令牌签名和第二令牌签名相同,则验证通过;否则,验证不通过。
[0040]在方法200中,令牌中包含的信息、拼装模式和加密算法与令牌生成方法100中描述的类似,此处不再赘述。
[0041]同样,根据本发明的实施方式的令牌验证方法能够提供较高安全性的互联网应用服务访问。
[0042]此外,在一个实施方式中,可以根据使用拆解出的信息计算的键值读取存储的密钥。
[0043]类似地,在本发明的实施方式中,可以在服务器中执行上述令牌验证方法。服务器在接收到令牌后对令牌进行拆解,然后根据使用拆解出的信息计算的键值读取存储的密钥,再根据拆解出的信息和读取的密钥生成令牌签名,从而进行验证。
[0044]类似地,根据本发明的实施方式的令牌验证方法不但增加了互联网应用服务访问的安全性,而且节省了服务器端的存储资源。
[0045]现在参考图3和图4说明能够执行上述方法100和方法200的设备。
[0046]图3示出了根据本发明的一个实施方式的令牌生成设备300的框图。
[0047]如图3所示的设备300包括密钥生成装置301、签名生成装置302和令牌生成装置303。
[0048]根据本发明的实施方式,密钥生成装置301被配置为生成随机字符串作为密钥;签名生成装置302被配置为将令牌中将要包含的信息和密钥拼装成第一字符串,并且通过对第一字符串进行加密得到令牌签名;以及令牌生成装置303被配置为将该信息和令牌签名按照可拆解的模式拼装成第二字符串作为令牌。
[0049]在一个实施方式中,设备300还包括存储装置304,存储装置304被配置为根据使用令牌中将要包含的信息计算的键值对生成的密钥进行存储。
[0050]图4示出了根据本发明的一个实施方式的令牌验证设备400的框图。
[0051 ] 如图4所示的设备400包括签名获取装置401、签名生成装置402和验证装置403。
[0052]根据本发明的实施方式,签名获取装置401被配置为对令牌进行拆解以得到其中包含的信息和第一令牌签名;签名生成装置402被配置为将拆解出的信息和存储的密钥拼装成字符串,并且通过对字符串进行加密得到第二令牌签名;以及验证装置403被配置为将第一令牌签名和第二令牌签名进行比较,并且基于比较结果进行令牌验证。
[0053]在一个实施方式中,设备400还包括读取装置404,读取装置404被配置为根据使用拆解出的信息计算的键值读取存储的密钥。
[0054]应当理解,设备300和设备400同样可以实现于服务器中。而且设备300和设备400中的每个装置分别与参考图1和图2描述的方法100和方法200中的每个步骤相对应。由此,上文针对图1和图2描述的操作和特征同样适用于设备300和设备400及其中包含的装置,具体细节不再赘述。
[0055]设备300和设备400可以利用各种方式来实现。例如,在某些实施方式中,可以利用软件和/或固件模块来实现。此外,也可以利用硬件模块来实现。现在已知或者将来开发的其他方式也是可行的,本发明的范围在此方面不受限制。
[0056]需要说明的是,本发明的实施方式所公开的方法可以在软件、硬件、或软件和硬件的结合中实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器、个人计算机(PC)或大型机来执行。在一些实施方式中,本发明实现为软件,其包括但不限于固件、驻留软件、微代码等。
[0057]而且,本发明的实施方式还可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,这些介质提供程序代码以供计算机或任何指令执行系统使用或与其结合使用。出于描述目的,计算机可用或计算机可读机制可以是任何有形的装置,其可以包含、存储、通信、传播或传输程序以由指令执行系统、装置或设备使用或与其结合使用。
[0058]介质可以是电的、磁的、光的、电磁的、红外线的、或半导体的系统(或装置或器件)或传播介质。计算机可读介质的示例包括半导体或固态存储器、磁带、可移动计算机磁盘、随机访问存储器(RAM)、只读存储器(ROM)、硬盘和光盘。目前光盘的示例包括紧凑盘-只读存储器(CD-ROM)、压缩盘-读/写(CD-R/W)和DVD。
[0059]应当注意,为了使本发明的实施方式更容易理解,上面的描述省略了对于本领域的技术人员来说是公知的、并且对于本发明的实施方式的实现可能是必需的更具体的一些技术细节。提供本发明的说明书是为了说明和描述,而不是用来穷举或将本发明限制为所公开的形式。对本领域的普通技术人员而言,许多修改和变更都是可以的。
[0060]因此,选择并描述实施方式是为了更好地解释本发明的原理及其实际应用,并使本领域普通技术人员明白,在不脱离本发明实质的前提下,所有修改和变型均落入由权利要求所限定的本发明的保护范围之内。
【权利要求】
1.一种令牌生成方法,包括: 生成随机字符串作为密钥; 将令牌中将要包含的信息和所述密钥拼装成第一字符串,并且通过对所述第一字符串进行加密得到令牌签名;以及 将所述信息和所述令牌签名按照可拆解的模式拼装成第二字符串作为所述令牌。
2.根据权利要求1所述的方法,还包括: 根据使用所述信息计算出的键值对生成的密钥进行存储。
3.一种令牌验证方法,包括: 对令牌进行拆解,以得到其中包含的信息和第一令牌签名; 将拆解出的信息和存储的密钥拼装成字符串,并且通过对所述字符串进行加密得到第二令牌签名;以及 将所述第一令牌签名和所述第二令牌签名进行比较,并且基于比较结果进行令牌验证。
4.根据权利要求1所述的方法,还包括: 根据使用所述拆解出的信息计算出的键值读取所述存储的密钥。
5.一种令牌生成设备,包括: 密钥生成装置,被配置为生成随机字符串作为密钥; 签名生成装置,被配置为将令牌中将要包含的信息和所述密钥拼装成第一字符串,并且通过对所述第一字符串进行加密得到令牌签名;以及 令牌生成装置,被配置为将所述信息和所述令牌签名按照可拆解的模式拼装成第二字符串作为所述令牌。
6.根据权利要求5所述的设备,所述设备还包括: 存储装置,被配置为根据使用所述信息计算出的键值对生成的密钥进行存储。
7.一种令牌验证设备,包括: 签名获取装置,被配置为对令牌进行拆解,以得到其中包含的信息和第一令牌签名;签名生成装置,被配置为将拆解出的信息和存储的密钥拼装成字符串,并且通过对所述字符串进行加密得到第二令牌签名;以及 验证装置,被配置为对所述第一令牌签名和所述第二令牌签名进行比较,并且基于比较结果进行令牌验证。
8.根据权利要求7所述的设备,所述设备还包括: 读取装置,被配置为根据使用所述拆解出的信息计算出的键值读取所述存储的密钥。
【文档编号】H04L9/32GK104079407SQ201310123043
【公开日】2014年10月1日 申请日期:2013年3月29日 优先权日:2013年3月29日
【发明者】戴洵 申请人:北京千橡网景科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1