CN106161367A - 一种动态口令验证方法及系统、客户端和服务器 - Google Patents
一种动态口令验证方法及系统、客户端和服务器 Download PDFInfo
- Publication number
- CN106161367A CN106161367A CN201510160501.0A CN201510160501A CN106161367A CN 106161367 A CN106161367 A CN 106161367A CN 201510160501 A CN201510160501 A CN 201510160501A CN 106161367 A CN106161367 A CN 106161367A
- Authority
- CN
- China
- Prior art keywords
- server
- dynamic password
- current time
- client
- password
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请实施例公开了一种动态口令验证方法及系统、客户端和服务器,所述方法包括:客户端向验证服务器请求服务器当前时间;客户端接收所述验证服务器返回的服务器当前时间;客户端根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至所述验证服务器;验证服务器根据所述服务器当前时间,计算生成验证口令;判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。本申请实施例方法实现了客户端生成动态口令与验证服务器生成验证口令采用的时间因子的同步,从而提高了动态口令与验证口令的匹配度。
Description
技术领域
本申请涉及互联网信息安全技术领域,特别涉及一种动态口令验证方法及系统、客户端和服务器。
背景技术
动态口令是一种随时间或事件变化而产生的口令,该口令在一定时间间隔内有效且不可预测,一般会通过动态口令生成的载体显示出来,如手机令牌、刮刮卡等。动态口令验证技术可以实现用户安全身份验证功能,随着移动互联网的发展,动态口令验证技术已经被广泛应用于企业、金融、网上银行、电子政务等领域。例如,用户在登录网上银行交易系统时,系统会要求用户输入动态口令,用户完成输入后,所述动态口令被传输至验证服务器进行验证。由于每次生成的动态口令是随机的,并且只能使用一次,可以防止对动态口令窃听、重放、假冒、猜测等攻击方式。
现有技术中,常用基于时间同步的动态口令验证方法实现用户身份的验证,所述验证方法中,客户端生成动态口令的算法包括时间因子参数。验证服务器生成验证动态口令的验证口令,生成所述验证口令的算法也需要时间因子参数。
在实现本申请过程中,发明人发现现有技术中至少存在如下问题:客户端生成动态口令算法中的时间因子来源于客户端设备,验证服务器生成验证口令算法中的时间因子来源于验证服务器。通常情况下,客户端设备时钟和验证服务器时钟几乎不可能完全匹配,当时间因子不匹配时,生成的动态口令和验证口令也将不匹配,这将导致用户身份验证失败。
发明内容
本申请实施例的目的是提供一种动态口令验证方法及系统、客户端和服务器,以实现生成动态口令算法中的时间因子以及生成验证口令算法中的时间因子完全匹配。
为解决上述技术问题,本申请实施例提供一种动态口令验证方法及系统、客户端和服务器是这样实现的:
一种动态口令验证方法,包括:
客户端向验证服务器请求服务器当前时间;
客户端接收所述验证服务器返回的服务器当前时间;
客户端根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至所述验证服务器;
验证服务器根据所述服务器当前时间,计算生成验证口令;
验证服务器判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
一种动态口令验证方法,包括:
向验证服务器请求服务器当前时间;
接收所述验证服务器返回的服务器当前时间;
根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至所述验证服务器。
一种动态口令验证方法,包括:
接收客户端发来的服务器当前时间请求;
返回服务器当前时间至客户端;
接收客户端返回的动态口令;
根据所述服务器当前时间值,计算生成验证口令;
判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
在所述向验证服务器请求服务器当前时间之前,还包括:
客户端检查是否连接网络;
在判断连接网络时,客户端向验证服务器请求服务器当前时间。
所述根据所述服务器当前时间,计算生成动态口令,包括:
将所述服务器当前时间和种子密钥作为动态口令算法的输入参数,采用动态口令算法计算得到动态口令。
所述种子密钥包括所述客户端初始化时生成并发送至所述验证服务器的种子密钥。
所述种子密钥包括所述客户端初始化时生成,并在计算生成动态口令时发送至所述验证服务器的种子密钥。
所述动态口令算法包括单向散列函数。
一种动态口令验证方法,包括:
客户端读取预存的服务器同步时间;
客户端根据所述服务器同步时间确定服务器当前时间;
客户端根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至验证服务器;
所述验证服务器接收所述动态口令,根据所述服务器当前时间值,计算生成验证口令;
所述验证服务器判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
一种动态口令验证方法,包括:
读取预存的服务器同步时间;
根据所述服务器同步时间确定服务器当前时间;
根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至验证服务器。
一种动态口令验证方法,包括:
接收客户端返回的动态口令;
根据服务器当前时间值,计算生成验证口令;
判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
所述根据所述服务器当前时间,计算生成动态口令,包括:
将所述服务器当前时间和种子密钥作为动态口令算法的输入参数,采用动态口令算法计算得到动态口令。
所述种子密钥包括所述客户端初始化时生成并发送至所述验证服务器的种子密钥。
所述种子密钥包括所述客户端初始化时生成,并在计算生成动态口令时发送至所述验证服务器的种子密钥。
所述动态口令算法包括单向散列函数。
所述根据所述服务器同步时间确定服务器当前时间,包括:
获取存储所述服务器同步时间时客户端的第一时间;
计算客户端当前时间和所述第一时间的差值;
计算所述差值和所述服务器同步时间的和值,所述和值确定为所述服务器当前时间。
一种动态口令验证系统,包括:
客户端,用于向验证服务器请求服务器当前时间;接收所述验证服务器返回的服务器当前时间;根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至所述验证服务器;
验证服务器,用于接收客户端发来的服务器当前时间请求;返回服务器当前时间至客户端;根据所述服务器当前时间值,计算生成验证口令;判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
一种客户端,包括:
请求单元,用于向验证服务器请求服务器当前时间;
接收单元,用于接收所述验证服务器返回的服务器当前时间;
动态口令生成单元,用于根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至所述验证服务器。
一种服务器,包括:
第一接收单元,用于接收客户端发来的服务器当前时间请求;
返回单元,用于返回服务器当前时间至客户端;
第二接收单元,用于接收客户端返回的动态口令;
验证口令生成单元,用于根据所述服务器当前时间值,计算生成验证口令;
验证单元,用于判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
一种动态口令验证系统,包括:
客户端,用于读取预存的服务器同步时间;根据所述服务器同步时间确定服务器当前时间;根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至验证服务器;
验证服务器,用于接收客户端返回的动态口令;根据所述服务器当前时间值,计算生成验证口令;判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
一种客户端,包括:
读取单元,用于读取预存的服务器同步时间;
时间确定单元,用于根据所述服务器同步时间确定服务器当前时间;
动态口令生成单元,用于根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至验证服务器。
一种服务器,包括:
接收单元,用于接收客户端返回的动态口令;、
验证口令生成单元,用于根据服务器当前时间,计算生成验证口令;
验证单元,用于判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
所述时间确定单元包括:
获取单元,用于获取存储所述服务器同步时间时客户端的第一时间;
第一计算单元,用于计算获取客户端当前时间和所述第一时间的差值;
第二计算单元,用于计算所述差值和所述服务器同步时间的和值,所述和值确定为所述服务器当前时间。
由以上本申请实施例提供的技术方案可见,本申请实施例在基于时间同步的动态口令验证方法中,客户端在生成动态口令之前,与服务器产生一次通信,获取服务器的当前时间,实现了客户端生成动态口令与验证服务器生成验证口令采用的时间因子的同步,从而提高了动态口令与验证口令的匹配度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请动态口令验证方法第一方法实施例的流程示意图;
图2是本申请动态口令验证方法第一实施例应用场景的示意图;
图3是本申请动态口令验证方法第二方法实施例的流程示意图;
图4是本申请动态口令验证客户端第一实施例的组成示意图;
图5是本申请动态口令验证方法第三方法实施例的流程示意图;
图6是本申请动态口令验证服务器第一实施例的组成示意图;
图7是本申请动态口令验证方法第四方法实施例的流程示意图;
图8是本申请动态口令验证方法第五方法实施例的流程示意图;
图9是本申请动态口令验证客户端第二实施例的组成示意图;
图10是本申请动态口令验证客户端第二实施例中时间确定单元的组成示意图;
图11是本申请动态口令验证方法第六方法实施例的流程示意图;
图12是本申请动态口令验证服务器第二实施例的组成示意图。
具体实施方式
本申请实施例提供一种动态口令验证方法及系统、客户端和服务器。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
动态口令生成算法和验证口令生成算法是相同的,当客户端动态口令生成算法中的时间因子和验证服务器验证口令生成算法中的时间因子相同时,动态口令和验证口令相匹配,用户通过身份验证。所述客户端还可以根据本地文件中保存的上一次同步的验证服务器时间,获取验证服务器当前时间。
以下介绍本申请的第一实施例的实现方案。
为了实现客户端动态口令生成算法中的时间因子和验证服务器验证口令生成算法中的时间因子相同,客户端在生成动态口令之前,可以与验证服务器进行一次通信,获取验证服务器的当前时间。具体可以通过如图1所示的S101~S105的方法实现。
客户端可以设置为能够启动一个特定的功能例如触摸某一预设的虚拟按键或者按下某个物理按键后启动该特定功能。该特定的功能可以再开启后执行获取验证服务器当前时间的工作,例如下面S101~S103的工作。
步骤S101:客户端向验证服务器请求服务器当前时间。
如上所述,客户端在启动一特定功能后,可以执行获取验证服务器当前时间的工作。首先,客户端向验证服务器请求服务器当前时间。在本发明实施例中,客户端可以向验证服务的时间同步接口发送http请求,请求验证服务器返回当前时间。具体Java实现代码如下所示:
Date date=obtainServerDate();//客户端向验证服务器发起请求
public Date obtainServerDate()
{SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//验证服务器设置当前时间
return df.format(new Date());}//验证服务器返回当前时间至客户端
在请求验证服务器当前时间之前,客户端还可以检查是否连接网络。当所述客户端连接网络时,客户端才能实现与验证服务器的通信。一般的,客户端设备包括电脑、PAD或者手机等,例如,一手机客户端安装有Android系统,用户在点击客户端当前登录页面中的“获取动态口令”按钮后,所述客户端可以调用Android系统中网络连接管理器检查该手机客户端是否连接网络。具体地,手机客户端可以调用Android系统中ConnectivityManager类的isAvailable()函数,实现代码如下:
ConnectivityManager cwjManager=(ConnectivityManager)getSystemService(Context.CON-NECTIVITY_SERVICE);
cwjManager.getActiveNetworkInfo().isAvailable();//返回True则可以判断当前Android手机客户端已经连接网络。
与上述方法类似,在其他客户端设备中,客户端也是通过调用相应的安装系统中的网络连接管理器检查客户端是否连接网络。例如,安装Win7系统的电脑通过调用Win7系统的网络连接管理器检查该电脑客户端是否连接网络,安装iOS系统的iPhone或者Ipad通过调用iOS系统的网络连接管理器检查iPhone或者Ipad客户端是否连接网络。
步骤S102:客户端接收所述验证服务器返回的服务器当前时间。
验证服务器接收客户端的请求,返回服务器当前时间,具体Java实现代码如上所示,客户端接收所述验证服务器返回的当前时间。
步骤S103:客户端根据所述服务器当前时间,计算生成动态口令,并将所述动态口令发送至所述验证服务器。
客户端接收到服务器当前时间后,根据所述服务器当前时间,计算生成动态口令。生成动态口令的算法包括单向散列函数,如HMAC-SHA1、MD5、SHA-1以及SHA-256。例如,本申请实施例采用HMAC-SHA1算法计算生成动态口令,具体步骤如下:
SS1:初始化种子密钥以及时间因子。
用户在注册账号时,客户端自动生成种子密钥,所述种子密钥可以是客户端生成的随机码。所述客户端包括手机客户端时,所述种子密钥可以包括IMEI,手机厂商标识码,手机屏幕分辨率以及手机操作系统版本号中的一个或者几个的组合。客户端生成所述种子密钥后,可以立即将所述种子密钥发送至验证服务器。验证服务器接收所述种子密钥后,可以将所述种子密钥以及相应的用户ID保存于验证服务器的数据库中。客户端也可以在计算生成动态口令时将所述种子密钥发送至所述验证服务器。假设所述种子密钥为key,所述时间因子为T,初始化后的(种子密钥key,时间因子T)为加密初值key2,所述加密初值key2可以按下式生成:
key2=copy(key,1,L/2)+FormatDateTime(‘yyyymmdd’,nowTime)+
copy(key,L/2,L)+FormatDateTime(‘hhmmss’,nowTime)
其中,L是种子密钥key的长度,copy(key,1,L/2)是种子密钥的前段部分,copy(key,L/2,L)是后段部分。服务器当前时间nowTime可以精确至秒,FormatDateTime(‘yyyymmdd’,nowTime)可以按照‘yyyymmdd’的格式对服务器当前时间的年、月、日值进行格式化,如服务器当前日期是2015年1月22日,则格式化后为“20150122”。FormatDateTime(‘hhmmss’,nowTime)可以按照‘hhmmss’的格式对服务器当前时间的时、分、秒进行格式化,如服务器当前时间是下午两点四十四分三秒,则格式化后为“144403”。举个例子,种子密钥key值为“999888”,客户端接收的服务器当前时间为2015年1月22日下午两点四十四分三秒,那么加密初值key2可以表示为“99920150122999144403”。
SS2:根据所述加密初值计算生成HMAC-SHA-1值。
根据所述加密初值计算生成HMAC-SHA-1值,具体表达式为:
Hs=HMAC-SHA-1(加密初值)
其中,Hs是一个160位的二进制串。HMAC-SHA-1是利用SHA-1算法进行两次杂凑运算后,输出一个160bit的HMAC-SHA-1值。所述SHA-1是现有技术的一种标准杂凑运算,这里不再赘述。
SS3:根据所述HMAC-SHA-1值生成一个31位的二进制串。
采用动态偏移截短函数将160位的HMAC-SHA-1值中提取出一个31位的动态二进制串,具体表达式为P=DT(Hs),式中DT是截短函数。P=DT(Hs)的具体实现过程如下:
Hs=Hs[0]Hs[1]…Hs[19];//式中Hs[i]为二进制串Hs的第i个字节;
OffsetBits=Hs[19]&0xf;//式中OffsetBits为偏移位数,取Hs[19]的最后4位;
Offset=StToNum(OffsetBits);
//式中将OffsetBits转换为十进制数,并且值在0-15之间;
P=(Hs[Offset]&0x7f)<<24|(Hs[Offset+1]&0xff)<<16|(Hs[Offset+2]&0xff)<<8|(Hs[Offset+3]&0xff);//式中从Hs[Offset]至Hs[Offset+3]连续4个字节中取后31位。
SS4:根据所述31位二进制串获取动态口令。
根据所述31位的二进制串确定所述动态口令,可以利用StToNum函数将所述二进制串转换成6~8位的十进制数,具体实现方式如下:
StToNum(P)=P[0]·2^(30)+P[1]·2^(29)+…+P[29]·2^(1)+P[30]·2^(0)。
客户端可以以短信方式发送所述动态口令至验证服务器。短信网关将客户端发送的短信信息转换后发送至所述验证服务器。
步骤S104:验证服务器根据所述服务器当前时间值,计算生成验证口令。
一般地,验证服务器在确定用户ID的合法性后,可以从验证服务器数据库中调用与所述用户ID相应的种子密钥,还可以接收客户端实时发送至的种子密钥。验证服务器根据所述种子密钥以及发送至客户端的所述服务器当前时间值,计算生成验证口令。验证服务器计算生成验证口令时,可以采用与客户端相同的算法,在此情况下,所述验证服务器预先配置有与客户端相同的动态口令算法。当然,验证服务器也可以采用与客户端不同的算法,只需计算得到的动态口令以及验证口令经过一定的算法转换后相匹配。同样地,所述动态口令的算法包括HMAC-SHA1、MD5、SHA-1以及SHA-256。
步骤S106:所述验证服务器判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
验证服务器比较所述动态口令以及所述验证口令,如果匹配,则发送通过验证的确认消息至客户端。后续的,如果所述动态口令以及所述验证口令不匹配,所述验证服务器可以发送未通过验证的回复消息至客户端。
下面结合具体场景说明上述本申请实施例的实现过程:
用户A通过手机客户端登录某网站时的界面如图2所示。用户A输入完用户ID以及密码后,需要进行动态口令身份验证。在图2所示的界面上,用户点击“获取动态口令”按钮,所述按钮触发了手机客户端获取动态口令的功能。首先,客户端检查手机设备是否连接网络。如果手机设备安装有Android系统,客户端可以调用isAvailable()函数检查手机是否连接网络。经检查,如果判断手机客户端设备连接网络,客户端向验证服务器请求服务器当前时间。具体的,客户端可以向验证服务器的时间同步接口发送Http请求所述服务器当前时间,所述当前时间可以是2015年1月22日下午两点四十四分三秒。手机客户端接收到验证服务器的服务器当前时间后,读取保存于本地的种子密钥,所述种子密钥可以是手机设备的15位IMEI码,如“834299070186334”。在本实施例中,客户端可以采用HMAC-SHA-1算法计算生成动态口令。具体地,将所述种子密钥以及服务器当前时间初始化,获取加密初值,计算所述加密初值的HMAC-SHA-1值,经过截短后转换成6~8位的动态口令,如“453476”。客户端并将所述动态口令发送至验证服务器。验证服务器接收所述动态口令后,确定用户的ID是否合法。确定所述ID的合法性后,验证服务器根据所述ID在服务器数据库中调用与所述ID相对应的种子密钥。获取所述种子密钥后,验证服务器根据所述种子密钥以及所述服务器当前时间采用HMAC-SHA-1算法计算生成验证口令,所述HMAC-SHA-1算法预先配置于所述验证服务器中。生成验证口令后,所述验证服务器比较所述动态口令以及验证口令,若两者匹配,则通过验证,否则,未通过验证。
利用上述本申请的方法实施例一,在基于时间同步的动态口令验证方法中,客户端在生成动态口令之前,与服务器产生一次通信,获取服务器的当前时间,实现客户端生成动态口令与验证服务器生成验证口令采用的时间因子的同步,从而提高了动态口令与验证口令的匹配度。
下面介绍本方法实施例对应的动态口令验证的系统第一实施例,所述系统包括,
客户端,用于向验证服务器请求服务器当前时间;接收所述验证服务器返回的服务器当前时间;根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至所述验证服务器;
验证服务器,用于接收客户端发来的服务器当前时间请求;返回服务器当前时间至客户端;根据所述服务器当前时间值,计算生成验证口令;判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证,否则未通过验证。
上述第一方法实施例,考虑以客户端为主的步骤,可以演化为第二方法实施例,如图3所示,包括:
步骤S301:向验证服务器请求服务器当前时间;
步骤S302:接收所述验证服务器返回的服务器当前时间;
步骤S303:根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至所述验证服务器。
上述第二方法实施例,对应的客户端第一实施例400,如图4所示,包括:
请求单元401,用于向验证服务器请求服务器当前时间;
接收单元402,用于接收所述验证服务器返回的服务器当前时间;
动态口令生成单元403,用于根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至所述验证服务器。
上述第一方法实施例,考虑以服务器为主的步骤,可以演化为第三方法实施例,如图5所示,包括:
步骤S501:接收客户端发来的服务器当前时间请求;
步骤S502:返回服务器当前时间至客户端;
步骤S503:接收客户端返回的动态口令;
步骤S504:根据所述服务器当前时间值,计算生成验证口令;
步骤S505:判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
上述第三方法实施例,对应的服务器第一实施例600,如图6所示,包括:
第一接收单元601,用于接收客户端发来的服务器当前时间请求;
返回单元602,用于返回服务器当前时间至客户端;
第二接收单元603,用于接收客户端返回的动态口令;
验证口令生成单元604,用于根据所述服务器当前时间值,计算生成验证口令;
验证单元605,用于判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
上述第一方法实施例,考虑到客户端没有连接网络的情况,可以演化为第四方法实施例。
如果检查所述客户端没有连接网络,为了实现计算动态口令以及验证口令的时间因子是同步的,可以读取客户端本地保存的服务器同步时间,根据所述服务器同步时间计算服务器当前时间。具体实施步骤如图7所示,包括:
步骤S701:客户端读取客户端预存的服务器同步时间。
一般地,客户端设备连接网络时,客户端可以定期同步服务器时间,并将获取的服务器同步时间以日志的形式保存于客户端文件系统中。当客户端设备没有连接网络时,客户端可以从客户端文件系统中读取上一次保存的服务器同步时间,从而计算得到服务器当前时间。
步骤S702:客户端根据所述服务器同步时间确定服务器当前时间。
客户端可以根据所述服务器同步时间确定服务器当前时间。具体地,客户端当前时间减去客户端保存所述服务器同步时间时的时间,再加上所述服务器同步时间,就可以确定服务器当前时间。上述方法包括步骤S1~S3:
S1:获取存储所述服务器同步时间时客户端的第一时间;
S2:计算客户端当前时间和所述第一时间的差值;
S3:计算所述差值和所述服务器同步时间的和值,所述和值确定为所述服务器当前时间。
举个例子,客户端设备当前时间是2015年1月26日21点50分37秒,客户端设备在2015年1月20日12点28分03秒同步了服务器时间并保存,服务器同步时间为2015年1月20日12点27分50秒,根据上述确定服务器当前时间的计算方法,那么,服务器的当前时间为2015年1月26日21点50分24秒。
步骤S703:客户端根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至验证服务器。
客户端接收到服务器当前时间后,根据所述服务器当前时间,计算生成动态口令。动态口令的算法包括单向散列函数,例如HMAC-SHA1、MD5、SHA-1以及SHA-256。例如,本申请实施例采用HMAC-SHA1算法计算生成动态口令,具体步骤参考第一方法实施例的SS1~SS4,在此不再赘述。
步骤S704:所述验证服务器接收所述动态口令,根据所述服务器当前时间值,计算生成验证口令。
验证服务器在确定用户ID的合法性后,可以从验证服务器数据库中调用与所述用户ID相应的种子密钥,还可以接收客户端实时发送至的种子密钥。验证服务器根据所述种子密钥以及发送给客户端的服务器当前时间值,计算生成验证口令。验证服务器计算生成验证口令时,可以采用与客户端相同的动态口令算法,在此情况下,所述验证服务器预先配置有与客户端相同的动态口令算法。同样地,所述动态口令的算法包括HMAC-SHA1、MD5、SHA-1以及SHA-256。
步骤S705:所述验证服务器判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
验证服务器比较所述动态口令以及所述验证口令,如果匹配,则发送通过验证的确认消息至客户端。后续的,如果所述动态口令以及所述验证口令不匹配,所述验证服务器可以发送未通过验证的回复消息至客户端。
下面结合具体场景说明上述本申请实施例的实现过程:
同样地,用户A通过手机客户端登录某网站时的界面如图2所示。用户点击“获取动态口令”按钮,所述按钮触发了手机客户端获取动态口令的功能。首先,客户端检查手机设备是否连接网络。如果手机设备安装有Android系统,客户端可以调用isAvailable()函数检查手机是否连接网络。经检查,如果判断手机客户端设备未连接网络,客户端读取客户端设备文件系统中上一次保存的服务器同步时间。根据所述服务器同步时间计算生成服务器当前时间,具体计算方法参考步骤S702。手机客户端确定服务器当前时间后,读取保存于本地的种子密钥,所述种子密钥可以手机设备的15位IMEI码,如“834299070186334”。在本实施例中,客户端可以采用HMAC-SHA-1算法计算生成动态口令。具体地,将所述种子密钥以及服务器当前时间初始化,获取加密初值,计算所述加密初值的HMAC-SHA-1值,经过截短后转换成6~8位的动态口令,如“453476”。客户端并将所述动态口令发送至验证服务器。验证服务器接收所述动态口令后,确定用户的ID是否合法。经确定所述ID的合法性后,验证服务器根据所述ID在服务器数据库中调用与所述ID相对应的种子密钥。获取所述种子密钥后,验证服务器根据所述种子密钥以及所述服务器当前时间采用HMAC-SHA-1算法计算生成验证口令,所述HMAC-SHA-1算法预先配置于所述验证服务器中。生成验证口令后,所述验证服务器比较所述动态口令以及验证口令,若两者相同,则此次验证成功,否则,验证不成功。
利用上述本申请的方法实施例四,在基于时间同步的动态口令验证方法中,在客户端没有连接网络的情况下,根据保存于客户端文件系统中的服务器同步时间,确定服务器当前时间,从而实现客户端计算动态口令与验证服务器计算验证口令采用的时间因子的同步,提高了动态口令与验证口令的匹配度。
下面介绍本方法实施例对应的动态口令验证的系统第二实施例,所述系统包括,
客户端,用于读取预存的服务器同步时间;根据所述服务器同步时间确定服务器当前时间;根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至验证服务器;
验证服务器,用于接收客户端返回的动态口令;根据所述服务器当前时间值,计算生成验证口令;判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
上述第四方法实施例,考虑以客户端为主的步骤,可以演化为第五方法实施例,如图8所示,包括:
步骤S801:读取预存的服务器同步时间;
步骤S802:根据所述服务器同步时间确定服务器当前时间;
步骤S803:根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至验证服务器。
上述第五方法实施例,对应的客户端第二实施例900,如图9所示,包括:
读取单元901,用于读取预存的服务器同步时间;
时间确定单元902,用于根据所述服务器同步时间确定服务器当前时间;
动态口令生成单元903,用于根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至验证服务器。
如图10所示,所述时间确定单元902包括:
获取单元1001,用于获取存储所述服务器同步时间时客户端的第一时间;
第一计算单元1002,用于计算获取客户端当前时间和所述第一时间的差值;
第二计算单元1003,用于计算所述差值和所述服务器同步时间的和值,所述和值确定为所述服务器当前时间。
上述第四方法实施例,考虑以服务器为主的步骤,可以演化为第六方法实施例,如图11所示,包括:
步骤S1101:接收客户端返回的动态口令;
步骤S1102:根据服务器当前时间值,计算生成验证口令;
步骤S1103:判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
上述第六方法实施例,对应的服务器第二实施例1200,如图12所示,包括:
接收单元1201,用于接收客户端返回的动态口令;、
验证口令生成单元1202,用于根据服务器当前时间,计算生成验证口令;
验证单元1203,用于判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java HardwareDescription Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware DescriptionLanguage)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit HardwareDescription Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、AtmelAT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。该计算机软件产品可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。该计算机软件产品可以存储在内存中,内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括短暂电脑可读媒体(transitory media),如调制的数据信号和载波。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。
Claims (23)
1.一种动态口令验证方法,其特征在于,包括:
客户端向验证服务器请求服务器当前时间;
客户端接收所述验证服务器返回的服务器当前时间;
客户端根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至所述验证服务器;
验证服务器根据所述服务器当前时间,计算生成验证口令;
验证服务器判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
2.一种动态口令验证方法,其特征在于,包括:
向验证服务器请求服务器当前时间;
接收所述验证服务器返回的服务器当前时间;
根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至所述验证服务器。
3.一种动态口令验证方法,其特征在于,包括:
接收客户端发来的服务器当前时间请求;
返回服务器当前时间至客户端;
接收客户端返回的动态口令;
根据所述服务器当前时间值,计算生成验证口令;
判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
4.根据权利要求1或2所述的动态口令验证方法,其特征在于,在所述向验证服务器请求服务器当前时间之前,还包括:
客户端检查是否连接网络;
在判断连接网络时,客户端向验证服务器请求服务器当前时间。
5.根据权利要求1或2所述的动态口令验证方法,其特征在于,所述根据所述服务器当前时间,计算生成动态口令,包括:
将所述服务器当前时间和种子密钥作为动态口令算法的输入参数,采用动态口令算法计算得到动态口令。
6.根据权利要求5所述的动态口令验证方法,其特征在于,所述种子密钥包括所述客户端初始化时生成并发送至所述验证服务器的种子密钥。
7.根据权利要求5所述的动态口令验证方法,其特征在于,所述种子密钥包括所述客户端初始化时生成,并在计算生成动态口令时发送至所述验证服务器的种子密钥。
8.根据权利要求5所述的动态口令验证方法,其特征在于,所述动态口令算法包括单向散列函数。
9.一种动态口令验证方法,其特征在于,包括:
客户端读取预存的服务器同步时间;
客户端根据所述服务器同步时间确定服务器当前时间;
客户端根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至验证服务器;
所述验证服务器接收所述动态口令,根据所述服务器当前时间值,计算生成验证口令;
所述验证服务器判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
10.一种动态口令验证方法,其特征在于,包括:
读取预存的服务器同步时间;
根据所述服务器同步时间确定服务器当前时间;
根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至验证服务器。
11.一种动态口令验证方法,其特征在于,包括:
接收客户端返回的动态口令;
根据服务器当前时间值,计算生成验证口令;
判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
12.根据权利要求9或10所述的动态口令验证方法,其特征在于,所述根据所述服务器当前时间,计算生成动态口令,包括:
将所述服务器当前时间和种子密钥作为动态口令算法的输入参数,采用动态口令算法计算得到动态口令。
13.根据权利要求12所述的动态口令验证方法,其特征在于,所述种子密钥包括所述客户端初始化时生成并发送至所述验证服务器的种子密钥。
14.根据权利要求12所述的动态口令验证方法,其特征在于,所述种子密钥包括所述客户端初始化时生成,并在计算生成动态口令时发送至所述验证服务器的种子密钥。
15.根据权利要求12所述的动态口令验证方法,其特征在于,所述动态口令算法包括单向散列函数。
16.根据权利要求9或10所述的动态口令验证方法,其特征在于,所述根据所述服务器同步时间确定服务器当前时间,包括:
获取存储所述服务器同步时间时客户端的第一时间;
计算客户端当前时间和所述第一时间的差值;
计算所述差值和所述服务器同步时间的和值,所述和值确定为所述服务器当前时间。
17.一种动态口令验证系统,其特征在于,包括:
客户端,用于向验证服务器请求服务器当前时间;接收所述验证服务器返回的服务器当前时间;根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至所述验证服务器;
验证服务器,用于接收客户端发来的服务器当前时间请求;返回服务器当前时间至客户端;根据所述服务器当前时间值,计算生成验证口令;判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
18.一种客户端,其特征在于,包括:
请求单元,用于向验证服务器请求服务器当前时间;
接收单元,用于接收所述验证服务器返回的服务器当前时间;
动态口令生成单元,用于根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至所述验证服务器。
19.一种服务器,其特征在于,包括:
第一接收单元,用于接收客户端发来的服务器当前时间请求;
返回单元,用于返回服务器当前时间至客户端;
第二接收单元,用于接收客户端返回的动态口令;
验证口令生成单元,用于根据所述服务器当前时间值,计算生成验证口令;
验证单元,用于判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
20.一种动态口令验证系统,其特征在于,包括:
客户端,用于读取预存的服务器同步时间;根据所述服务器同步时间确定服务器当前时间;根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至验证服务器;
验证服务器,用于接收客户端返回的动态口令;根据所述服务器当前时间值,计算生成验证口令;判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
21.一种客户端,其特征在于,包括:
读取单元,用于读取预存的服务器同步时间;
时间确定单元,用于根据所述服务器同步时间确定服务器当前时间;
动态口令生成单元,用于根据所述服务器当前时间,计算生成动态口令,并将所述动态口令上传至验证服务器。
22.一种服务器,其特征在于,包括:
接收单元,用于接收客户端返回的动态口令;、
验证口令生成单元,用于根据服务器当前时间,计算生成验证口令;
验证单元,用于判断所述动态口令和所述验证口令是否匹配,如果匹配则通过验证。
23.根据权利要求21所述的客户端,其特征在于,所述时间确定单元包括:
获取单元,用于获取存储所述服务器同步时间时客户端的第一时间;
第一计算单元,用于计算获取客户端当前时间和所述第一时间的差值;
第二计算单元,用于计算所述差值和所述服务器同步时间的和值,所述和值确定为所述服务器当前时间。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510160501.0A CN106161367A (zh) | 2015-04-07 | 2015-04-07 | 一种动态口令验证方法及系统、客户端和服务器 |
PCT/CN2016/076880 WO2016161889A1 (zh) | 2015-04-07 | 2016-03-21 | 一种动态口令验证方法及系统、客户端和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510160501.0A CN106161367A (zh) | 2015-04-07 | 2015-04-07 | 一种动态口令验证方法及系统、客户端和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106161367A true CN106161367A (zh) | 2016-11-23 |
Family
ID=57073034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510160501.0A Pending CN106161367A (zh) | 2015-04-07 | 2015-04-07 | 一种动态口令验证方法及系统、客户端和服务器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106161367A (zh) |
WO (1) | WO2016161889A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108019889A (zh) * | 2017-10-31 | 2018-05-11 | 青岛海尔空调电子有限公司 | 风冷模块机组动态密码配置方法、系统和风冷模块机组 |
CN108964884A (zh) * | 2017-05-24 | 2018-12-07 | 武汉斗鱼网络科技有限公司 | 移动终端动态口令的生成方法、存储介质、电子设备及系统 |
CN109586921A (zh) * | 2018-12-14 | 2019-04-05 | 飞天诚信科技股份有限公司 | 一种实现动态口令的方法及系统 |
CN109886014A (zh) * | 2019-02-28 | 2019-06-14 | 上海龙旗科技股份有限公司 | 一种登录测试工具的方法及设备 |
CN111209761A (zh) * | 2019-12-30 | 2020-05-29 | 深圳市英威腾电气股份有限公司 | 变频器防伪方法及系统 |
WO2022041806A1 (zh) * | 2020-08-31 | 2022-03-03 | 北京市商汤科技开发有限公司 | 鉴权方法、装置、设备及计算机可读存储介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018108062A1 (zh) * | 2016-12-15 | 2018-06-21 | 腾讯科技(深圳)有限公司 | 身份验证方法、装置及存储介质 |
CN107317804B (zh) * | 2017-06-19 | 2020-12-29 | 努比亚技术有限公司 | 私有云加密数据访问方法、终端及存储介质 |
US11089008B2 (en) | 2018-11-20 | 2021-08-10 | HCL Technologies Italy S.p.A. | System and method for facilitating pre authentication of user[s] intended to access data resources |
CN110400405B (zh) | 2019-07-29 | 2021-10-26 | 北京小米移动软件有限公司 | 一种控制门禁的方法、装置及介质 |
CN114553445A (zh) * | 2020-11-10 | 2022-05-27 | 腾讯科技(深圳)有限公司 | 设备方法、装置、电子设备及可读存储介质 |
CN113067705B (zh) * | 2021-04-13 | 2022-05-27 | 广州锦行网络科技有限公司 | 一种连接建立中身份验证的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101184204A (zh) * | 2007-12-25 | 2008-05-21 | 天柏宽带网络科技(北京)有限公司 | 一种互动电视业务中认证方法 |
CN101453458A (zh) * | 2007-12-06 | 2009-06-10 | 北京唐桓科技发展有限公司 | 基于多变量的动态密码口令双向认证的身份识别方法技术 |
CN101917271A (zh) * | 2010-08-11 | 2010-12-15 | 优视科技有限公司 | 运行在移动通信终端的电子密保装置及其加密方法 |
CN102148837A (zh) * | 2011-05-11 | 2011-08-10 | 上海时代亿信信息科技有限公司 | 一种动态令牌双向认证方法及系统 |
CN102176712A (zh) * | 2011-02-14 | 2011-09-07 | 华为终端有限公司 | 一种身份认证的方法及数据卡 |
CN103297403A (zh) * | 2012-03-01 | 2013-09-11 | 盛大计算机(上海)有限公司 | 一种实现动态密码认证的方法和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102148685B (zh) * | 2010-02-04 | 2014-05-21 | 陈祖石 | 一种由用户自定义多密码种子动态密码认证系统 |
CN102307182B (zh) * | 2011-04-27 | 2015-01-07 | 上海动联信息技术股份有限公司 | 一种动态密码认证服务器智能时间补偿方法 |
CN102868529B (zh) * | 2012-08-31 | 2014-12-10 | 飞天诚信科技股份有限公司 | 一种认证及校准时间的方法 |
-
2015
- 2015-04-07 CN CN201510160501.0A patent/CN106161367A/zh active Pending
-
2016
- 2016-03-21 WO PCT/CN2016/076880 patent/WO2016161889A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101453458A (zh) * | 2007-12-06 | 2009-06-10 | 北京唐桓科技发展有限公司 | 基于多变量的动态密码口令双向认证的身份识别方法技术 |
CN101184204A (zh) * | 2007-12-25 | 2008-05-21 | 天柏宽带网络科技(北京)有限公司 | 一种互动电视业务中认证方法 |
CN101917271A (zh) * | 2010-08-11 | 2010-12-15 | 优视科技有限公司 | 运行在移动通信终端的电子密保装置及其加密方法 |
CN102176712A (zh) * | 2011-02-14 | 2011-09-07 | 华为终端有限公司 | 一种身份认证的方法及数据卡 |
CN102148837A (zh) * | 2011-05-11 | 2011-08-10 | 上海时代亿信信息科技有限公司 | 一种动态令牌双向认证方法及系统 |
CN103297403A (zh) * | 2012-03-01 | 2013-09-11 | 盛大计算机(上海)有限公司 | 一种实现动态密码认证的方法和系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108964884A (zh) * | 2017-05-24 | 2018-12-07 | 武汉斗鱼网络科技有限公司 | 移动终端动态口令的生成方法、存储介质、电子设备及系统 |
CN108019889A (zh) * | 2017-10-31 | 2018-05-11 | 青岛海尔空调电子有限公司 | 风冷模块机组动态密码配置方法、系统和风冷模块机组 |
CN108019889B (zh) * | 2017-10-31 | 2020-11-24 | 青岛海尔空调电子有限公司 | 风冷模块机组动态密码配置方法、系统和风冷模块机组 |
CN109586921A (zh) * | 2018-12-14 | 2019-04-05 | 飞天诚信科技股份有限公司 | 一种实现动态口令的方法及系统 |
CN109886014A (zh) * | 2019-02-28 | 2019-06-14 | 上海龙旗科技股份有限公司 | 一种登录测试工具的方法及设备 |
CN111209761A (zh) * | 2019-12-30 | 2020-05-29 | 深圳市英威腾电气股份有限公司 | 变频器防伪方法及系统 |
CN111209761B (zh) * | 2019-12-30 | 2023-07-25 | 深圳市英威腾电气股份有限公司 | 变频器防伪方法及系统 |
WO2022041806A1 (zh) * | 2020-08-31 | 2022-03-03 | 北京市商汤科技开发有限公司 | 鉴权方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2016161889A1 (zh) | 2016-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106161367A (zh) | 一种动态口令验证方法及系统、客户端和服务器 | |
JP7450678B2 (ja) | アンロッキングトランザクションバイトコードの制約注入 | |
US11281457B2 (en) | Deployment of infrastructure in pipelines | |
AU2018205166B2 (en) | Methods and systems for secure and reliable identity-based computing | |
KR102111180B1 (ko) | 동적 프리젠테이션과 데이터 구성을 사용하여 보안 모바일 협력 애플리케이션을 구축하기 위한 플랫폼 | |
CN107704765A (zh) | 一种接口访问方法、服务器及计算机可读存储介质 | |
CN110245518B (zh) | 一种数据存储方法、装置及设备 | |
CN108965250B (zh) | 一种数字证书安装方法及系统 | |
EP3989149A1 (en) | Method and apparatus for executing smart contract | |
CN109308211B (zh) | 用于在区块链中处理事务数据的方法、装置及存储介质 | |
CN108681662A (zh) | 一种安装程序的方法及装置 | |
EP2924566B1 (en) | Constellation based device binding | |
CN109615372B (zh) | 基于智能合约的区块链数据屏蔽方法及装置 | |
CN106874315A (zh) | 用于提供对内容资源的访问的方法和装置 | |
CA3178249A1 (en) | Systems and methods for conducting remote attestation | |
CN109002733A (zh) | 一种对设备进行可信性评价的方法及装置 | |
WO2020134896A1 (zh) | 一种语音合成文件的调用方法及装置 | |
CN109033860A (zh) | 一种客户端资源文件篡改检测方法及装置 | |
CN113205340A (zh) | 银企直连平台的数据处理方法及相关装置 | |
CN110545542B (zh) | 基于非对称加密算法的主控密钥下载方法、装置和计算机设备 | |
CN116244682A (zh) | 数据库的访问方法、装置、设备以及存储介质 | |
US20160378982A1 (en) | Local environment protection method and protection system of terminal responding to malicious code in link information | |
US20190303654A1 (en) | System to strengthen uniqueness of selfie for expression-based authentication | |
CN109522737A (zh) | 用于确定资源访问权限的方法和设备 | |
CN116862679B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1230372 Country of ref document: HK |
|
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161123 |
|
RJ01 | Rejection of invention patent application after publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1230372 Country of ref document: HK |