CN104079407A - 令牌生成和验证方法以及设备 - Google Patents
令牌生成和验证方法以及设备 Download PDFInfo
- Publication number
- CN104079407A CN104079407A CN201310123043.4A CN201310123043A CN104079407A CN 104079407 A CN104079407 A CN 104079407A CN 201310123043 A CN201310123043 A CN 201310123043A CN 104079407 A CN104079407 A CN 104079407A
- Authority
- CN
- China
- Prior art keywords
- token
- key
- signature
- information
- character string
- 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.)
- Pending
Links
Abstract
本发明的实施方式公开了令牌生成和验证方法以及设备。该令牌生成方法包括生成随机字符串作为密钥;将令牌中将要包含的信息和该密钥拼装成第一字符串,并且通过对第一字符串进行加密得到令牌签名;以及将该信息和该令牌签名按照可拆解的模式拼装成第二字符串作为令牌。本发明的实施方式提出的令牌生成和验证方法以及设备能够提供较高安全性的互联网应用服务访问。
Description
技术领域
本发明的实施方式涉及计算机网络技术领域,更具体地涉及令牌生成和验证方法以及设备。
背景技术
随着互联网技术的发展和普及,各种web应用服务已经遍及人们日常生活的方方面面,例如购物、电子邮件、新闻浏览、论坛等。然而,web应用存在安全隐患。为了保障访问的安全性,常常需要对用户身份进行认证。
目前,在三种主流的web服务实现方案中,因为表征状态转移(REST)模式的web服务与复杂的简单对象访问协议(SOAP)和可扩展标记语言-远端程序呼叫(XML-RPC)相比更加简洁,所以越来越多的web服务开始采用REST风格设计和实现。REST没有通用的安全标准,REST web服务提供商通常使用私有的安全令牌来进行认证。
在一种现有的REST web用户验证方法中,应用服务器生成并存储用于各用户的令牌,并且将生成的令牌通知相应用户。用户在调用应用服务器处的REST应用程序接口(API)时,在调用请求中携带令牌,应用服务器接收到该令牌后,将其与自身存储的对应令牌进行比较,从而进行认证。然而,这种方式不但安全性差,而且占用了服务器端大量的存储资源。
发明内容
因此,本发明的目的在于,提供一种令牌生成和验证方法以及设备。
根据本发明的一个方面,提供了一种令牌生成方法,该方法包括:生成随机字符串作为密钥;将令牌中将要包含的信息和该密钥拼装成第一字符串,并且通过对第一字符串进行加密得到令牌签名;以及将该信息和该令牌签名按照可拆解的模式拼装成第二字符串作为令牌。
在一个实施方式中,根据使用该信息计算的键值对生成的密钥进行存储。
根据本发明的另一方面,提供了一种令牌验证方法,该方法包括:对令牌进行拆解以得到其中包含的信息和第一令牌签名;将拆解出的信息和存储的密钥拼装成字符串,并且通过对该字符串进行加密得到第二令牌签名;以及将第一令牌签名和第二令牌签名进行比较,并且基于比较结果进行令牌验证。
在一个实施方式中,根据使用拆解出的信息计算的键值读取存储的密钥。
根据本发明的又一方面,提供了一种令牌生成设备,该设备包括:密钥生成装置,被配置为生成随机字符串作为密钥;签名生成装置,被配置为将令牌中将要包含的信息和该密钥拼装成第一字符串,并且通过对第一字符串进行加密得到令牌签名;以及令牌生成装置,被配置为将该信息和该令牌签名按照可拆解的模式拼装成第二字符串作为令牌。
在一个实施方式中,该设备还包括存储装置,该存储装置被配置为根据使用该信息计算的键值对生成的密钥进行存储。
根据本发明的另一方面,提供了一种令牌验证设备,该设备包括:签名获取装置,被配置为对令牌进行拆解以得到其中包含的信息和第一令牌签名;签名生成装置,被配置为将拆解出的信息和存储的密钥拼装成字符串,并且通过对该字符串进行加密得到第二令牌签名;以及验证装置,被配置为对第一令牌签名和第二令牌签名进行比较,并且基于比较结果进行令牌验证。
在一个实施方式中,该设备还包括读取装置,该读取装置被配置为根据使用拆解出的信息计算的键值读取存储的密钥。
本发明的实施方式提出的令牌生成和验证方法以及设备能够提供较高安全性的互联网应用服务访问。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将更加明显,附图中相同的标号表示相同或相似的元素。在附图中:
图1示出了根据本发明一个实施方式的令牌生成方法100的流程图;
图2示出了根据本发明一个实施方式的令牌验证方法200的流程图;
图3示出了根据本发明的一个实施方式的令牌生成设备300的框图;以及
图4示出了根据本发明的一个实施方式的令牌验证设备400的框图。
具体实施方式
以下结合附图对本发明的实施方式进行更详细的解释和说明。应当理解的是,本发明的附图及实施方式仅用于示例性作用,并非用于限制本发明的保护范围。
附图中的流程图和框图,图示了按照本发明各种实施方式的方法和设备可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以利用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
下面结合附图以示例的方式详细描述本发明的各种实施方式。
图1示出了根据本发明一个实施方式的令牌生成方法100的流程图。
如图1所示,方法100在开始之后,在步骤S101,生成随机字符串作为密钥。
然后,在步骤S102,将令牌中将要包含的信息和密钥拼装成第一字符串,并且通过对第一字符串进行加密得到令牌签名。
在一个实施方式中,令牌可以包括创建时间、过期时间或有效期等信息。此外,令牌还可以包括与用户相关的信息,例如用户名或密码。
在一个实施方式中,可以按照字典升序排序的模式进行上述拼装。可替换地,也可以按照其他排序模式来进行拼装,例如,降序排序或预定义的其他排序模式。
在一个实施方式中,可以使用消息摘要算法5(MD5)来进行加密。可替换地,也可以使用其他常用的加密算法,例如安全哈希算法SHA-1。
接下来,在步骤S103,将令牌中将要包含的信息和令牌签名按照可拆解的模式拼装成第二字符串作为令牌。
在一个实施方式中,可以使用减号“-”对各信息组成进行分割。
根据本发明的实施方式的令牌生成方法能够提供较高安全性的互联网应用服务访问。
此外,在一个实施方式中,可以根据使用令牌中将要包含的信息计算的键值对生成的密钥进行存储。
在本发明的实施方式中,可以在服务器中执行上述令牌生成方法。生成密钥后,服务器根据计算的键值存储生成的密钥,并且将生成的令牌发送给相应的客户端。
通过这种方式,不但增加了互联网应用服务访问的安全性,而且节省了服务器端的存储资源。
下面,参照图2描述根据本发明一个实施方式的令牌验证方法200。
如图2所示,方法200在开始之后,在步骤S201,对令牌进行拆解以得到其中包含的信息和第一令牌签名。
然后,在步骤S202,将拆解出的信息和存储的密钥拼装成字符串,并且通过对字符串进行加密得到第二令牌签名。
接下来,在步骤S203,将第一令牌签名和第二令牌签名进行比较,并且基于比较结果进行令牌验证。
例如,如果第一令牌签名和第二令牌签名相同,则验证通过;否则,验证不通过。
在方法200中,令牌中包含的信息、拼装模式和加密算法与令牌生成方法100中描述的类似,此处不再赘述。
同样,根据本发明的实施方式的令牌验证方法能够提供较高安全性的互联网应用服务访问。
此外,在一个实施方式中,可以根据使用拆解出的信息计算的键值读取存储的密钥。
类似地,在本发明的实施方式中,可以在服务器中执行上述令牌验证方法。服务器在接收到令牌后对令牌进行拆解,然后根据使用拆解出的信息计算的键值读取存储的密钥,再根据拆解出的信息和读取的密钥生成令牌签名,从而进行验证。
类似地,根据本发明的实施方式的令牌验证方法不但增加了互联网应用服务访问的安全性,而且节省了服务器端的存储资源。
现在参考图3和图4说明能够执行上述方法100和方法200的设备。
图3示出了根据本发明的一个实施方式的令牌生成设备300的框图。
如图3所示的设备300包括密钥生成装置301、签名生成装置302和令牌生成装置303。
根据本发明的实施方式,密钥生成装置301被配置为生成随机字符串作为密钥;签名生成装置302被配置为将令牌中将要包含的信息和密钥拼装成第一字符串,并且通过对第一字符串进行加密得到令牌签名;以及令牌生成装置303被配置为将该信息和令牌签名按照可拆解的模式拼装成第二字符串作为令牌。
在一个实施方式中,设备300还包括存储装置304,存储装置304被配置为根据使用令牌中将要包含的信息计算的键值对生成的密钥进行存储。
图4示出了根据本发明的一个实施方式的令牌验证设备400的框图。
如图4所示的设备400包括签名获取装置401、签名生成装置402和验证装置403。
根据本发明的实施方式,签名获取装置401被配置为对令牌进行拆解以得到其中包含的信息和第一令牌签名;签名生成装置402被配置为将拆解出的信息和存储的密钥拼装成字符串,并且通过对字符串进行加密得到第二令牌签名;以及验证装置403被配置为将第一令牌签名和第二令牌签名进行比较,并且基于比较结果进行令牌验证。
在一个实施方式中,设备400还包括读取装置404,读取装置404被配置为根据使用拆解出的信息计算的键值读取存储的密钥。
应当理解,设备300和设备400同样可以实现于服务器中。而且设备300和设备400中的每个装置分别与参考图1和图2描述的方法100和方法200中的每个步骤相对应。由此,上文针对图1和图2描述的操作和特征同样适用于设备300和设备400及其中包含的装置,具体细节不再赘述。
设备300和设备400可以利用各种方式来实现。例如,在某些实施方式中,可以利用软件和/或固件模块来实现。此外,也可以利用硬件模块来实现。现在已知或者将来开发的其他方式也是可行的,本发明的范围在此方面不受限制。
需要说明的是,本发明的实施方式所公开的方法可以在软件、硬件、或软件和硬件的结合中实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器、个人计算机(PC)或大型机来执行。在一些实施方式中,本发明实现为软件,其包括但不限于固件、驻留软件、微代码等。
而且,本发明的实施方式还可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,这些介质提供程序代码以供计算机或任何指令执行系统使用或与其结合使用。出于描述目的,计算机可用或计算机可读机制可以是任何有形的装置,其可以包含、存储、通信、传播或传输程序以由指令执行系统、装置或设备使用或与其结合使用。
介质可以是电的、磁的、光的、电磁的、红外线的、或半导体的系统(或装置或器件)或传播介质。计算机可读介质的示例包括半导体或固态存储器、磁带、可移动计算机磁盘、随机访问存储器(RAM)、只读存储器(ROM)、硬盘和光盘。目前光盘的示例包括紧凑盘-只读存储器(CD-ROM)、压缩盘-读/写(CD-R/W)和DVD。
应当注意,为了使本发明的实施方式更容易理解,上面的描述省略了对于本领域的技术人员来说是公知的、并且对于本发明的实施方式的实现可能是必需的更具体的一些技术细节。提供本发明的说明书是为了说明和描述,而不是用来穷举或将本发明限制为所公开的形式。对本领域的普通技术人员而言,许多修改和变更都是可以的。
因此,选择并描述实施方式是为了更好地解释本发明的原理及其实际应用,并使本领域普通技术人员明白,在不脱离本发明实质的前提下,所有修改和变型均落入由权利要求所限定的本发明的保护范围之内。
Claims (8)
1.一种令牌生成方法,包括:
生成随机字符串作为密钥;
将令牌中将要包含的信息和所述密钥拼装成第一字符串,并且通过对所述第一字符串进行加密得到令牌签名;以及
将所述信息和所述令牌签名按照可拆解的模式拼装成第二字符串作为所述令牌。
2.根据权利要求1所述的方法,还包括:
根据使用所述信息计算出的键值对生成的密钥进行存储。
3.一种令牌验证方法,包括:
对令牌进行拆解,以得到其中包含的信息和第一令牌签名;
将拆解出的信息和存储的密钥拼装成字符串,并且通过对所述字符串进行加密得到第二令牌签名;以及
将所述第一令牌签名和所述第二令牌签名进行比较,并且基于比较结果进行令牌验证。
4.根据权利要求1所述的方法,还包括:
根据使用所述拆解出的信息计算出的键值读取所述存储的密钥。
5.一种令牌生成设备,包括:
密钥生成装置,被配置为生成随机字符串作为密钥;
签名生成装置,被配置为将令牌中将要包含的信息和所述密钥拼装成第一字符串,并且通过对所述第一字符串进行加密得到令牌签名;以及
令牌生成装置,被配置为将所述信息和所述令牌签名按照可拆解的模式拼装成第二字符串作为所述令牌。
6.根据权利要求5所述的设备,所述设备还包括:
存储装置,被配置为根据使用所述信息计算出的键值对生成的密钥进行存储。
7.一种令牌验证设备,包括:
签名获取装置,被配置为对令牌进行拆解,以得到其中包含的信息和第一令牌签名;
签名生成装置,被配置为将拆解出的信息和存储的密钥拼装成字符串,并且通过对所述字符串进行加密得到第二令牌签名;以及
验证装置,被配置为对所述第一令牌签名和所述第二令牌签名进行比较,并且基于比较结果进行令牌验证。
8.根据权利要求7所述的设备,所述设备还包括:
读取装置,被配置为根据使用所述拆解出的信息计算出的键值读取所述存储的密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310123043.4A CN104079407A (zh) | 2013-03-29 | 2013-03-29 | 令牌生成和验证方法以及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310123043.4A CN104079407A (zh) | 2013-03-29 | 2013-03-29 | 令牌生成和验证方法以及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104079407A true CN104079407A (zh) | 2014-10-01 |
Family
ID=51600465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310123043.4A Pending CN104079407A (zh) | 2013-03-29 | 2013-03-29 | 令牌生成和验证方法以及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104079407A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302346A (zh) * | 2015-05-27 | 2017-01-04 | 阿里巴巴集团控股有限公司 | Api调用的安全认证方法、装置、系统 |
CN106470184A (zh) * | 2015-08-14 | 2017-03-01 | 阿里巴巴集团控股有限公司 | 安全认证方法、装置及系统 |
CN107809317A (zh) * | 2017-11-09 | 2018-03-16 | 郑州云海信息技术有限公司 | 一种基于令牌数字签名的身份认证方法及系统 |
CN111277550A (zh) * | 2018-12-05 | 2020-06-12 | 中国电信股份有限公司 | 基于RESTful的交互方法、服务器、客户端和装置 |
CN113221157A (zh) * | 2020-02-04 | 2021-08-06 | 北京京东振世信息技术有限公司 | 一种设备升级方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051908A (zh) * | 2007-05-21 | 2007-10-10 | 北京飞天诚信科技有限公司 | 动态密码认证系统及方法 |
CN101163014A (zh) * | 2007-11-30 | 2008-04-16 | 中国电信股份有限公司 | 一种动态口令身份认证系统和方法 |
US7610617B2 (en) * | 2003-12-23 | 2009-10-27 | Wells Fargo Bank, N.A. | Authentication system for networked computer applications |
US20110173684A1 (en) * | 2010-01-12 | 2011-07-14 | Simon Hurry | Anytime validation for verification tokens |
CN102222390A (zh) * | 2011-06-30 | 2011-10-19 | 飞天诚信科技股份有限公司 | 一种多功能智能密钥装置及其工作方法 |
CN102648610A (zh) * | 2009-10-23 | 2012-08-22 | 威斯科数据安全国际有限公司 | 能够与多个独立的应用提供者一起使用的强认证令牌 |
CN102651743A (zh) * | 2012-05-02 | 2012-08-29 | 飞天诚信科技股份有限公司 | 一种令牌种子的生成方法 |
-
2013
- 2013-03-29 CN CN201310123043.4A patent/CN104079407A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7610617B2 (en) * | 2003-12-23 | 2009-10-27 | Wells Fargo Bank, N.A. | Authentication system for networked computer applications |
CN101051908A (zh) * | 2007-05-21 | 2007-10-10 | 北京飞天诚信科技有限公司 | 动态密码认证系统及方法 |
CN101163014A (zh) * | 2007-11-30 | 2008-04-16 | 中国电信股份有限公司 | 一种动态口令身份认证系统和方法 |
CN102648610A (zh) * | 2009-10-23 | 2012-08-22 | 威斯科数据安全国际有限公司 | 能够与多个独立的应用提供者一起使用的强认证令牌 |
US20110173684A1 (en) * | 2010-01-12 | 2011-07-14 | Simon Hurry | Anytime validation for verification tokens |
CN102222390A (zh) * | 2011-06-30 | 2011-10-19 | 飞天诚信科技股份有限公司 | 一种多功能智能密钥装置及其工作方法 |
CN102651743A (zh) * | 2012-05-02 | 2012-08-29 | 飞天诚信科技股份有限公司 | 一种令牌种子的生成方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302346A (zh) * | 2015-05-27 | 2017-01-04 | 阿里巴巴集团控股有限公司 | Api调用的安全认证方法、装置、系统 |
CN106470184A (zh) * | 2015-08-14 | 2017-03-01 | 阿里巴巴集团控股有限公司 | 安全认证方法、装置及系统 |
CN106470184B (zh) * | 2015-08-14 | 2020-06-26 | 阿里巴巴集团控股有限公司 | 安全认证方法、装置及系统 |
CN107809317A (zh) * | 2017-11-09 | 2018-03-16 | 郑州云海信息技术有限公司 | 一种基于令牌数字签名的身份认证方法及系统 |
CN111277550A (zh) * | 2018-12-05 | 2020-06-12 | 中国电信股份有限公司 | 基于RESTful的交互方法、服务器、客户端和装置 |
CN111277550B (zh) * | 2018-12-05 | 2022-07-05 | 中国电信股份有限公司 | 基于RESTful的交互方法、服务器、客户端和装置 |
CN113221157A (zh) * | 2020-02-04 | 2021-08-06 | 北京京东振世信息技术有限公司 | 一种设备升级方法和装置 |
CN113221157B (zh) * | 2020-02-04 | 2023-09-26 | 北京京东振世信息技术有限公司 | 一种设备升级方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2506637C2 (ru) | Способ и устройство верификации динамического пароля | |
US9009463B2 (en) | Secure delivery of trust credentials | |
JP5784827B2 (ja) | 2つの通信デバイスを介した認証システム | |
KR20160138063A (ko) | 머신 생성 인증 토큰으로써 서비스를 동작시키는 기법 | |
CN108463982A (zh) | 用于使用安全授权服务器来认证在线用户的系统和方法 | |
RU2019116772A (ru) | Системы и способы создания универсальной записи | |
CN105634743B (zh) | 用于开放接口调用的认证方法 | |
CN104079407A (zh) | 令牌生成和验证方法以及设备 | |
CN112671720B (zh) | 一种云平台资源访问控制的令牌构造方法、装置及设备 | |
JP4533935B2 (ja) | ライセンス認証システム及び認証方法 | |
CN104158802A (zh) | 一种平台授权方法、平台服务端及应用客户端和系统 | |
CN104113551A (zh) | 一种平台授权方法、平台服务端及应用客户端和系统 | |
CN106716957A (zh) | 高效且可靠的认证 | |
JP2009032070A (ja) | 認証システム及び認証方法 | |
KR101523309B1 (ko) | 어플리케이션 배포 시스템 및 방법 | |
CN111064757A (zh) | 应用访问方法、装置、电子设备以及存储介质 | |
US8738920B2 (en) | Information processing apparatus and authentication information migration method | |
US20160330030A1 (en) | User Terminal For Detecting Forgery Of Application Program Based On Hash Value And Method Of Detecting Forgery Of Application Program Using The Same | |
JP6894160B1 (ja) | スマートコントラクトに基づいた利用権情報処理装置、利用権情報処理システム、および利用権情報処理方法 | |
Gürgens et al. | On a formal framework for security properties | |
CN102694776A (zh) | 一种基于可信计算的认证系统及方法 | |
KR101593675B1 (ko) | 사용자 데이터의 무결성 검증 방법 및 그 장치 | |
Angelogianni et al. | How many FIDO protocols are needed? Surveying the design, security and market perspectives | |
CN109818965B (zh) | 个人身份验证装置及方法 | |
CN112865981B (zh) | 一种令牌获取、验证方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141001 |