CN107493264B - Otp激活方法、移动终端、服务器、存储介质及系统 - Google Patents

Otp激活方法、移动终端、服务器、存储介质及系统 Download PDF

Info

Publication number
CN107493264B
CN107493264B CN201710584652.8A CN201710584652A CN107493264B CN 107493264 B CN107493264 B CN 107493264B CN 201710584652 A CN201710584652 A CN 201710584652A CN 107493264 B CN107493264 B CN 107493264B
Authority
CN
China
Prior art keywords
mobile terminal
server
key
seed
information
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.)
Active
Application number
CN201710584652.8A
Other languages
English (en)
Other versions
CN107493264A (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.)
Shenzhen Excelsecu Data Technology Co Ltd
Original Assignee
Shenzhen Excelsecu Data Technology Co 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 Shenzhen Excelsecu Data Technology Co Ltd filed Critical Shenzhen Excelsecu Data Technology Co Ltd
Priority to CN201710584652.8A priority Critical patent/CN107493264B/zh
Publication of CN107493264A publication Critical patent/CN107493264A/zh
Application granted granted Critical
Publication of CN107493264B publication Critical patent/CN107493264B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Stored Programmes (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种软件OTP的激活方法,包括以下步骤:服务器产生服务器种子生成因子,并将所述服务器种子生成因子发送给移动终端;所述服务器获取所述移动终端生成的移动终端信息,并结合所述服务器种子生成因子运算得到第一验证信息;获取所述移动终端根据所述移动终端信息以及获取的所述服务器种子生成因子运算得到的第二验证信息;在所述第一验证信息与所述第二验证信息一致时,则所述服务器激活所述软件OTP。本发明还公开了一种服务器、移动终端、计算机可读存储介质以及激活系统。本发明使软件OTP在首次联网激活后,即可在后续离线状态下计算动态口令,从而使动态口令的认证更加方便快捷,提高了用户体验。

Description

OTP激活方法、移动终端、服务器、存储介质及系统
技术领域
本发明涉及电子信息领域,尤其涉及一种软件OTP的激活方法、服务器、移动终端、计算机可读存储介质以及激活系统。
背景技术
随着信息技术的不断发展,计算机网络的安全问题随之而来,比如,存储在系统中的重要信息一旦泄露,会给用户造成重大损失。身份认证作为网络安全的基础和核心,对建立完善的安全机制意义重大,是当前网络安全的研究重点。然而现有软件OTP(One-timePassword,一次性密码,也称动态口令)的认证系统在生成口令时需要联网获取挑战码,在离线状态下难以进行口令的计算,导致用户的自主操作权受到限制,从而降低了用户体验。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种软件OTP的激活方法、服务器、移动终端、计算机可读存储介质以及激活系统,旨在使软件OTP在首次联网激活后,即可在后续离线状态下计算动态口令,从而使动态口令的认证更加方便快捷,提高了用户体验。
为实现上述目的,本发明提供一种软件OTP的激活方法,所述软件OTP的激活方法包括以下步骤:
服务器产生服务器种子生成因子,并将所述服务器种子生成因子发送给移动终端;
所述服务器获取所述移动终端生成的移动终端信息,并结合所述服务器种子生成因子运算得到第一验证信息;
获取所述移动终端根据所述移动终端信息以及获取的所述服务器种子生成因子运算得到的第二验证信息;
在所述第一验证信息与所述第二验证信息一致时,则所述服务器激活所述软件OTP。
优选地,所述服务器获取所述移动终端生成的移动终端信息,并结合所述服务器种子生成因子运算得到第一验证信息的步骤包括:
对所述服务器种子生成因子进行哈希Hash运算,得到服务器种子分散密钥;
利用所述服务器种子分散密钥对包括所述服务器种子生成因子和所述移动终端信息的第一数据进行Mac运算,或者对包括所述服务器种子生成因子与所述移动终端信息的变换结果的第二数据进行Mac运算,得到所述第一验证信息。
优选地,所述服务器产生服务器种子生成因子,并将所述服务器种子生成因子发送给移动终端的步骤之后还包括:
获取所述移动终端生成的移动终端信息;
对包括所述服务器种子生成因子和所述移动终端信息的第三数据进行Hash运算,或者对包括所述服务器种子生成因子与所述移动终端信息的变换结果的第四数据进行Hash运算,得到第一Hash值;
利用所述服务器种子分散密钥对所述第一Hash值进行加密运算,得到第一种子密钥。
优选地,所述利用所述服务器种子分散密钥对所述第一Hash值进行加密运算,得到第一种子密钥的步骤之后还包括:
在接收到动态口令验证请求时,根据所述第一种子密钥和服务器时间因子,通过第一预设算法生成服务器动态口令;
获取所述移动终端运算得到的移动终端动态口令;
若所述服务器动态口令和所述移动终端动态口令一致,则通过验证。
优选地,所述软件OTP的激活方法包括以下步骤:
移动终端获取服务器产生的服务器种子生成因子;
根据所述服务器种子生成因子和所述移动终端生成的移动终端信息,运算得到第二验证信息;
将所述第二验证信息反馈给所述服务器,以在所述服务器根据所述服务器种子生成因子以及所述移动终端信息运算得到第一验证信息,并在所述第一验证信息和所述第二验证信息一致时,则激活所述软件OTP。
优选地,所述根据所述服务器种子生成因子和所述移动终端生成的移动终端信息,运算得到第二验证信息的步骤包括:
对所述服务器种子生成因子进行Hash运算,得到移动终端种子分散密钥;
利用所述移动终端种子分散密钥对包括所述移动终端信息和所述服务器种子生成因子的第一数据进行Mac运算,或者对包括所述移动终端信息与所述服务器种子生成因子的变换结果的第二数据进行Mac运算,得到所述第二验证信息。
优选地,所述对所述服务器种子生成因子进行Hash运算,得到移动终端种子分散密钥之后的步骤还包括:
对包括所述移动终端信息和所述服务器种子生成因子的第三数据进行Hash运算,或者对包括所述移动终端信息与所述服务器种子生成因子的变换结果的第四数据进行Hash运算,得到第二Hash值;
利用所述移动终端种子分散密钥对所述第二Hash值进行加密运算,得到第二种子密钥。
优选地,所述利用所述移动终端种子分散密钥对所述第二Hash值进行加密运算,得到第二种子密钥的步骤之后还包括:
利用预设密钥通过第一算法对所述第二种子密钥进行加密运算,得到种子密钥第一密文;
利用所述移动终端信息中的移动终端唯一识别码,通过第二算法生成过程密钥;
利用所述过程密钥通过第三算法对所述种子密钥第一密文进行加密运算,得到种子密钥第二密文;
将所述种子密钥第二密文保存在所述移动终端中。
优选地,所述将所述种子密钥第二密文保存在所述移动终端中的步骤之后还包括:
在接收到动态口令验证请求时,获取所述移动终端信息中的移动终端唯一识别码,利用所述移动终端唯一识别码,通过所述第二算法生成所述过程密钥;
获取所述种子密钥第二密文,利用所述过程密钥,通过所述第三算法对所述种子密钥第二密文进行逆运算,得到所述种子密钥第一密文;
利用所述预设密钥,通过所述第一算法对所述种子密钥第一密文进行逆运算,得到所述第二种子密钥。
优选地,所述利用所述预设密钥,通过所述第一算法对所述种子密钥第一密文进行逆运算,得到所述第二种子密钥的步骤之后还包括:
根据所述第二种子密钥和移动终端时间因子,通过第二预设算法生成移动终端动态口令;
将所述移动终端动态口令反馈给所述服务器,以在所述服务器运算得到的动态口令与所述移动终端动态口令一致时,则通过验证。
为实现上述目的,本发明还提供一种服务器,所述服务器包括:
软件OTP的激活程序,所述软件OTP的激活程序配置为实现如上述所述的软件OTP的激活方法的步骤。
为实现上述目的,本发明还提供一种移动终端,所述移动终端包括:
软件OTP的激活程序,所述软件OTP的激活程序配置为实现上述所述的软件OTP的激活方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有软件OTP的激活程序,所述软件OTP的激活程序被处理器执行实现如上述所述的软件OTP的激活方法的步骤。
为实现上述目的,本发明还提供一种激活系统,所述激活系统包括:
如上述所述的移动终端,以及如上述所述的服务器。
本发明提供的软件OTP的激活方法、移动终端、服务器、计算机可读存储介质以及激活系统,首先,服务器产生服务器种子生成因子,并将所述服务器种子生成因子发送给移动终端,然后,所述服务器获取所述移动终端生成的移动终端信息,并结合所述服务器种子生成因子运算得到第一验证信息,最后,获取所述移动终端根据所述移动终端信息以及获取的所述服务器种子生成因子运算得到的第二验证信息,在所述第一验证信息与所述第二验证信息一致时,则所述服务器激活所述软件OTP。这样,通过服务器将自身运算得到的第一验证信息和移动终端运行得到的第二验证信息进行比对,在比对一致时即激活软件OTP,使得软件OTP在首次联网激活后,即可在后续离线状态下计算动态口令,从而使动态口令的认证更加方便快捷,提高了用户体验。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的终端\装置结构示意图;
图2为本发明软件OTP的激活方法第一实施例的流程示意图;
图3为图2中步骤所述服务器获取所述移动终端生成的移动终端信息,并结合所述服务器种子生成因子运算得到第一验证信息的细化流程示意图;
图4为本发明软件OTP的激活方法第二实施例的流程示意图;
图5为本发明软件OTP的激活方法第三实施例的流程示意图;
图6为本发明软件OTP的激活方法第四实施例的流程示意图;
图7为图6中步骤根据所述服务器种子生成因子和所述移动终端生成的移动终端信息,运算得到第二验证信息的细化流程示意图;
图8为本发明软件OTP的激活方法第五实施例的流程示意图;
图9为本发明软件OTP的激活方法第六实施例的流程示意图;
图10为本发明软件OTP的激活方法第七实施例的流程示意图;
图11为本发明软件OTP的激活方法第八实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种软件OTP的激活方法,实现了软件OTP在离线状态下计算口令,从而使动态口令的认证更加方便快捷。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例移动终端可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该移动终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端结构并不构成对移动终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及软件OTP的激活程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的软件OTP的激活程序,并执行以下操作:
服务器产生服务器种子生成因子,并将所述服务器种子生成因子发送给移动终端;
所述服务器获取所述移动终端生成的移动终端信息,并结合所述服务器种子生成因子运算得到第一验证信息;
获取所述移动终端根据所述移动终端信息以及获取的所述服务器种子生成因子运算得到的第二验证信息;
在所述第一验证信息与所述第二验证信息一致时,则所述服务器激活所述软件OTP。
需要说明的是,所述服务器计算所述第一验证信息可以在获取到所述第二验证信息前,也可以在获取到所述第二验证信息后;所述服务器可以分步获取所述移动终端信息和所述第二验证信息,也可以分步先后获取所述信息。在本领域的技术人员可以理解,这种变换不影响本发明目的的实现,属于简单的等同替代方案。
进一步地,处理器1001可以调用存储器1005中存储的软件OTP的激活程序,还执行以下操作:
对所述服务器种子生成因子进行哈希Hash运算,得到服务器种子分散密钥;
利用所述服务器种子分散密钥对包括所述服务器种子生成因子和所述移动终端信息的第一数据进行Mac运算,或者对包括所述服务器种子生成因子与所述移动终端信息的变换结果的第二数据进行Mac运算,得到所述第一验证信息。
进一步地,处理器1001可以调用存储器1005中存储的软件OTP的激活程序,还执行以下操作:
获取所述移动终端生成的移动终端信息;
对包括所述服务器种子生成因子和所述移动终端信息的第三数据进行Hash运算,或者对包括所述服务器种子生成因子与所述移动终端信息的变换结果的第四数据进行Hash运算,得到第一Hash值;
利用所述服务器种子分散密钥对所述第一Hash值进行加密运算,得到第一种子密钥。
进一步地,处理器1001可以调用存储器1005中存储的软件OTP的激活程序,还执行以下操作:
在接收到动态口令验证请求时,根据所述第一种子密钥和服务器时间因子,通过第一预设算法生成服务器动态口令;
获取所述移动终端运算得到的移动终端动态口令;
若所述服务器动态口令和所述移动终端动态口令一致,则通过验证。
进一步地,处理器1001可以调用存储器1005中存储的软件OTP的激活程序,还执行以下操作:
移动终端获取服务器产生的服务器种子生成因子;
根据所述服务器种子生成因子和所述移动终端生成的移动终端信息,运算得到第二验证信息;
将所述第二验证信息反馈给所述服务器,以在所述服务器根据所述服务器种子生成因子以及所述移动终端信息运算得到第一验证信息,并在所述第一验证信息和所述第二验证信息一致时,则激活所述软件OTP。
进一步地,处理器1001可以调用存储器1005中存储的软件OTP的激活程序,还执行以下操作:
对所述服务器种子生成因子进行Hash运算,得到移动终端种子分散密钥;
利用所述移动终端种子分散密钥对包括所述移动终端信息和所述服务器种子生成因子的第一数据进行Mac运算,或者对包括所述移动终端信息与所述服务器种子生成因子的变换结果的第二数据进行Mac运算,得到所述第二验证信息。
进一步地,处理器1001可以调用存储器1005中存储的软件OTP的激活程序,还执行以下操作:
对包括所述移动终端信息和所述服务器种子生成因子的第三数据进行Hash运算,或者对包括所述移动终端信息与所述服务器种子生成因子的变换结果的第四数据进行Hash运算,得到第二Hash值;
利用所述移动终端种子分散密钥对所述第二Hash值进行加密运算,得到第二种子密钥。
进一步地,处理器1001可以调用存储器1005中存储的软件OTP的激活程序,还执行以下操作:
利用预设密钥通过第一算法对所述第二种子密钥进行加密运算,得到种子密钥第一密文;
利用所述移动终端信息中的移动终端唯一识别码,通过第二算法生成过程密钥;
利用所述过程密钥通过第三算法对所述种子密钥第一密文进行加密运算,得到种子密钥第二密文;
将所述种子密钥第二密文保存在所述移动终端中。
进一步地,处理器1001可以调用存储器1005中存储的软件OTP的激活程序,还执行以下操作:
在接收到动态口令验证请求时,获取所述移动终端信息中的移动终端唯一识别码,利用所述移动终端唯一识别码,通过所述第二算法生成所述过程密钥;
获取所述种子密钥第二密文,利用所述过程密钥,通过所述第三算法对所述种子密钥第二密文进行逆运算,得到所述种子密钥第一密文;
利用所述预设密钥,通过所述第一算法对所述种子密钥第一密文进行逆运算,得到所述第二种子密钥。
进一步地,处理器1001可以调用存储器1005中存储的软件OTP的激活程序,还执行以下操作:
根据所述第二种子密钥和移动终端时间因子,通过第二预设算法生成移动终端动态口令;
将所述移动终端动态口令反馈给所述服务器,以在所述服务器运算得到的动态口令与所述移动终端动态口令一致时,则通过验证。
参照图2,在一实施例中,所述软件OTP的激活方法包括:
步骤S11、服务器产生服务器种子生成因子,并将所述服务器种子生成因子发送给移动终端;
在本实施例中,具体地,服务器种子生成因子是指具有不确定性的任意数,优选为服务器随机数,它由服务器随机产生,具体数值与形式不做限定。比如,可以是2,3,4等单一的数值,也可以是23,246,3568等多位数。
步骤S12、所述服务器获取所述移动终端生成的移动终端信息,并结合所述服务器种子生成因子运算得到第一验证信息;
在本实施例中,移动终端可以是可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、便携计算机等具有显示功能的可移动式终端设备。
具体地,移动终端信息包含移动终端随机数、移动终端唯一识别码、移动终端软硬件信息中的一种或者多种的组合。需要说明的是,移动终端随机数是指具有不确定性的任意数,具体数值与形式不做限定。移动终端唯一识别码是指在移动终端上生成的数字,它保证对在同一时空中的所有移动终端都是唯一的。移动终端唯一识别码可以是以下几部分的组合:当前日期和时间,时钟序列,全局唯一的IEEE(Institute of Electrical andElectronics Engineers)机器识别号。
具体地,第一验证信息是由服务器根据服务器种子生成因子和获取的移动终端信息运算得到的,可以是Mac码(Message Authentication Code,消息鉴别码),但不限于是Mac码。
步骤S13、获取所述移动终端根据所述移动终端信息以及获取的所述服务器种子生成因子运算得到的第二验证信息;
具体地,服务器运算得到第一验证信息与移动终端运算得到的第二验证信息可以是同步进行的,也可以是先后进行的。比如,服务器运算得到第一验证信息的同时,移动终端也运算得到第二验证信息;或者服务器运算得到第一验证信息后,移动终端运算得到第二验证信息;或者移动终端运算得到第二验证信息后,服务器运算得到第一验证信息。
需要说明的是,第二验证信息是由移动终端根据移动终端信息和获取的服务器种子生成因子运算得到的,可以是Mac码,但不限于是Mac码。
步骤S14、在所述第一验证信息与所述第二验证信息一致时,则所述服务器激活所述软件OTP。
需要说明的是,服务器将运算得到的第一验证信息与获取的移动终端运算得到的第二验证信息进行比对,所述第一验证信息和第二验证信息一致,则所述服务器激活软件OTP。
本发明提供的软件OTP的激活方法,首先,服务器产生服务器种子生成因子,并将所述服务器种子生成因子发送给移动终端,然后,所述服务器获取所述移动终端生成的移动终端信息,并结合所述服务器种子生成因子运算得到第一验证信息,最后,获取所述移动终端根据所述移动终端信息以及获取的所述服务器种子生成因子运算得到的第二验证信息,在所述第一验证信息与所述第二验证信息一致时,则所述服务器激活所述软件OTP。这样,通过服务器将自身运算得到的第一验证信息和移动终端运行得到的第二验证信息进行比对,在比对一致时即激活软件OTP,使得软件OTP在首次联网激活后,即可在后续离线状态下计算动态口令,从而使动态口令的认证更加方便快捷,提高了用户体验。
在一实施例中,如图3所示,在上述图2所示的实施例基础上,所述步骤S12包括:
步骤S121、对所述服务器种子生成因子进行哈希Hash运算,得到服务器种子分散密钥;
具体地,哈希Hash算法是一种单向密码体制,是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,Hash函数可以将任意长度的输入经过变化以后得到固定长度的输出。Hash函数的单向特征和输出数据长度固定的特征使它可以生成消息或者数据。
需要说明的是,种子分散密钥的生成可以有如下方式:固化在服务器与移动终端之间、使用其中一方的随机数、双方同时使用随机数、使用保存在文件中的某部分数据、使用移动平台的某些硬件信息,可以使用上述方法中任意两种、三种、四种或者全部,本发明不做此限定。
步骤S122、利用所述服务器种子分散密钥对包括所述服务器种子生成因子和所述移动终端信息的第一数据进行Mac运算,或者对包括所述服务器种子生成因子与所述移动终端信息的变换结果的第二数据进行Mac运算,得到所述第一验证信息。
需要说明的是,第一数据可以包括服务器种子生成因子和移动终端信息,其中,移动终端信息包含移动终端随机数、移动终端唯一识别码、移动终端软硬件信息中的一种或者多种的组合,根据Mac运算的需要选择合适的组合方式。第二数据可以是服务器种子生成因子与移动终端信息的变换结果,根据Mac运算的需要选择合适的组合方式。
具体地,第一验证信息可以由服务器种子分散密钥对服务器种子生成因子和移动终端信息进行Mac运算得到,也可以由服务器种子分散密钥对服务器种子生成因子与移动终端信息的变换结果进行Mac运算得到。需要说明的是,服务器种子生成因子与移动终端信息的变换操作可以是按照约定的规则进行计算,也可以是截取某一部分数据,也可以是将服务器种子生成因子与移动终端信息组合在一起,本发明不作此限定。
需要说明的是,服务器种子分散密钥的生成和服务器种子生成因子与移动终端信息的变换操作不分前后顺序,服务器种子生成因子与移动终端信息的生成也不分前后顺序。
本实施例中,首先,对所述服务器种子生成因子进行哈希Hash运算,得到服务器种子分散密钥,然后,利用所述服务器种子分散密钥对包括所述服务器种子生成因子和所述移动终端信息的第一数据进行Mac运算,或者对包括所述服务器种子生成因子与所述移动终端信息的变换结果的第二数据进行Mac运算,得到所述第一验证信息。
在一实施例中,如图4所示,在上述图3所示的实施例基础上,所述软件OTP的激活方法还包括:
步骤S15、获取所述移动终端生成的移动终端信息;
步骤S16、对包括所述服务器种子生成因子和所述移动终端信息的第三数据进行Hash运算,或者对包括所述服务器种子生成因子与所述移动终端信息的变换结果的第四数据进行Hash运算,得到第一Hash值;
具体地,Hash算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为Hash值。Hash值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的Hash都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的Hash值可以检验数据的完整性。
需要说明的是,第三数据可以包括服务器种子生成因子和移动终端信息,其中,移动终端信息包含移动终端随机数、移动终端唯一识别码、移动终端软硬件信息中的一种或者多种的组合,根据Hash运算的需要选择合适的组合方式。第四数据可以是服务器种子生成因子与移动终端信息的变换结果,根据Hash运算的需要选择合适的组合方式。
具体地,第一Hash值可以是对服务器种子生成因子和移动终端信息进行Hash运算得到,也可以是对服务器种子生成因子与移动终端信息的变换结果进行Hash运算得到。需要说明的是,服务器种子生成因子与移动终端信息的变换操作可以是按照约定的规则进行计算,也可以是截取某一部分数据,也可以是将服务器种子生成因子与移动终端信息组合在一起,本发明不作此限定。
步骤S17、利用所述服务器种子分散密钥对所述第一Hash值进行加密运算,得到第一种子密钥。
需要说明的是,种子密钥可以由种子分散密钥结合其它数据生成,使用白盒算法保存恢复数据。其中种子分散密钥可以有如下生成方式:固化在服务器与移动终端之间、使用其中一方的随机数、双方同时使用随机数、使用保存在文件中的某部分数据、使用移动平台的某些硬件信息,可以使用上述方法中任意两种、三种、四种或者全部,本发明不做此限定。
具体地,加密运算可以有如下形式:对称密钥协商会话密钥加密、非对称密钥协商会话密钥加密、哈希算法密钥协商会话密钥加密、对称密钥、非对称密钥、哈希算法等两个组合或者三个一起协商会话密钥加密,或者在上述几种方式的基础上增加随机数密钥协商加密。其中,会话密钥加解密包含ECB、CBC、OFB等,可以带Mac或不带Mac等方式。
需要说明的是,服务器种子分散密钥的生成与第一Hash值的生成不分前后顺序,服务器种子生成因子的Hash运算和对包括服务器种子生成因子和移动终端信息的第三数据进行Hash运算,或者对包括服务器种子生成因子与移动终端信息的变换结果的第四数据进行Hash运算的过程也不分前后顺序。
在本实施例中,首先,获取所述移动终端生成的移动终端信息,对包括所述服务器种子生成因子和所述移动终端信息的第三数据进行Hash运算,或者对包括所述服务器种子生成因子与所述移动终端信息的变换结果的第四数据进行Hash运算,得到第一Hash值,然后,利用所述服务器种子分散密钥对所述第一Hash值进行加密运算,得到第一种子密钥。
在另一实施例中,如图5所示,在上述图4所示的实施例基础上,所述软件OTP的激活方法还包括:
步骤S18、在接收到动态口令验证请求时,根据所述第一种子密钥和服务器时间因子,通过第一预设算法生成服务器动态口令;
需要说明的是,服务器时间因子可以是当前服务器的标准时间,但不限于当前服务器的标准时间。第一预设算法可以分别是对称算法、非对称算法、哈希算法、白盒算法,也可以是以上算法任意两种、三种或者全部的组合,具体不做限定。
步骤S19、获取所述移动终端运算得到的移动终端动态口令;
步骤S20、若所述服务器动态口令和所述移动终端动态口令一致,则通过验证。
具体地,当软件OTP首次激活成功后,对用户进行身份验证时,无需再次激活,而在离线状态下即可完成验证过程。当用户进行身份认证时,比如用户登录的验证除了静态的用户名或密码外,还可以要求动态口令认证。
需要说明的是,移动终端运算得到移动终端动态口令与服务器运算得到服务器动态口令可以是同步进行的,也可以是先后进行的。用户将移动终端动态口令填写到登陆界面,此时服务器获取到移动终端动态口令,服务器将运算得到的服务器动态口令与获取的移动终端动态口令进行比对,若用户填写的移动终端动态口令在允许的范围之内,则身份验证成功。
在本实施例中,首先,在接收到动态口令验证请求时,服务器根据所述第一种子密钥和服务器时间因子,通过第一预设算法生成服务器动态口令,然后,服务器获取所述移动终端运算得到的移动终端动态口令,若所述服务器动态口令和所述移动终端动态口令一致,则通过验证。这样,使得软件OTP在首次联网激活后,即可在后续离线状态下计算动态口令,从而使动态口令的认证更加方便快捷,提高了用户体验。
本发明还提供一种软件OTP的激活方法,参照图6,在一实施例中,所述软件OTP的激活方法包括以下步骤:
步骤S21、移动终端获取服务器产生的服务器种子生成因子;
在本实施例中,移动终端可以是可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、便携计算机等具有显示功能的可移动式终端设备。
在本实施例中,服务器种子生成因子是指具有不确定性的任意数,它由服务器随机产生,具体数值与形式不做限定。比如,可以是2,3,4等单一的数值,也可以是23,246,3568等多位数。
具体地,服务器将生成的服务器种子生成因子如随机数显示在激活页面上,移动终端从激活页面上获取服务器生成的随机数。需要说明的是,移动终端信息包含移动终端随机数、移动终端唯一识别码、移动终端软硬件信息中的一种或者多种的组合。移动终端随机数是指具有不确定性的任意数,具体数值与形式不做限定。移动终端唯一识别码是指在移动终端上生成的数字,它保证对在同一时空中的所有移动终端都是唯一的。移动终端唯一识别码可以是以下几部分的组合:当前日期和时间,时钟序列,全局唯一的IEEE(Institute of Electrical and Electronics Engineers)机器识别号。
步骤S22、根据所述服务器种子生成因子和所述移动终端生成的移动终端信息,运算得到第二验证信息;
具体地,第二验证信息是由移动终端根据移动终端信息如移动终端随机数和获取的服务器种子生成因子运算得到的,可以是Mac码,但不限于是Mac码。
步骤S23、将所述第二验证信息反馈给所述服务器,以在所述服务器根据所述服务器种子生成因子以及所述移动终端信息运算得到第一验证信息,并在所述第一验证信息和所述第二验证信息一致时,则激活所述软件OTP。
具体地,移动终端运算得到的第二验证信息与服务器运算得到第一验证信息可以是同步进行的,也可以是先后进行的。比如,移动终端也运算得到第二验证信息的同时,服务器运算得到第一验证信息;或者移动终端运算得到第二验证信息后,服务器运算得到第一验证信息;或者服务器运算得到第一验证信息后,移动终端运算得到第二验证信息。
需要说明的是,第一验证信息是由服务器根据服务器种子生成因子和获取的移动终端信息如移动终端随机数运算得到的,可以是Mac码,但不限于是Mac码。
需要说明的是,传输方式可以是:明文、对称密钥协商会话密钥加密、非对称密钥协商会话密钥加密、哈希算法密钥协商会话密钥加密、对称密钥、非对称密钥、哈希算法等两个组合或者三个一起协商会话密钥加密,或者在上述几种方式的基础上增加随机数密钥协商加密。其中,会话密钥加解密包含ECB、CBC、OFB等,可以带Mac或不带Mac等方式。
在本实施例中,首先,移动终端获取服务器产生的服务器种子生成因子,然后,根据所述服务器种子生成因子和所述移动终端生成的移动终端信息,运算得到第二验证信息,最后,将所述第二验证信息反馈给所述服务器,以在所述服务器根据所述服务器种子生成因子以及所述移动终端信息运算得到第一验证信息,并在所述第一验证信息和所述第二验证信息一致时,则激活所述软件OTP。这样,使得软件OTP在首次联网激活后,即可在后续离线状态下计算动态口令,从而使动态口令的认证更加方便快捷,提高了用户体验。
在一实施例中,如图7所示,在上述图6所示的实施例基础上,所述步骤S22中根据所述服务器种子生成因子和移动终端信息,运算得到第二验证信息包括:
步骤S221、对所述服务器种子生成因子进行Hash运算,得到移动终端种子分散密钥;
具体地,哈希Hash算法是一种单向密码体制,是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,Hash函数可以将任意长度的输入经过变化以后得到固定长度的输出。Hash函数的单向特征和输出数据长度固定的特征使它可以生成消息或者数据。
需要说明的是,种子分散密钥的生成可以有如下方式:固化在服务器与移动终端之间、使用其中一方的随机数、双方同时使用随机数、使用保存在文件中的某部分数据、使用移动平台的某些硬件信息,可以使用上述方法中任意两种、三种、四种或者全部,本发明不做此限定。
步骤S222、利用所述移动终端种子分散密钥对包括所述移动终端信息和所述服务器种子生成因子的第一数据进行Mac运算,或者对包括所述移动终端信息与所述服务器种子生成因子的变换结果的第二数据进行Mac运算,得到所述第二验证信息。
需要说明的是,第一数据可以包括移动终端信息和服务器种子生成因子,其中,移动终端信息包含移动终端随机数、移动终端唯一识别码、移动终端软硬件信息中的一种或者多种的组合,根据Mac运算的需要选择合适的组合方式。第二数据可以是移动终端信息与服务器种子生成因子的变换结果,根据Mac运算的需要选择合适的组合方式。
具体地,第二验证信息可以由移动终端种子分散密钥对移动终端信息和服务器种子生成因子进行Mac运算得到,也可以由移动终端种子分散密钥对移动终端信息与服务器种子生成因子的变换结果进行Mac运算得到。需要说明的是,移动终端信息与服务器种子生成因子的变换操作可以是按照约定的规则进行计算,也可以是截取某一部分数据,也可以是将服务器种子生成因子与移动终端信息组合在一起,本发明不作此限定。
需要说明的是,移动终端种子分散密钥的生成和移动终端信息与服务器种子生成因子的变换操作不分前后顺序,移动终端信息与服务器种子生成因子的生成也不分前后顺序。
本实施例中,首先,移动终端对所述服务器种子生成因子进行Hash运算,得到移动终端种子分散密钥,然后,利用所述移动终端种子分散密钥对包括所述移动终端信息和所述服务器种子生成因子的第一数据进行Mac运算,或者对包括所述移动终端信息与所述服务器种子生成因子的变换结果的第二数据进行Mac运算,得到所述第二验证信息。
在一实施例中,如图8所示,在上述图7所示的实施例基础上,所述软件OTP的激活方法还包括:
步骤S223、对包括所述移动终端信息和所述服务器种子生成因子的第三数据进行Hash运算,或者对包括所述移动终端信息与所述服务器种子生成因子的变换结果的第四数据进行Hash运算,得到第二Hash值;
具体地,Hash算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为Hash值。Hash值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的Hash都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的Hash值可以检验数据的完整性。
需要说明的是,第三数据可以包括移动终端信息和服务器种子生成因子,其中,移动终端信息包含移动终端随机数、移动终端唯一识别码、移动终端软硬件信息中的一种或者多种的组合,根据Hash运算的需要选择合适的组合方式。第四数据可以是移动终端信息与服务器种子生成因子的变换结果,根据Hash运算的需要选择合适的组合方式。
具体地,第二Hash值可以是对移动终端信息和服务器种子生成因子进行Hash运算得到,也可以是对移动终端信息与服务器种子生成因子的变换结果进行Hash运算得到。需要说明的是,移动终端信息与服务器种子生成因子的变换操作可以是按照约定的规则进行计算,也可以是截取某一部分数据,也可以是将服务器种子生成因子与移动终端信息组合在一起,本发明不作此限定。
步骤S224、利用所述移动终端种子分散密钥对所述第二Hash值进行加密运算,得到第二种子密钥。
需要说明的是,种子密钥可以由种子分散密钥结合其它数据生成,使用白盒算法保存恢复数据。其中种子分散密钥可以有如下生成方式:固化在服务器与移动终端之间、使用其中一方的随机数、双方同时使用随机数、使用保存在文件中的某部分数据、使用移动平台的某些硬件信息,可以使用上述方法中任意两种、三种、四种或者全部,本发明不做此限定。
具体地,加密运算可以有如下形式:对称密钥协商会话密钥加密、非对称密钥协商会话密钥加密、哈希算法密钥协商会话密钥加密、对称密钥、非对称密钥、哈希算法等两个组合或者三个一起协商会话密钥加密,或者在上述几种方式的基础上增加随机数密钥协商加密。其中,会话密钥加解密包含ECB、CBC、OFB等,可以带Mac或不带Mac等方式。
需要说明的是,移动终端种子分散密钥的生成与第二Hash值的生成不分前后顺序,服务器种子生成因子的Hash运算和对包括移动终端信息与服务器种子生成因子的第三数据进行Hash运算,或者对包括移动终端信息与服务器种子生成因子的变换结果的第四数据进行Hash运算也不分前后顺序。
本实施例中,首先,对包括所述移动终端信息和所述服务器种子生成因子的第三数据进行Hash运算,或者对包括所述移动终端信息与所述服务器种子生成因子的变换结果的第四数据进行Hash运算,得到第二Hash值,然后,移动终端利用所述移动终端种子分散密钥对所述第二Hash值进行加密运算,得到第二种子密钥。
在一实施例中,如图9所示,在上述图8所示的实施例基础上,所述软件OTP的激活方法还包括:
步骤S225、利用预设密钥通过第一算法对所述第二种子密钥进行加密运算,得到种子密钥第一密文;
具体地,加密运算可以有如下形式:对称密钥协商会话密钥加密、非对称密钥协商会话密钥加密、哈希算法密钥协商会话密钥加密、对称密钥、非对称密钥、哈希算法等两个组合或者三个一起协商会话密钥加密,或者在上述几种方式的基础上增加随机数密钥协商加密。其中,会话密钥加解密包含ECB、CBC、OFB等,可以带Mac或不带Mac等方式。
步骤S226、利用所述移动终端信息中的移动终端唯一识别码,通过第二算法生成过程密钥;
具体地,移动终端唯一识别码是指在移动终端上生成的数字,它保证对在同一时空中的所有移动终端都是唯一的。移动终端唯一识别码可以是以下几部分的组合:当前日期和时间,时钟序列,全局唯一的IEEE(Institute of Electrical and ElectronicsEngineers)机器识别号。
步骤S227、利用所述过程密钥通过第三算法对所述种子密钥第一密文进行加密运算,得到种子密钥第二密文;
步骤S228、将所述种子密钥第二密文保存在所述移动终端中。
需要说明的是,第一算法、第二算法、第三算法可以分别是对称算法、非对称算法、哈希算法、白盒算法,也可以是以上算法任意两种、三种或者全部的组合,具体不做限定。
本实施例中,首先,移动终端利用预设密钥通过第一算法对所述第二种子密钥进行加密运算,得到种子密钥第一密文,然后,移动终端利用所述移动终端信息中的移动终端唯一识别码,通过第二算法生成过程密钥,最后,移动终端利用所述过程密钥通过第三算法对所述种子密钥第一密文进行加密运算,得到种子密钥第二密文,并将所述种子密钥第二密文保存在所述移动终端中。
在一实施例中,如图10所示,在上述图9所示的实施例基础上,所述软件OTP的激活方法还包括:
步骤S229、在接收到动态口令验证请求时,获取所述移动终端信息中的移动终端唯一识别码,利用所述移动终端唯一识别码,通过所述第二算法生成所述过程密钥;
具体地,移动终端唯一识别码是指在移动终端上生成的数字,它保证对在同一时空中的所有移动终端都是唯一的。移动终端唯一识别码可以是以下几部分的组合:当前日期和时间,时钟序列,全局唯一的IEEE(Institute of Electrical and ElectronicsEngineers)机器识别号。
步骤S230、获取所述种子密钥第二密文,利用所述过程密钥,通过所述第三算法对所述种子密钥第二密文进行逆运算,得到所述种子密钥第一密文;
步骤S231、利用所述预设密钥,通过所述第一算法对所述种子密钥第一密文进行逆运算,得到所述第二种子密钥。
需要说明的是,第一算法、第二算法、第三算法可以分别是对称算法、非对称算法、哈希算法、白盒算法,也可以是以上算法任意两种、三种或者全部的组合,具体不做限定。
在本实施例中,首先,在接收到动态口令验证请求时,移动终端获取所述移动终端信息中的移动终端唯一识别码,利用所述移动终端唯一识别码,通过所述第二算法生成所述过程密钥,然后,移动终端获取所述种子密钥第二密文,利用所述过程密钥,通过所述第三算法对所述种子密钥第二密文进行逆运算,得到所述种子密钥第一密文,最后,移动终端利用所述预设密钥,通过所述第一算法对所述种子密钥第一密文进行逆运算,得到所述第二种子密钥。
在一实施例中,如图11所示,在上述图10所示的实施例基础上,所述软件OTP的激活方法还包括:
步骤S232、根据所述第二种子密钥和移动终端时间因子,通过第二预设算法生成移动终端动态口令;
需要说明的是,移动终端时间因子可以是当前移动终端的标准时间,但不限于当前移动终端的标准时间。第二预设算法可以分别是对称算法、非对称算法、哈希算法、白盒算法,也可以是以上算法任意两种、三种或者全部的组合,具体不做限定。
步骤S233、将所述移动终端动态口令反馈给所述服务器,以在所述服务器运算得到的动态口令与所述移动终端动态口令一致时,则通过验证。
具体地,当软件OTP首次激活成功后,对用户进行身份验证时,无需再次激活,而在离线状态下即可完成验证过程。当用户进行身份认证时,比如用户登录的验证除了静态的用户名或密码外,还可以要求动态口令认证。
需要说明的是,移动终端运算得到移动终端动态口令与服务器运算得到服务器动态口令可以是同步进行的,也可以是先后进行的。用户将移动终端动态口令填写到登陆界面,此时服务器获取到移动终端动态口令,服务器将运算得到的服务器动态口令与获取的移动终端动态口令进行比对,若用户填写的移动终端动态口令在允许的范围之内,则身份验证成功。
需要说明的是,传输方式可以是:明文、对称密钥协商会话密钥加密、非对称密钥协商会话密钥加密、哈希算法密钥协商会话密钥加密、对称密钥、非对称密钥、哈希算法等两个组合或者三个一起协商会话密钥加密,或者在上述几种方式的基础上增加随机数密钥协商加密。其中,会话密钥加解密包含ECB、CBC、OFB等,可以带Mac或不带Mac等方式。
在本实施例中,首先,移动终端根据所述第二种子密钥和移动终端时间因子,通过第二预设算法生成移动终端动态口令,然后,移动终端将所述移动终端动态口令反馈给所述服务器,以在所述服务器运算得到的动态口令与所述移动终端动态口令一致时,则通过验证。这样,使得软件OTP在首次联网激活后,即可在后续离线状态下计算动态口令,从而使动态口令的认证更加方便快捷,提高了用户体验。
本发明还提供一种服务器,所述服务器包括软件OTP的激活程序,所述软件OTP的激活程序配置为实现如上服务器为执行主体下的所述的软件OTP的激活方法的步骤。
本发明还提供一种移动终端,所述移动终端包括软件OTP的激活程序,所述软件OTP的激活程序配置为实现如上移动终端为执行主体下的所述的软件OTP的激活方法的步骤。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有软件OTP的激活程序,所述软件OTP的激活程序被处理器执行实现如下操作:
服务器产生服务器种子生成因子,并将所述服务器种子生成因子发送给移动终端;
所述服务器获取所述移动终端生成的移动终端信息,并结合所述服务器种子生成因子运算得到第一验证信息;
获取所述移动终端根据所述移动终端信息以及获取的所述服务器种子生成因子运算得到的第二验证信息;
在所述第一验证信息与所述第二验证信息一致时,则所述服务器激活所述软件OTP。
进一步地,所述软件OTP的激活程序被处理器执行时还实现如下操作:
对所述服务器种子生成因子进行哈希Hash运算,得到服务器种子分散密钥;
利用所述服务器种子分散密钥对包括所述服务器种子生成因子和所述移动终端信息的第一数据进行Mac运算,或者对包括所述服务器种子生成因子与所述移动终端信息的变换结果的第二数据进行Mac运算,得到所述第一验证信息。
进一步地,所述软件OTP的激活程序被处理器执行时还实现如下操作:
获取所述移动终端生成的移动终端信息;
对包括所述服务器种子生成因子和所述移动终端信息的第三数据进行Hash运算,或者对包括所述服务器种子生成因子与所述移动终端信息的变换结果的第四数据进行Hash运算,得到第一Hash值;
利用所述服务器种子分散密钥对所述第一Hash值进行加密运算,得到第一种子密钥。
进一步地,所述软件OTP的激活程序被处理器执行时还实现如下操作:
在接收到动态口令验证请求时,根据所述第一种子密钥和服务器时间因子,通过第一预设算法生成服务器动态口令;
获取所述移动终端运算得到的移动终端动态口令;
若所述服务器动态口令和所述移动终端动态口令一致,则通过验证。
或者,所述软件OTP的激活程序被处理器执行时实现如下操作:
移动终端获取服务器产生的服务器种子生成因子;
根据所述服务器种子生成因子和所述移动终端生成的移动终端信息,运算得到第二验证信息;
将所述第二验证信息反馈给所述服务器,以在所述服务器根据所述服务器种子生成因子以及所述移动终端信息运算得到第一验证信息,并在所述第一验证信息和所述第二验证信息一致时,则激活所述软件OTP。
进一步地,所述软件OTP的激活程序被处理器执行时还实现如下操作:
对所述服务器种子生成因子进行Hash运算,得到移动终端种子分散密钥;
利用所述移动终端种子分散密钥对包括所述移动终端信息和所述服务器种子生成因子的第一数据进行Mac运算,或者对包括所述移动终端信息与所述服务器种子生成因子的变换结果的第二数据进行Mac运算,得到所述第二验证信息。
进一步地,所述软件OTP的激活程序被处理器执行时还实现如下操作:
对包括所述移动终端信息和所述服务器种子生成因子的第三数据进行Hash运算,或者对包括所述移动终端信息与所述服务器种子生成因子的变换结果的第四数据进行Hash运算,得到第二Hash值;
利用所述移动终端种子分散密钥对所述第二Hash值进行加密运算,得到第二种子密钥。
进一步地,所述软件OTP的激活程序被处理器执行时还实现如下操作:
利用预设密钥通过第一算法对所述第二种子密钥进行加密运算,得到种子密钥第一密文;
利用所述移动终端信息中的移动终端唯一识别码,通过第二算法生成过程密钥;
利用所述过程密钥通过第三算法对所述种子密钥第一密文进行加密运算,得到种子密钥第二密文;
将所述种子密钥第二密文保存在所述移动终端中。
进一步地,所述软件OTP的激活程序被处理器执行时还实现如下操作:
在接收到动态口令验证请求时,获取所述移动终端信息中的移动终端唯一识别码,利用所述移动终端唯一识别码,通过所述第二算法生成所述过程密钥;
获取所述种子密钥第二密文,利用所述过程密钥,通过所述第三算法对所述种子密钥第二密文进行逆运算,得到所述种子密钥第一密文;
利用所述预设密钥,通过所述第一算法对所述种子密钥第一密文进行逆运算,得到所述第二种子密钥。
进一步地,所述软件OTP的激活程序被处理器执行时还实现如下操作:
根据所述第二种子密钥和移动终端时间因子,通过第二预设算法生成移动终端动态口令;
将所述移动终端动态口令反馈给所述服务器,以在所述服务器运算得到的动态口令与所述移动终端动态口令一致时,则通过验证。
所述服务器、移动终端的软件OTP的激活程序被处理器执行时的具体实施例参照上文描述,此处不再作赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (6)

1.一种软件OTP的激活方法,其特征在于,所述软件OTP的激活方法包括以下步骤:
服务器产生服务器种子生成因子,并将所述服务器种子生成因子发送给移动终端;
所述服务器获取所述移动终端生成的移动终端信息,并结合所述服务器种子生成因子运算得到第一验证信息,包括以下步骤:
对所述服务器种子生成因子进行哈希Hash运算,得到服务器种子分散密钥;
利用所述服务器种子分散密钥对包括所述服务器种子生成因子和所述移动终端信息的第一数据进行Mac运算,或者对包括所述服务器种子生成因子与所述移动终端信息的变换结果的第二数据进行Mac运算,得到所述第一验证信息;
获取所述移动终端根据所述移动终端信息以及获取的所述服务器种子生成因子运算得到的第二验证信息;
在所述第一验证信息与所述第二验证信息一致时,则所述服务器激活所述软件OTP;
获取所述移动终端生成的移动终端信息;
对包括所述服务器种子生成因子和所述移动终端信息的第三数据进行Hash运算,或者对包括所述服务器种子生成因子与所述移动终端信息的变换结果的第四数据进行Hash运算,得到第一Hash值;
利用所述服务器种子分散密钥对所述第一Hash值进行加密运算,得到第一种子密钥;
在接收到动态口令验证请求时,根据所述第一种子密钥和服务器时间因子,通过第一预设算法生成服务器动态口令;
获取所述移动终端运算得到的移动终端动态口令;
若所述服务器动态口令和所述移动终端动态口令一致,则通过验证;其中,
所述移动终端信息包含移动终端随机数、移动终端唯一识别码、移动终端软硬件信息中的一种或者多种的组合。
2.一种软件OTP的激活方法,其特征在于,所述软件OTP的激活方法包括以下步骤:
移动终端获取服务器产生的服务器种子生成因子;
根据所述服务器种子生成因子和所述移动终端生成的移动终端信息,运算得到第二验证信息;
对所述服务器种子生成因子进行Hash运算,得到移动终端种子分散密钥;
对包括所述移动终端信息和所述服务器种子生成因子的第三数据进行Hash运算,或者对包括所述移动终端信息与所述服务器种子生成因子的变换结果的第四数据进行Hash运算,得到第二Hash值,包括以下步骤:
利用所述移动终端种子分散密钥对所述第二Hash值进行加密运算,得到第二种子密钥;
利用预设密钥通过第一算法对所述第二种子密钥进行加密运算,得到种子密钥第一密文;
利用所述移动终端信息中的移动终端唯一识别码,通过第二算法生成过程密钥;
利用所述过程密钥通过第三算法对所述种子密钥第一密文进行加密运算,得到种子密钥第二密文;
将所述种子密钥第二密文保存在所述移动终端中;
在接收到动态口令验证请求时,获取所述移动终端信息中的移动终端唯一识别码,利用所述移动终端唯一识别码,通过所述第二算法生成所述过程密钥;
获取所述种子密钥第二密文,利用所述过程密钥,通过所述第三算法对所述种子密钥第二密文进行逆运算,得到所述种子密钥第一密文;
利用所述预设密钥,通过所述第一算法对所述种子密钥第一密文进行逆运算,得到所述第二种子密钥;
根据所述第二种子密钥和移动终端时间因子,通过第二预设算法生成移动终端动态口令;
将所述移动终端动态口令反馈给所述服务器,以在所述服务器运算得到的动态口令与所述移动终端动态口令一致时,则通过验证;
利用所述移动终端种子分散密钥对包括所述移动终端信息和所述服务器种子生成因子的第一数据进行Mac运算,或者对包括所述移动终端信息与所述服务器种子生成因子的变换结果的第二数据进行Mac运算,得到所述第二验证信息;
将所述第二验证信息反馈给所述服务器,以在所述服务器根据所述服务器种子生成因子以及所述移动终端信息运算得到第一验证信息,并在所述第一验证信息和所述第二验证信息一致时,则激活所述软件OTP;其中,
移动终端信息包含移动终端随机数、移动终端唯一识别码、移动终端软硬件信息中的一种或者多种的组合。
3.一种服务器,其特征在于,所述服务器包括包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的软件OTP的激活程序,其中所述软件OTP的激活程序配置为实现如权利要求1所述的软件OTP的激活方法的步骤。
4.一种移动终端,其特征在于,所述移动终端包括包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的软件OTP的激活程序,其中所述软件OTP的激活程序配置为实现如权利要求2所述的软件OTP的激活方法的步骤。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有软件OTP的激活程序,所述软件OTP的激活程序被处理器执行实现如权利要求1或2所述的软件OTP的激活方法的步骤。
6.一种软件OTP的激活系统,其特征在于,所述软件OTP的激活系统包括如权利要求4中所述的移动终端,以及如权利要求3中所述的服务器。
CN201710584652.8A 2017-07-17 2017-07-17 Otp激活方法、移动终端、服务器、存储介质及系统 Active CN107493264B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710584652.8A CN107493264B (zh) 2017-07-17 2017-07-17 Otp激活方法、移动终端、服务器、存储介质及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710584652.8A CN107493264B (zh) 2017-07-17 2017-07-17 Otp激活方法、移动终端、服务器、存储介质及系统

Publications (2)

Publication Number Publication Date
CN107493264A CN107493264A (zh) 2017-12-19
CN107493264B true CN107493264B (zh) 2021-01-05

Family

ID=60644502

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710584652.8A Active CN107493264B (zh) 2017-07-17 2017-07-17 Otp激活方法、移动终端、服务器、存储介质及系统

Country Status (1)

Country Link
CN (1) CN107493264B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108400870A (zh) * 2018-01-30 2018-08-14 浙江易云物联科技有限公司 动态双密钥算法
CN110349351A (zh) * 2018-04-02 2019-10-18 菜鸟智能物流控股有限公司 一种物流对象管理设备的解锁方法和系统
CN108964922A (zh) * 2018-06-19 2018-12-07 深圳市文鼎创数据科技有限公司 移动终端令牌激活方法、终端设备及服务器
CN109271757B (zh) * 2018-08-10 2022-03-18 神州网信技术有限公司 一种软件的离线激活方法及系统
CN111935059B (zh) * 2019-05-13 2023-08-25 阿里巴巴集团控股有限公司 一种设备标识的处理方法、装置及系统
CN110519047A (zh) * 2019-07-15 2019-11-29 上海林果实业股份有限公司 令牌激活方法及装置
CN111817851B (zh) * 2020-09-10 2020-12-08 北京深思数盾科技股份有限公司 Otp生成方法、验证方法、终端、服务器、芯片和介质
CN112217632B (zh) * 2020-10-12 2023-09-08 国网数字科技控股有限公司 一种基于智能合约和哈希链的身份认证方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104519066A (zh) * 2014-12-23 2015-04-15 飞天诚信科技股份有限公司 一种激活移动终端令牌的方法
CN104539701A (zh) * 2014-12-29 2015-04-22 飞天诚信科技股份有限公司 一种在线激活移动终端令牌的设备和系统的工作方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8281375B2 (en) * 2007-01-05 2012-10-02 Ebay Inc. One time password authentication of websites

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104519066A (zh) * 2014-12-23 2015-04-15 飞天诚信科技股份有限公司 一种激活移动终端令牌的方法
CN104539701A (zh) * 2014-12-29 2015-04-22 飞天诚信科技股份有限公司 一种在线激活移动终端令牌的设备和系统的工作方法

Also Published As

Publication number Publication date
CN107493264A (zh) 2017-12-19

Similar Documents

Publication Publication Date Title
CN107493264B (zh) Otp激活方法、移动终端、服务器、存储介质及系统
US10999257B2 (en) Secure delivery and storage of content
US10263969B2 (en) Method and apparatus for authenticated key exchange using password and identity-based signature
CN111130803B (zh) 数字签名的方法、系统及装置
CN109040149A (zh) 密钥协商方法、云服务器、设备、存储介质以及系统
CN111565107B (zh) 基于云服务平台的密钥处理方法、装置和计算机设备
CN110224976B (zh) 一种加密通信方法、装置及计算机可读存储介质
US10055591B1 (en) Secure protocol attack mitigation
JP2015501613A (ja) 外部コードのためのセキュリティ機構
CN113794734A (zh) 车载can总线加密通信方法、控制装置和可读存储介质
CN113067823B (zh) 邮件用户身份认证和密钥分发方法、系统、设备及介质
CN111934873A (zh) 一种投标文件加解密方法及装置
CN111193704B (zh) Http通信方法、装置及可读存储介质
CN111949958B (zh) Oauth协议中的授权认证方法及装置
CN107204853A (zh) 一种使用手机的无线数字签章方法
CN111092729A (zh) 一种电子签章和验章的方法及装置
CN112199622A (zh) 页面跳转方法、系统及存储介质
CN108549824A (zh) 一种数据脱敏方法及装置
CN108768928A (zh) 一种信息获取方法、终端及服务器
CN117561508A (zh) 可验证凭证的跨会话颁发
US10148629B1 (en) User-friendly multifactor authentication
CN111431922A (zh) 物联网数据加密传输方法及系统
CN114302367A (zh) 证书申请方法、装置、电子设备及存储介质
CN109120576B (zh) 数据分享方法及装置、计算机设备及存储介质
CN104918245B (zh) 一种身份认证方法、装置、服务器及客户端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant