CN101431413B - 进行认证的方法、系统、服务器及终端 - Google Patents
进行认证的方法、系统、服务器及终端 Download PDFInfo
- Publication number
- CN101431413B CN101431413B CN2007101954623A CN200710195462A CN101431413B CN 101431413 B CN101431413 B CN 101431413B CN 2007101954623 A CN2007101954623 A CN 2007101954623A CN 200710195462 A CN200710195462 A CN 200710195462A CN 101431413 B CN101431413 B CN 101431413B
- Authority
- CN
- China
- Prior art keywords
- server
- terminal
- random number
- nonce
- trigger messages
- 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
Links
Images
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/32—Cryptographic 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/3271—Cryptographic 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 challenge-response
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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/32—Cryptographic 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/3236—Cryptographic 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 cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
Abstract
本发明公开了一种进行认证的方法,包括:服务器使用触发消息随机数生成触发消息,并将所述使用触发消息随机数生成的触发消息发送到终端;以使所述终端可以提取所述触发消息随机数,在确认所述触发消息随机数有效时,使用所述触发消息随机数生成摘要对所述使用触发消息随机数生成的触发消息进行认证,在认证通过后,向所述触发消息指示的服务器发起会话请求。本发明还公开了相应的系统、服务器、终端。本发明使使用DS和DM协议的终端和服务器的认证过程更加安全。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种使用数据同步(DS,DataSynchronization)协议和设备管理(DM,Device Management)协议进行认证的方法、系统、服务器及终端。
背景技术
同步标记语言(SyncML,Synchronization Mark-up Language)是为了实现多个平台及网络之间个人信息及企业内数据的同步而开发出的协议,其定义了参与操作的实体之间使用的一系列操作,同时定义了承载这些操作的一套消息格式。基于SyncML,开放行动通讯联盟(OMA,Open Mobile Alliance)开发了DS和DM协议。
其中,DS可以在多个平台及网络之间实现个人信息及企业内数据的同步。DS通常应用于移动设备或应用服务器、与网络服务器之间的数据同步,或两台PC之间的数据同步。
DM是一种通过空中下载技术(OTA,Over The Air)将管理指令数据从网络侧下载到终端设备上,并由终端设备自动运行,进而完成终端软硬件升级、配置、诊断等的低成本远程管理解决方案,同时DM还可以将运营商需要的业务信息和终端设备的功能信息等从终端设备传递到服务器侧,以支持其它业务的开展。
在DS和DM协议中使用了相似的安全认证机制,来实现对服务器(Server)及终端(Client)身份的有效认证,其认证流程如图1所示:
步骤101、服务器发送用于触发会话的触发(Trigger)消息至终端。
该触发消息中携带有:使用服务器随机数(s_nonce)生成的摘要(Digest)、和触发信息(TriggerInfo)。该触发消息可以由SMS或其它Push消息承载。
s_nonce为终端生成的随机数(nonce),供服务器使用。
步骤102、终端发送会话请求消息至服务器。
终端收到Trigger消息后,使用保存的s_nonce生成Digest信息对该Trigger消息进行认证,认证通过,则发送会话请求消息至服务器,发起会话。
该会话请求消息中携带有:会话标识(SessionID)、和终端的认证信息(Authenticate),该认证信息为使用终端随机数(c_nonce)生成的Digest。
c_nonce为服务器生成的nonce,供终端使用。
从本步骤开始终端与服务器正式建立会话连接。
步骤103、服务器返回包含认证结果和认证请求的应答消息。
服务器根据终端发送来的Authenticate对终端进行认证,然后向终端返回包含认证结果和服务器认证请求的应答消息。
该应答消息携带有:服务器对终端的身份认证结果、SessionID、服务器的Authenticate,该Authenticate为使用s_nonce生成的Digest。
步骤104、终端返回包含认证结果的消息至服务器。
终端根据服务器发送来的Authenticate对服务器进行认证,然后向服务器返回包含认证结果的消息。
该消息携带有:终端对服务器的身份认证结果、及其他相关信息。
如果服务器对终端的身份认证失败、或终端对服务器的身份认证失败,例如密码错误、或nonce值错误,则服务器或者终端可以直接向对方发起质询(challenge)请求重新认证。
当服务器获知其在Trigger消息中使用的s_nonce错误时,例如服务器发出的多次的Trigger消息都没有得到终端的正常回应,则服务器可以认为其使用的s_nonce错误,则使用一个值为0x00000000的缺省nonce生成Trigger消息的Digest,终端在使用s_nonce生成的Digest对Trigger消息进行认证失败后使用缺省nonce生成Digest对该Trigger消息再进行认证,如果认证通过则使用缺省nonce进行服务器和终端的身份认证,随后对s_nonce和c_nonce进行重新更新,更新流程如图2所示:
步骤201、服务器发送用于触发会话的Trigger消息至终端。
服务器判断其之前使用的s_nonce错误后,使用缺省nonce值生成Trigger消息发送到终端,该Trigger消息中携带有:使用缺省nonce值生成的Digest、和TriggerInfo。
步骤202、终端对该Trigger消息认证失败,使用缺省nonce值重新认证。
终端收到Trigger消息后,使用保存的s_nonce对该Trigger消息进行认证,当由于某种原因认证失败时,终端使用缺省nonce值对该Trigger消息重新进行认证。
若认证通过,说明服务器之前使用的s_nonce错误,终端向服务器发送会话请求消息。
步骤203、终端发送会话请求消息至服务器。
终端使用缺省nonce值认证通过后,发送会话请求消息至服务器,发起会话。
该会话请求消息中携带有:SessionID、使用缺省nonce值生成的Digest。
步骤204、服务器返回包含认证结果、认证请求和c_nonce更新命令的应答消息。
服务器使用缺省nonce值对终端进行认证,然后向终端返回包含认证结果和认证请求的应答消息。
该应答消息携带有:服务器对终端的身份认证结果、c_nonce更新命令、及使用缺省nonce值生成的Digest。
步骤205、终端返回包含认证结果及s_nonce更新命令的消息至服务器。
终端使用缺省nonce值对服务器进行认证,认证通过更新c_nonce,然后向服务器返回包含认证结果及s_nonce更新命令的消息。
步骤206、服务器返回s_nonce更新结果至终端。
在对现有技术的研究和实践过程中,发明人发现现有技术存在以下问题:
在处理s_nonce错误时使用缺省nonce进行认证,由于缺省nonce是一个公开的固定不变的值,恶意服务器在截获使用缺省nonce的消息后,可以重复发送该消息攻击服务器或终端。
现有技术中的一个会话当中使用了两个nonce:s_nonce和c_nonce,其分别由终端、服务器生成并更新,终端、服务器的管理负担较重。
发明内容
本发明实施例要解决的技术问题是提供一种使用数据同步协议或设备管理协议进行认证的方法、系统、服务器及终端,以对使用DS和DM协议的终端和服务器之间的认证过程进行有效优化。
为解决上述技术问题,本发明实施例一方面,提供了一种使用数据同步协议或设备管理协议进行认证的方法,所述方法包括:
服务器使用触发消息随机数生成触发消息,并将所述使用触发消息随机数生成的触发消息发送到终端;以使所述终端可以提取所述触发消息随机数,在确认所述触发消息随机数有效时,使用所述触发消息随机数生成摘要对所述使用触发消息随机数生成的触发消息进行认证,在认证通过后,向所述触发消息指示的服务器发起会话请求;其中,所述触发消息随机数是所述服务器为所述触发消息生成的随机数。
另一方面,提供了一种使用数据同步协议或设备管理协议进行更新的方法,所述方法包括:
终端获知需要更新服务器随机数;
生成新的服务器随机数,并将所述新的服务器随机数携带在会话请求消息中,发送到所述服务器,以使所述服务器可以在收到所述携带有新的服务器随机数的会话请求消息时,使用所述新的服务器随机数更新自身保存的服务器随机数。
另一方面,提供了一种使用数据同步协议或设备管理协议进行认证的方法,所述方法包括:
终端接收服务器发送的使用缺省随机数生成的触发消息;
所述终端在收到所述触发消息后,首先使用服务器随机数认证所述触发消息,在认证失败后再使用缺省随机数认证触发消息,在认证通过后,使用缺省随机数生成会话请求消息请求会话,在会话中发送新的服务器随机数到所述服务器,使所述服务器更新服务器随机数,并接收服务器发送的使用缺省随机数生成的认证信息以认证服务器身份,并接收服务器发送的更新终端随机数的命令以更新终端随机数;
并在更新所述服务器随机数和终端随机数后更新服务器密码和终端密码。
另一方面,提供了一种使用数据同步协议或设备管理协议进行认证的方法,所述方法包括:
服务器在收到终端使用缺省随机数生成的会话请求消息,会话使用了应用层安全机制,所述服务器发送过使用缺省随机数的用以触发所述会话的触发消息给所述终端,且使用缺省随机数对所述会话请求消息进行认证通过时,向所述终端返回包含认证结果和终端随机数更新命令的应答消息。
另一方面,提供了一种使用数据同步协议或设备管理协议进行认证的方法,所述方法包括:
终端接收服务器发送的使用缺省随机数生成的触发消息;
所述终端在收到所述触发消息后,首先使用服务器随机数认证所述触发消息,在认证失败后再使用缺省随机数认证触发消息,在认证通过后,使用终端随机数生成会话请求消息发送到服务器,并发送新的服务器随机数到所述服务器,使所述服务器使用所述新的服务器随机数更新服务器随机数。
另一方面,提供了一种使用数据同步协议或设备管理协议进行认证的系统,所述系统包括:
服务器,用于使用触发消息随机数生成触发消息,并发送所述使用触发消息随机数生成的触发消息;
终端,用于接收所述使用触发消息随机数生成的触发消息,提取所述触发消息随机数,在确认所述触发消息随机数有效时,使用所述触发消息随机数生成摘要对所述使用触发消息随机数生成的触发消息进行认证,在认证通过后,向所述触发消息指示的服务器发起会话请求;其中,所述触发消息随机数是所述服务器为所述触发消息生成的随机数。
另一方面,提供了一种服务器,所述服务器包括:
第一生成单元,用于使用触发消息随机数生成符合数据同步协议或设备管理协议规范的触发消息;
发送单元,用于发送所述使用触发消息随机数生成的触发消息到终端,以使所述终端可以提取所述触发消息随机数,在确认所述触发消息随机数有效时,使用所述触发消息随机数对所述使用触发消息随机数生成的触发消息进行认证,在认证通过后,向所述触发消息指示的服务器发起会话请求;其中,所述触发消息随机数是所述服务器为所述触发消息生成的随机数。
另一方面,提供了一种终端,所述终端包括:
接收单元,用于接收服务器使用触发消息随机数生成的符合数据同步协议或设备管理协议规范的触发消息;
第一认证单元,用于提取所述触发消息随机数,在确认所述触发消息随机数有效时,使用所述触发消息随机数生成摘要对所述使用触发消息随机数生成的触发消息进行认证,在认证通过后,向所述触发消息指示的服务器发起会话请求;其中,所述触发消息随机数是所述服务器为所述触发消息生成的随机数。
另一方面,提供了一种终端,所述终端包括:
获知单元,用于获知需要更新服务器随机数;
第一生成单元,用于生成新的服务器随机数,并将所述新的服务器随机数携带在会话请求消息中,发送到所述服务器,以使所述服务器可以在收到所述携带有新的服务器随机数的会话请求时,使用所述新的服务器随机数更新自身保存的服务器随机数。
另一方面,提供了一种终端,所述终端包括:
接收单元,用于接收服务器发送的使用缺省随机数生成的符合数据同步协议或设备管理协议规范的触发消息;
生成单元,用于在收到所述触发消息后,首先使用服务器随机数认证所述触发消息,在认证失败后再使用缺省随机数认证触发消息,在认证通过后,使用终端随机数生成会话请求发送到服务器,并生成新的服务器随机数,发送到所述服务器,使所述服务器使用所述新的服务器随机数更新服务器随机数。
通过应用以上的技术方案,可以有效提高系统的安全性。
本发明实施例另一方面,提供了一种使用数据同步协议或设备管理协议进行认证的方法,所述方法包括:
终端接收服务器发送的触发消息;
所述终端在收到所述触发消息后,提取其携带的认证信息对所述服务器进行认证;
认证通过后,终端使用服务器及终端共用随机数生成会话请求,并发送到所述服务器;
以使所述服务器可以在收到所述会话请求后,使用所述共用随机数对所述终端进行认证;
所述终端在收到所述服务器携带有使用所述共用随机数生成的认证信息应答消息后,使用所述共用随机数对所述服务器进行认证。
另一方面,提供了一种服务器,所述服务器包括:
触发单元,用于生成符合数据同步协议或设备管理协议规范的触发消息,并发送到终端,以使所述终端在收到所述触发消息后,对所述触发消息进行认证;
接收单元,用于接收终端返回的使用服务器及终端共用随机数生成的会话请求;
认证单元,用于使用所述共用随机数对所述会话请求进行认证;
生成单元,用于在对所述会话请求认证通过后,使用所述共用随机数生成应答消息,并发送到所述终端,以使所述终端在收到所述应答消息后,使用所述共用随机数对所述应答消息进行认证。
另一方面,提供了一种终端,所述终端包括:
接收单元,用于接收服务器发送的符合数据同步协议或设备管理协议规范的触发消息;
第一认证单元,用于在收到所述触发消息后,对所述触发消息进行认证;
生成单元,用于在认证通过后,使用服务器及终端共用随机数生成会话请求,并发送到所述服务器,以使所述服务器可以在收到所述会话请求后,使用所述共用随机数对所述会话请求进行认证;
第二认证单元,用于在收到所述服务器使用所述共用随机数生成的应答消息后,使用所述共用随机数对所述应答消息进行认证。
通过应用以上的技术方案,服务器和终端在会话过程中使用共用的nonce,替代现有技术的s_nonce和c_nonce完成终端和服务器之间的认证,有效减轻了系统的负担。
附图说明
图1、现有技术的认证方法流程图;
图2、现有技术在用缺省nonce认证并更新s_nonce和c_nonce时的流程图;
图3、本发明实施例提供的进行认证的方法实施例一流程图;
图4、加入nonce值后的消息格式实施例结构图;
图5、s_nonce发生错误时本发明实施例提供的进行认证的方法实施例一流程图;
图6、本发明实施例提供的进行认证的方法实施例二流程图;
图7、本发明实施例提供的进行认证的方法实施例四流程图;
图8、本发明实施例提供的进行认证的方法实施例五的流程图;
图9、本发明实施例提供的进行认证的方法实施例六的流程图;
图10、本发明实施例提供的进行认证的方法实施例七中携带新的s_nonce的状态回复消息格式实施例结构图;
图11、本发明实施例提供的进行认证的方法实施例八流程图;
图12、本发明实施例提供的进行认证的方法实施例九流程图;
图13、本发明实施例提供的进行认证的方法实施例十流程图;
图14、本发明实施例提供的进行认证的系统实施例一结构图;
图15、本发明实施例提供的终端实施例一结构图;
图16、本发明实施例提供的终端实施例二结构图;
图17、本发明实施例提供的进行认证的系统实施例二结构图。
具体实施方式
本发明实施例提供了一种使用数据同步协议或设备管理协议进行认证的方法、系统、服务器及终端,有效优化了使用DS和DM协议的终端和服务器之间的认证过程。
本发明中提到的会话中消息的认证均应用的是应用层安全机制。
本发明实施例提供的进行认证的方法实施例一中,服务器为Trigger消息生成一个不同于s_nonce和c_nonce的供Trigger消息使用的nonce,该nonce可以被称作Trigger消息nonce,服务器使用该nonce生成认证信息,并将该新的nonce及认证信息随Trigger消息发送到终端,终端使用新的nonce对该Trigger消息进行认证。
本发明实施例提供的进行认证的方法实施例一流程如图3所示:
步骤301、服务器发送Trigger消息至终端,该消息中携带有Trigger消息nonce。
发送前,服务器先生成Trigger消息nonce,并使用该nonce生成Digest,再使用该Digest生成Tigger消息。
本实施例提供的使用Trigger消息nonce的方法有两种:
第一种、服务器在生成Tigger消息时取自身的系统时间Ts作为Trigger消息nonce,并把作为Trigger消息nonce的系统时间Ts携带在Trigger消息中,使终端在收到Trigger消息后可以通过比对本地时间Tc与系统时间Ts的差值来确定nonce的有效性。对于nonce而言,其有效性通常被称为该nonce的新鲜性(freshness),新鲜即为有效,否则为无效。
终端在收到Trigger消息时,计算系统时间Ts与终端本地时间Tc的时间差值|Ts-Tc|,若时间差值|Ts-Tc|小于预设的阈值Diff,则该Trigger消息nonce为有效值,否则,该Trigger消息nonce为无效值。
阈值Diff通常配置在终端,可以是根据网络情况确定的经验值。这是因为移动网络本身并不稳定,容易造成Trigger消息的传输延迟,如果阈值设置太小,则容易使得Trigger消息的nonce值无效;如果阈值设置较大,若有恶意服务器截获了Trigger消息,并不断重复发送该消息到终端,只要时间差值|Ts-Tc|在阈值范围内的,都会被终端认为是有效信息,并进行相应处理,随着阈值的增大,系统被攻击的机会也在增大。
第二种、服务器在生成Tigger消息时,对每个Trigger消息进行编号,取该编号作为专用的Trigger消息nonce,并使用该nonce生成Digest,再使用该Digest生成Tigger消息。
编号的方式可以是累加的方式,也可以是递减的方式。终端在收到Trigger消息时,将其携带的nonce与上次保存的nonce数值进行比较,在使用累加方式编号时,如果新的nonce值较大,则认为该nonce值是有效的,否则认为该nonce值是无效的;在使用递减方式编号时,如果新的nonce值较小,则认为该nonce值是有效的,否则认为该nonce值是无效的。
终端在判断新的nonce值有效并认证服务器身份合法后,保存该新的nonce值,用于与下一需判断Trigger消息nonce值进行比较。
使用本方法时,若有恶意服务器截获了Trigger消息,并不断重复发送该消息到终端,对终端进行重放攻击,由于该Trigger消息使用的nonce值已被记录,所有恶意消息都会被判定为无效消息,因此本发明可以有效的防止恶意服务器的攻击。
进一步,由于移动网络的不稳定性,可能会造成后发的消息先到达终端,服务器先后为不同会话发出的Trigger消息,到达终端的顺序有可能会发生变化,造成终端将有效消息判定为无效消息。
例如,服务器先后为3个不同会话发出3个Trigger消息,3个Trigger消息使用的Trigger消息nonce分别为:30、31、32,但是由于移动网络的不稳定性,终端最先收到了nonce为32的Trigger消息,终端判定该消息有效,并记录下了该nonce,另外两个Trigger消息到达终端与终端的记录比较时,就会由于比记录的值小被判定为无效消息。
为此,本实施例提出了三种解决方式:
方式一、终端保存全部或最近收到的Trigger消息nonce,将判断为无效的Trigger消息nonce与保存的值相比较,如果没有相同的,则重新判定该值有效,并保存该值。
在存储空间有限时,可以设定保存空间,在保存的nonce数量到达上限时将保存的最小nonce值删除。
方式二、在Trigger消息nonce编号的方式是累加的方式时,终端保存接收到的最大的值、及小于当前最大值且未收到过的全部或部分的值,将判断为无效的Trigger消息nonce与保存的值相比较,如果没相同的,则重新判定该值有效,并保存该值;在Trigger消息nonce编号的方式是递减的方式时,终端保留接收到的最小的值、及大于当前最小值且未收到过的全部或部分的值,将判断为无效的Trigger消息nonce与保留的值相比较,如果没相同的,则重新判定该值有效,并保存该值。
例如初始值为“1”,编号方式为累加时,终端顺序收到的Trigger消息nonce的值为“1”“2”“4”“5”“7”,则终端记录下最大值“7”,及小于7且未收到的值“3”“6”,若终端收到的Trigger消息nonce的值为“6”,则首先将其与最大值“7”相比较,结果是小于“7”,为无效值,则再与“3”“6”比较,结果是存在相同的值,因此可以判断该Trigger消息nonce有效,终端将其记录的“6“删除。在编号方式为递减时,方法与累加相似,在此不再重复描述。
方式三、在Trigger消息nonce编号的方式是累加的方式时,保存最大的nonce值,所有nonce小于该nonce的Trigger消息均认为是无效的消息;在是递减的方式时,保存最小的nonce值,所有nonce大于该nonce的Trigger消息均认为是无效的消息;服务器在一定时间内没有接到终端的响应消息,则按照编号规则生成新的nonce,重新发送Trigger消息携带此新的nonce。
以上为本实施例提供的使用Trigger消息nonce的方法的描述。
生成Trigger消息时,Trigger消息nonce值可以携带在Trigger消息的消息头或消息体中。以消息头中携带为例,加入nonce值后的消息格式实施例如图4所示,包括:摘要(Digest)、触发消息头(trigger-hdr)、触发消息体(trigger-body)。
其中,trigger-hdr包括:版本(version)、用户交互模式(ui-mode)、会话发起方(initiator)、随机数(nonce)、保留字段(future-use)、会话标识(sessionid)、服务器标识符长度(length-identifier)、服务器标识符(server-identifier)。
同时,本实施例提供了两种使用Trigger消息nonce生成Digest的方法:
方法一、设定:H=MD5哈希函数(hashing function),b64=Base64编码函数,则Digest使用公式可以表述为:
Digest=H(B64(H(server-identifier:password)):nonce:B64(H(trigger)))
其中,server-identifier为服务器标识符字段的值,密码(password)为服务器的密码,nonce为随机数字段的值,trigger为Trigger消息的trigger-hdr与trigger-body字段的值。
终端收到Trigger消息并判断该Trigger消息携带的Trigger消息nonce有效后,在终端管理树上查找该服务器对应的密码,使用查找的密码、及Trigger消息中的server-identifier、nonce、trigger生成Digest,比较终端生成的Digest与消息中携带的Digest是否相同,相同则认证通过,否则认证失败。
方法二、设定:H=MD5哈希函数(hashing function),b64=Base64编码函数。
由于nonce是携带在消息头或消息体中的,nonce就成为了Trigger消息的trigger-hdr与trigger-body字段的一部分,因此计算Digest可以只使用Trigger消息的trigger-hdr与trigger-body字段,则Digest使用公式可以表述为:
Digest=H(B64(H(server-identifier:password)):B64(H(trigger)))
其中,server-identifier为服务器标识符字段的值,密码(password)为服务器的密码,trigger为Trigger消息的trigger-hdr与trigger-body字段字段的值。
终端收到Trigger消息并判断该Trigger消息携带的Trigger消息nonce有效后,在终端管理树上查找该服务器对应的密码,使用查找的密码、及Trigger消息中的server-identifier、trigger生成Digest,比较终端生成的Digest与消息中携带的Digest是否相同,相同则认证通过,否则认证失败。
步骤302、终端判断该信息有效,且对该信息认证通过后,发送会话请求消息至服务器。
终端收到Trigger消息后,首先判断该Trigger消息携带的Trigger消息nonce是否有效,判断方法见上文描述,有效再在终端管理树上查找该服务器对应的密码,使用查找的密码、及Trigger消息中的server-identifier、trigger生成Digest,对该Trigger消息进行认证,详细认证方法可参考步骤301中的描述,根据不同的生成Digest的方法,终端生成Digest认证的方法也会不同。
若认证通过,则发送会话请求消息至服务器,发起会话。
该会话请求消息中携带有:SessionID、包含使用c_nonce生成的Digest的Authenticate。
从本步骤开始终端与服务器正式建立会话连接。
步骤303、服务器返回包含认证结果和认证请求的应答消息。
服务器根据终端发送来的Authenticate对终端进行认证,然后向终端返回包含认证结果和认证请求的应答消息。
该应答消息携带有:服务器对终端的身份认证结果、SessionID、包含使用s_nonce生成的Digest的Authenticate。
步骤304、终端返回包含认证结果的消息至服务器。
终端根据服务器发送来的Authenticate对服务器进行认证,然后向服务器返回包含认证结果的消息。
该消息携带有:终端对服务器的身份认证结果、及其他相关消息。
进一步,在使用累加的方式进行Trigger消息nonce编号时,随着Trigger消息的增多,nonce的值会越来越大;在使用递减的方式进行Trigger消息nonce编号时,nonce的值会递减到“0”;在这些时候,可能需要对nonce进行调整,例如调整计数起点,因此本实施例提供了在需要时对nonce进行调整的方法:
方法一、服务器每隔一段时间都会更新其在终端的账号密码,可以在服务器更新其在终端的账号密码时,服务器和终端双方自动重置nonce计数值。
方法二、在需要对nonce进行调整时,例如预定的时间到了、计数达到预定的值,服务器下发命令直接重置nonce值,该命令可以是警告(Alert)命令,例如:
<Alert>
<CmdID>1</CmdID>
<Data>1227</Data><!--nonce计数重置-->
</Alert>
服务器在对nonce进行调整后,下发命令,更改其在终端的账号密码,以防止恶意服务器截获消息后进行攻击。
方法三、由于服务器可以直接对终端的终端管理树进行操作,因此服务器可以在终端管理树上的其账号信息中增加一节点,用以保存终端收到并保留的nonce值,该节点可以为:
<X>/AppAuth/<X>/SNAAuthCount
然后在需要对nonce进行调整时,例如预定的时间到了、计数达到预定的值,对该节点下发重置(Replace)命令进行重置。命令实例如下:
服务器在对nonce进行调整后,下发命令,更改其在终端的账号密码,以防止恶意服务器截获消息后进行攻击。
方法四、在需要对nonce进行调整时,例如预定的时间到了、计数达到预定的值,终端向服务器发送重置请求,在接收到服务器的确认后双方对nonce进行调整。在调整完成后服务器更新终端其在终端的账号密码,以防止恶意服务器截获消息后进行攻击。
在本发明实施例提供的进行认证的方法实施例一中,提供了一个不同于s_nonce和c_nonce的供Trigger消息使用的nonce,每次发起新的会话,服务器都会生成Trigger消息专用的nonce,用于触发会话,终端使用该nonce对Trigger消息进行认证,即使服务器保存的s_nonce是错误的,终端仍然可以发起会话,此时若s_nonce或c_nonce发生了错误,都可以通过交互方式更新s_nonce或c_nonce,以完成认证。
以s_nonce发生错误为例,本发明实施例提供的进行认证的方法实施例一流程如图5所示:
步骤501、服务器发送Trigger消息至终端,该消息中携带有Trigger消息nonce。
发送前,服务器先生成Trigger消息nonce,并使用该nonce生成Digest,再使用该Digest生成Tigger消息。
步骤502、终端判断该Trigger消息携带的Trigger消息nonce有效,且对该信息认证通过后,发送会话请求消息至服务器。
终端收到Trigger消息后,首先判断该Trigger消息携带的Trigger消息nonce是否有效,判断方法见上文描述,若有效则在终端管理树上查找该服务器对应的密码,使用查找的密码、及Trigger消息的server-identifier、trigger生成Digest,对该Trigger消息进行认证,详细认证方法可参考步骤301中的描述,根据不同的生成Digest的方法,终端生成Digest认证的方法也会不同。
若认证通过,则发送会话请求消息至服务器,发起会话。
该会话请求消息中携带有:SessionID、包含使用c_nonce生成的Digest的Authenticate。
从本步骤开始终端与服务器正式建立会话连接。
步骤503、服务器返回包含认证结果和认证请求的应答消息。
服务器根据终端发送来的Authenticate对终端进行认证,然后向终端返回包含认证结果和认证请求的应答消息。
该应答消息携带有:服务器对终端的身份认证结果、SessionID、包含使用s_nonce生成的Digest的Authenticate。
步骤504、终端使用自生保存的s_nonce对服务器进行认证,认证失败。
步骤505、终端发送质询及s_nonce更新消息至服务器。
步骤506、服务器使用新的s_nonce生成认证信息并重发认证请求至终端。
服务器收到更新消息后,根据终端的指示更新自身保存的s_nonce,并使用更新后的s_nonce生成新的认证请求,并将更新结果及新的认证请求发送到服务器。
步骤507、终端返回包含认证结果的消息至服务器。
终端根据服务器发送来的使用更新后的s_nonce生成新的认证请求对服务器进行认证,然后向服务器返回包含认证结果的消息。
该消息携带有:终端对服务器的身份认证结果、及其他相关消息。
在本发明实施例提供的进行认证的方法实施例一中,每次发起新的会话,服务器都会生成Trigger消息专用的nonce,用于触发会话,在本发明实施例提供的进行认证的方法实施例二中,则可以只在服务器认为s_nonce错误时,生成Trigger消息专用的nonce,用于触发会话。
本发明实施例提供的进行认证的方法实施例二流程如图6所示:
步骤601、服务器发送Trigger消息至终端,该消息中携带有s_nonce。
步骤602、服务器发现认证失败。
在一定时间内服务器没有收到终端返回的消息,可以认为是认证失败了。
步骤603、服务器发送新的Trigger消息至终端,该消息中携带有Trigger消息nonce。
发送前,服务器先生成Trigger消息nonce,并使用该nonce生成Digest,再使用该Digest生成Tigger消息。
步骤604、终端判断Trigger消息携带的Trigger消息nonce有效,且对该Trigger消息认证通过后,发送会话请求消息至服务器。
终端收到Trigger消息后,可以通过判断Trigger消息是否使用了Trigger消息nonce,来决定使用s_nonce还是使用Trigger消息nonce进行认证。
判断的方法,可以是通过判断Trigger消息中是否有nonce字段来判断Trigger消息是否使用了Trigger消息nonce,即含有nonce字段时说明Trigger消息使用了Trigger消息nonce;或者可以通过判断Trigger消息的version字段信息来判断Trigger消息是否使用了Trigger消息nonce,这是因为从消息的version可以获知该消息是否使用了Trigger消息nonce。
终端收到Trigger消息后,首先判断该Trigger消息携带的Trigger消息nonce是否有效,判断方法见上文描述,有效再在终端管理树上查找该服务器对应的密码,使用查找的密码、及Trigger消息中的server-identifier、trigger生成Digest,对该Trigger消息进行认证,详细认证方法可参考步骤301中的描述,根据不同的生成Digest的方法,终端生成Digest认证的方法也会不同。
若认证通过,则发送会话请求消息至服务器,发起会话。
该会话请求消息中携带有:SessionID、包含使用c_nonce生成的Digest的Authenticate。
从本步骤开始终端与服务器正式建立会话连接。
步骤605、服务器返回包含认证结果和认证请求的应答消息。
本步骤与步骤503基本类似,在此不再详细描述。
步骤606、终端使用自身保存的s_nonce对服务器进行认证,认证失败。
步骤607、终端发送包含质询及新的s_nonce的消息至服务器。
步骤608、服务器返回更新结果及新的认证请求至终端。
本步骤与步骤506基本类似,在此不再详细描述。
步骤609、终端返回包含认证结果的消息至服务器。
本步骤与步骤507基本类似,在此不再详细描述。
在本发明实施例提供的进行认证的方法实施例二中,在服务器认为s_nonce错误时,生成Trigger消息专用的nonce,用于触发会话,终端依然按照本发明实施例提供的进行认证的方法实施例一的方式对该Trigger消息进行处理。在本发明实施例提供的进行认证的方法实施例三中,终端可以通过判断该Trigger消息是否使用了Trigger消息专用的nonce,确定是否需要更新s_nonce,在该Trigger消息使用了Trigger消息专用的nonce时,直接进行s_nonce更新,使服务器可以直接使用更新后的s_nonce进行会话中的认证。
使用本发明实施例提供的进行认证的方法实施例一、二提供的技术方案,在认证失败时,将不再需要使用缺省nonce完成认证,提高了系统的安全性。
同时,本发明实施例提供的进行认证的方法实施例三,在现有技术的基础上,更新过s_nonce和c_nonce后,相应的更新服务器密码和终端密码,更新服务器密码可以使得使用缺省nonce生成的服务器的Digest不同,可以防止对终端的消息重放攻击,更新终端密码可以使得使用缺省nonce生成的终端的Digest不同,可以防止对服务器的消息重放攻击,可以提高系统的安全性。
进一步,本发明实施例提供的进行认证的方法实施例四,在现有技术的基础上,强化步骤之间的关联,以前一步骤作为后一步骤的认证基础,以提高系统的安全性,其流程如图7所示:
步骤701、终端接收到用于触发会话的Trigger消息,并对其进行认证。
步骤702、终端对该Trigger消息认证失败,使用缺省nonce值重新认证。
步骤703、终端向服务器发送使用缺省nonce生成的会话请求消息
若用缺省nonce认证通过则终端向Trigger消息指示的服务器发送会话请求消息,在会话使用应用层安全时在该消息中携带使用缺省nonce生成的认证信息,进入步骤704。若用缺省nonce认证失败则终端忽略该Trigger消息,无会话发起,流程结束。
步骤704、服务器认证终端发送的会话请求消息。
在会话使用了应用层安全机制,且该服务器发送过使用缺省nonce生成的Trigger消息给终端,且该Trigger消息为触发该会话请求消息的Trigger消息时,使用缺省nonce对该会话请求消息进行认证,认证通过后进入步骤705。
判断某会话请求消息是否是被某Trigger消息触发的方法为:每个会话请求消息会有一个唯一的会话标识,比较该会话请求消息所携带的会话标识和该Trigger消息所携带的会话标识是否相同,若相同则表示该会话是由该Trigger消息触发。
判断服务器是否发送过使用缺省nonce生成的Trigger消息给终端,且该Trigger消息为触发该会话请求消息的Trigger消息,可以发生在使用缺省nonce对该会话请求消息进行认证之后,在认证通过后进行判断,判断通过进入步骤705。
本步骤的意义在于,若服务器未发送过使用缺省nonce生成的用以触发该会话的Trigger消息给终端,却收到了终端发送的使用缺省nonce生成的会话请求消息,则说明该消息不是一个正常安全的消息,有很大几率是恶意第三方发送的欺骗性消息,可以丢弃处理,因此,采用本步骤后,可以提高系统的安全性。
步骤705、服务器向终端返回应答消息。
服务器向终端返回包含认证结果、认证请求和c_nonce更新命令的应答消息。
步骤706、终端认证服务器发送的应答消息。
在会话使用了应用层安全机制时,终端使用缺省nonce认证服务器,认证通过并更新c_nonce后进入步骤707。
进一步,本步骤也可以,在会话使用了应用层安全机制,且终端发送过使用缺省nonce生成的会话请求消息给服务器时,终端使用缺省nonce认证该消息,认证通过并更新c_nonce后进入步骤707。
该步骤中判断终端是否发送过使用缺省nonce生成的会话请求消息给服务器,可以发生在使用缺省nonce对该消息进行认证之后,在认证通过后进行判断,判断通过进入步骤707。
步骤707、终端向服务器返回应答消息。
终端向服务器返回包含认证结果、c_nonce更新结果及s_nonce更新命令的应答消息。
步骤708、服务器返回s_nonce更新结果至终端。
在完成上述步骤后,为了防止重放攻击,可以选择更新服务器密码,或者同时更新服务器密码及终端密码。
通过应用本发明实施例提供的进行认证的方法实施例三、四,可以有效提高系统的安全性。
现有技术中,在s_nonce错误需要更新时,需要进行4次交互命令才能完成更新,如图2的步骤203到步骤204,由于在更新完成前,都需要使用缺省nonce,安全风险较大,消息在移动网络中的交互次数过多,也加大了网络负担。
本发明实施例提供的进行认证的方法实施例还提供了在终端发送的会话请求消息中携带新的s_nonce的技术方案,这样服务器就可以直接进行s_nonce更新,并使用新的s_nonce进行认证,既减少了信令交互的次数,也减少了使用缺省nonce的次数,增加了系统的安全性,也减轻了网络负担。
本发明实施例提供的进行认证的方法实施例五流程如图8所示:
步骤801、终端获知需要更新s_nonce。
终端判断出s_nonce已经过期,或者发现服务器保存的s_nonce与终端保存的不一致时,可以获知需要更新s_nonce。
终端发现服务器保存的s_nonce与终端保存的不一致的方法可以为:
终端收到Trigger消息后,使用保存的s_nonce对该Trigger消息进行认证,当由于某种原因认证失败时,终端使用缺省nonce值生成Digest对该Trigger消息重新进行认证。
若认证通过,则说明服务器其之前使用的s_nonce错误,服务器保存的s_nonce与终端保存的不一致。
步骤802、终端发送包含更新信息的会话请求消息至服务器。
终端在获知需要更新s_nonce时,生成新的s_nonce,并将该s_nonce携带在会话请求消息中发送至服务器请求发起会话,并使服务器更新s_nonce。
该会话请求消息中携带有:SessionID、新生成的s_nonce、包含使用c_nonce值生成的Digest的Authenticate。此会话请求消息中,也可以使用缺省nonce值生成的Digest。
新生成的s_nonce可以携带在会话请求消息(SyncML)的消息头(SyncHdr)或消息体(SyncBody)。
以下以携带在消息头中为例说明携带方法。
为了携带s_nonce,对消息头的定义进行如下修改:
SyncHdr(VerDTD,VerProto,SessionID,MsgID,Target,Source,RespURI?,NoResp?,Cred?,Chal?,Meta?)>
则携带s_nonce的SyncML消息为:
步骤803、服务器返回包含认证结果、更新结果、及认证请求的应答消息。
服务器收到该会话请求消息后,使用c_nonce值对终端进行认证,并使用该会话请求消息携带的更新后的s_nonce更新其保存的s_nonce;认证通过,更新成功后,再使用更新过的s_nonce生成认证请求,并向终端返回包含认证结果、更新命令及认证请求的应答消息。
该应答消息携带有:服务器对终端的身份认证结果、s_nonce更新结果、及包含使用更新后s_nonce值生成的Digest的Authenticate。
步骤804、终端返回包含认证结果的消息至服务器。
终端使用更新后s_nonce值对服务器进行认证,认证通过后,向服务器返回认证结果。
进一步本发明实施例提供的进行认证的方法实施例五也可以应用在本发明实施例提供的进行认证的方法实施例二中,以减少信令交互的次数。
本发明实施例提供的进行认证的方法实施例六的流程图如图9所示:
步骤901、服务器发送Trigger消息至终端,该消息中携带有s_nonce。
步骤902、服务器发现认证失败。
例如,在一定时间内服务器没有收到终端的会话请求,则可以认为是认证失败了。
步骤903、服务器发送Trigger消息至终端,该消息中携带有Trigger消息nonce。
发送前,服务器先生成Trigger消息nonce,并使用该nonce生成Digest,再使用该Digest生成Tigger消息。
步骤904、终端发现需要更新s_nonce。
终端收到该Trigger消息后,判断该Trigger消息是否使用了Trigger消息专用的nonce,确定是否需要更新s_nonce,发现在该Trigger消息使用了Trigger消息专用的nonce,需要进行s_nonce更新。
判断该Trigger消息是否使用了Trigger消息专用的nonce的方法,可以是通过判断Trigger消息中是否有nonce字段来判断Trigger消息是否使用了Trigger消息nonce,即含有nonce字段时说明Trigger消息使用了Trigger消息nonce;或者可以通过判断Trigger消息的version字段信息来判断Trigger消息是否使用了Trigger消息nonce,这是因为version字段信息中包含有Trigger消息是否使用了Trigger消息nonce的消息。
若发现在该Trigger消息使用的不是Trigger消息nonce时,则说明不需要进行s_nonce更新,直接进入普通处理流程即可。
步骤905、终端发送包含更新信息的会话请求消息至服务器。
终端收到Trigger消息,且确定其使用了Trigger消息专用的Trigger消息nonce后,首先判断该Trigger消息携带的Trigger消息nonce是否有效,判断方法见上文描述,有效再在终端管理树上查找该服务器对应的密码,使用查找的密码、server-identifier、trigger生成Digest,对该Trigger消息进行认证,详细认证方法可参考步骤301中的描述,根据不同的生成Digest的方法,终端生成Digest认证的方法也会不同。
终端对该Trigger信息认证通过后,生成新的s_nonce,并将该s_nonce携带在会话请求消息中,作为包含更新信息的会话请求消息发送至服务器,发起会话,并使服务器更新s_nonce。
该会话请求消息中携带有:SessionID、更新后的s_nonce、包含使用c_nonce值生成的Digest的Authenticate。
其中,新生成的s_nonce可以携带在会话请求消息的消息头(SyncHdr)或消息体(SyncBody)。
步骤906、服务器返回包含认证结果、更新结果、及认证请求的应答消息。
服务器收到该会话请求消息后,使用c_nonce值对终端进行认证,并使用该会话请求消息携带的更新后的s_nonce更新其保存的s_nonce;认证通过,更新成功后,使用更新过的s_nonce生成认证请求,并向终端返回包含认证结果、更新结果、及认证请求的应答消息。
该应答消息携带有:服务器对终端的身份认证结果、s_nonce更新结果、及包含使用更新后s_nonce值生成的Digest的Authenticate。
步骤907、终端返回包含认证结果的消息至服务器。
终端使用更新后s_nonce值对服务器进行认证,认证通过后,向服务器返回认证结果。
该消息携带有:对服务器的身份认证结果、及其他相关消息。
在现有技术中有些时候,终端在认证服务器通过后,可能决定不发起会话,此时若已经发现s_nonce过期或错误,需要更新,将无法更新s_nonce,无法有效维护s_nonce。
因此本发明实施例提供的进行认证的方法实施例七中,提供了相应的解决方案。
在本发明实施例提供的进行认证的方法实施例七中,终端在认证服务器通过后,并决定不发起会话时,会向服务器发送一个状态回复消息,当终端判断出s_nonce已经过期,或服务器保存的与终端保存的不一致时,生成新的s_nonce,在该状态回复消息中携带新的s_nonce、使用c_nonce、终端用户名、密码、回复消息体等计算出的Digest,使服务器收到该状态回复消息后,可以根据使用c_nonce、终端用户名、密码、回复消息体等计算出的Digest对该信息进行认证,在认证通过后根据该状态回复消息中携带新的s_nonce更新其自身保存的s_nonce。
该携带新的s_nonce的状态回复消息格式实施例如图10所示,包括:摘要(Digest)、通知消息头(notification-hdr)、通知消息体(notification-body)。
其中,notification-hdr包括:版本(version)、状态码(status-code)、对应的通知消息标识(Notification-ID)、新随机数(Next-nonce)、保留(future-use)、会话标识(sessionid)、认证标识长度(length-authname)、认证标识(authname)。
其中的NextNonce即携带的新s_nonce。
在现有技术中,s_nonce出现问题后,s_nonce和c_nonce都不再使用,终端和服务器都使用缺省nonce生成认证信息,这样就造成恶意服务器截获任何一个消息都有可能攻击服务器或终端。
而s_nonce和c_nonce是两个不同的值,分别由服务器和终端生成,供对方使用,所以一个出现问题并不影响另外一个,本发明实施例提供的进行认证的方法实施例八、及九中,在s_nonce出现问题时,提供了单独更新s_nonce的解决方案。
s_nonce出现问题的状况包括:终端判断出s_nonce已经过期,或者发现服务器保存的s_nonce出了问题,例如终端判断出服务器保存的s_nonce与终端的s_nonce不一致、不同步。
其中,判断服务器保存的s_nonce与终端的s_nonce不一致、不同步的方法包括:服务器使用s_nonce发出触发消息后,一定时间内没有收到终端回复的信息;或者是终端发现服务器发送的Trigger消息中使用缺省nonce生成Digest;或者是终端发现服务器发送的Trigger消息中没有使用nonce等。
终端在发现s_nonce出现问题,并对服务器身份认证通过后,发起会话请求,会话请求消息中认证终端身份的认证信息用c_nonce生成或者使用基础(basic)认证方式,即用户名加密码的认证方式,进一步进行s_nonce的更新。
本实施例提供了两种更新s_nonce的方法:进行认证的方法实施例七、与进行认证的方法实施例八。
本发明实施例提供的进行认证的方法实施例八中,以服务器使用缺省nonce值生成Trigger消息为例进行描述,其流程如图11所示:
步骤1101、服务器发送用于触发会话的Trigger消息至终端。
服务器判断其之前使用的s_nonce错误后,使用缺省nonce值生成Trigger消息发送到终端,该Trigger消息中携带有:使用缺省nonce值生成的Digest、TriggerInfo、及其他相关消息。
步骤1102、终端对该Trigger消息认证失败,使用缺省值重新认证。
终端收到Trigger消息后,使用保存的s_nonce生成Digest对该Trigger消息进行认证,当由于某种原因认证失败时,终端使用缺省nonce值生成Digest对该Trigger消息重新进行认证。
若认证通过,则说明服务器其之前使用的s_nonce错误,服务器保存的s_nonce与终端保存的不一致。
步骤1103、终端发送包含更新信息的会话请求消息至服务器。
终端使用缺省nonce值认证通过后,生成新的s_nonce,并将该s_nonce携带在会话请求消息中,作为包含更新信息的会话请求消息发送至服务器,发起会话,并使服务器更新s_nonce。
该会话请求消息中携带有:SessionID、更新后的s_nonce、包含使用c_nonce值生成的Digest的Authenticate。
在会话请求消息中携带更新后的s_nonce的方法与实施例三及四基本相同。
步骤1104、服务器返回包含认证结果、更新结果及认证请求的应答消息。
服务器收到该会话请求消息后,使用c_nonce值对终端进行认证,并使用该会话请求消息携带的更新后的s_nonce更新其保存的s_nonce;认证通过,更新成功后,再使用更新过的s_nonce生成认证请求,向终端返回包含认证结果、更新结果及认证请求的应答消息。
该应答消息携带有:服务器对终端的身份认证结果、s_nonce更新结果、及包含使用更新后s_nonce值生成的Digest的Authenticate。
步骤1105、终端返回包含认证结果的消息至服务器。
终端使用更新后s_nonce值对服务器进行认证,认证通过后,向服务器返回认证结果。
本发明实施例提供的进行认证的方法实施例九中,以服务器使用缺省nonce值生成Trigger消息,但不在会话请求中携带更新信息为例进行描述,其流程如图12所示:
步骤1201、服务器发送用于触发会话的Trigger消息至终端。
服务器判断其之前使用的s_nonce错误后,使用缺省nonce值生成Trigger消息发送到终端,该Trigger消息中携带有:使用缺省nonce值生成的Digest、TriggerInfo、及其他相关消息。
步骤1202、终端对该Trigger消息认证失败,使用缺省值重新认证。
终端收到Trigger消息后,使用保存的s_nonce生成Digest对该Trigger消息进行认证,当由于某种原因认证失败时,终端使用缺省nonce值生成Digest对该Trigger消息重新进行认证。
若认证通过,则说明服务器其之前使用的s_nonce错误,服务器保存的s_nonce与终端保存的不一致。
步骤1203、终端对该信息认证通过后,发送会话请求消息至服务器。
若认证通过,则发送会话请求消息至服务器,发起会话。
该会话请求消息中携带有:SessionID、包含使用c_nonce生成的Digest的Authenticate。
从本步骤开始终端与服务器正式建立会话连接。
步骤1204、服务器返回包含认证结果和认证请求的应答消息。
服务器根据终端发送来的Authenticate对终端进行认证,认证通过,使用缺省nonce生成Authenticate,然后向终端返回包含认证结果和认证请求的应答消息。
该应答消息携带有:服务器对终端的身份认证结果、SessionID、包含使用缺省nonce生成的Digest的Authenticate。
步骤1205、终端返回更新命令、及认证结果到服务器。
终端使用缺省nonce对服务器进行认证,认证通过后,生成新的s_nonce,并发送s_nonce更新命令、及对服务器的认证结果到服务器
步骤1206、服务器返回更新结果至终端。
服务器收到更新消息后,根据终端的指示更新自身保存的s_nonce,并将更新结果返回给终端。
此时为了提供系统的可靠性,可对服务器密码进行更新。
由以上描述可以看出,在s_nonce出现问题时只更新s_nonce,不更新c_nonce,即使系统在处理s_nonce错误时使用缺省nonce进行认证,但由于不需要更新c_nonce,终端可以使用c_nonce生成会话请求,减少了使用缺省nonce的次数,系统的安全性得到了提高。
另外,由于一个会话当中使用的s_nonce和c_nonce,分别由终端、服务器生成并更新,因此造成终端、服务器的管理负担较重。
在本发明实施例提供的进行认证的方法实施例十中,一个会话当中使用相同的nonce,替代现有技术的s_nonce和c_nonce完成终端和服务器之间的认证,这是由于在同一会话中,有传输层安全或应用层安全认证保证,所以可以使用相同的nonce完成终端和服务器之间的认证。
该nonce可以由服务器生成,也可以由终端生成,下面将以由服务器生成为例对本发明实施例提供的进行认证的方法实施例十进行详细描述。
本发明实施例提供的进行认证的方法实施例十提供了两种更新nonce值的两种方法,分述如下:
方法一、由服务器进行nonce值的更新。
首先由服务器下发更新随机数命令(NextNonce),在NextNonce命令中携带新nonce。
终端接收到该NextNonce命令后,使用该NextNonce命令中携带的新nonce更新自身保存的nonce值。
该更新命令可以携带在认证消息,即在该消息中携带了更新命令和服务器的认证信息;或其它管理消息中,即在该消息中没有携带服务器的认证信息。若该更新命令携带在认证消息中,则终端收到该消息后,根据NextNonce命令先更新nonce,再使用更新后的nonce生成Digest对该信息进行认证,认证必然会通过,此时若有其它恶意服务器截获了该消息,就可以在任何时间对终端进行重放攻击。为了防止这种情况的出现,在认证消息中携带NextNonce命令时,使用未更新前的nonce生成的Digest,终端在收到消息后,先使用更新前的nonce生成的Digest进行认证,在认证通过后,再根据NextNonce命令对自身保存的nonce值进行更新;若在其它管理消息中携带nonce更新命令,则由于新nonce和认证信息分开在两个不同的消息中发送给对方,所以不存在重放攻击风险。
以使用应答消息携带NextNonce命令为例,流程如图13所示:
步骤1301、服务器发送用于触发会话的Trigger消息至终端。
该触发消息中携带有:使用共用nonce生成的Digest、TriggerInfo。
共用nonce为服务器生成,供服务器与终端使用。
在实际使用时,本步骤中的共用nonce也可以是触发消息nonce、或缺省nonce,在有些时候服务器也可以不使用nonce,直接使用服务器ID和密码生成用于触发会话的Trigger消息,而终端也直接使用服务器ID和密码生成Digest该Trigger消息进行认证。
步骤1302、终端发送会话请求消息至服务器。
终端收到Trigger消息后,使用保存的s_nonce生成Digest对该Trigger消息进行认证,认证通过,则发送会话请求消息至服务器,发起会话。
该会话请求消息中携带有:SessionID、包含使用共用nonce生成的Digest的Authenticate。
从本步骤开始终端与服务器正式建立会话连接。
步骤1303、服务器返回包含认证结果和认证请求的应答消息,并在该应答消息中携带NextNonce命令。
服务器根据终端发送来的Authenticate对终端进行认证,认证通过,并发现共用nonce需要更新时,生成新的共用nonce,然后向终端返回包含认证结果和认证请求的应答消息,并在该应答消息中携带NextNonce命令。
该应答消息携带有:服务器对终端的身份认证结果、SessionID、包含使用更新前nonce生成的Digest的Authenticate、包含新的nonce的NextNonce命令。
步骤1304、终端收到该应答消息后,使用更新前的nonce对该消息进行认证。
步骤1305、认证通过,终端根据NextNonce命令的指示,使用NextNonce命令携带的新的nonce更新自身保存的共用nonce。
步骤1306、终端返回包含认证结果、更新结果的消息至服务器。
该消息携带有:终端对服务器的身份认证结果、共用nonce的更新结果、及其他相关消息。
由于服务器和终端对共用nonce有效时间的定义可能不同,服务器判断共用nonce有效时,可能对于终端而言已经到达有效时限了,因此为了保持共用nonce对终端的有效性,本发明实施例提供的进行认证的方法实施例十中,提供了终端请求服务器更新共用nonce的技术方案。
终端可以使用DM命令中的提醒(Alert)命令向服务器请求更新共用nonce,为了使得服务器可以理解该命令,为其增加一个Alert类型以表示请求服务器更新nonce。
终端在认为共用nonce需要更新的时候,通过该Alert命令向服务器发送共同nonce更新请求,该消息可以携带在认证消息中或其它管理消息中,服务器收到该消息后,根据具体情况决定是否更新。
Alert类型可以定义为:org.openmobilealliance.NextNonce。
该Alert类型的消息实例可以为:
由终端进行nonce值更新的方法与由服务器进行nonce值的更新的方法类似,这里不再赘述。
方法二、由服务器和终端共同进行nonce的更新。
服务器判断共用nonce需要更新时,生成一个新的nonce进行更新,终端也可以在判断共用nonce需要更新时,生成一个新的nonce进行更新。
该更新nonce的方法可以是:通过NextNonce命令进行,实例如下:
该NextNonce命令可以携带在会话过程中的消息中,例如,终端可以将该NextNonce命令,携带在会话请求中,发送到服务器,请求服务器更新共用nonce;也可以使用其它消息发送NextNonce命令。
不管是服务器进行共同nonce更新还是终端进行共同nonce的更新,若该更新命令携带在认证消息中,则对端收到该消息后,先更新nonce,再使用更新后的nonce生成Digest对该信息进行认证,认证必然会通过,此时若有其它恶意服务器截获了该消息,就可以在任何时间对终端进行重放攻击。为了防止这种情况的出现,在认证消息中携带NextNonce命令时,可以使用更新前的nonce生成Digest对该信息进行认证,在认证通过后,再根据NextNonce命令对自身保存的nonce值进行更新;若使用其它管理消息携带该nonce更新命令,则由于新nonce和认证信息分开在两个不同的消息中发送给对方,所以不存在攻击风险。
在本发明实施例提供的进行认证的方法实施例十中,服务器和终端使用共用的nonce进行认证,此时如果共用nonce出错,可以使用以上所述的任何一种方式进行处理,在使用本发明实施例提供的进行认证的方法实施例五时,步骤803中将携带新的nonce、及用该nonce生成的Digest,此时若有恶意服务器截获了该消息,就可以向服务器或终端不断重复发送该消息,进行重放攻击,服务器或终端将无法识别,均认为是有效信息,并进行相应操作,为了防止这种情况,可以使用未更新前的nonce生成Digest,这样服务器在接收到消息后首先使用未更新前的nonce计算Digest以认证消息发送者,即终端,在认证通过后,再根据NextNonce命令对自身保存的nonce值进行更新。
使用本发明实施例提供的进行认证的方法实施例十可以有效的减轻系统的负担。
本发明实施例提供的进行认证的系统实施例一结构如图14所示,包括:
服务器1410,用于使用触发消息随机数生成触发消息,并发送所述使用触发消息随机数生成的触发消息;
终端1420,用于接收所述使用触发消息随机数生成的触发消息,并使用所述触发消息随机数对所述使用触发消息随机数生成的触发消息进行认证,认证所述使用触发消息随机数生成的触发消息的有效性。
其中,服务器1410内又包括:
第一生成单元1412,用于使用触发消息随机数生成触发消息;
发送单元1411,用于发送所述使用触发消息随机数生成的触发消息;
第二生成单元1417,用于使用服务器随机数生成触发消息,并将所述使用服务器随机数生成的触发消息发送到所述终端;
判断单元1413,用于在发现终端对所述使用服务器随机数生成的触发消息认证失败时,控制所述第一生成单元1412使用触发消息随机数生成触发消息;
时间单元1414,用于在所述第一生成单元1412使用触发消息随机数生成触发消息时,取所述服务器的系统时间,并将所述系统时间携带在所述使用触发消息随机数生成的触发消息中;
编码单元1415,用于对所述第一生成单元使用触发消息随机数生成的触发消息进行编号,使用所述编号作为所述触发消息随机数;
随机数重置单元1416,用于根据需要对所述编码单元1415生成的触发消息随机数进行调整。
其中,编码单元1415内又包括:
累加编码单元14151,用于使用累加的方式对所述使用触发消息随机数生成的触发消息进行编号;
递减编码单元14152,用于使用递减的方式对所述使用触发消息随机数生成的触发消息进行编号。
其中,终端1420内又包括:
接收单元1421,用于接收所述使用触发消息随机数生成的触发消息;
第一认证单元1422,用于使用所述触发消息随机数对所述使用触发消息随机数生成的触发消息进行认证,认证所述使用触发消息随机数生成的触发消息的有效性。
第二认证单元1425,用于在收到所述使用服务器随机数生成的触发消息时,使用所述服务器随机数对所述使用服务器随机数生成的触发消息进行认证。
第一有效判断单元1423,用于在所述接收单元收到所述使用触发消息随机数生成的触发消息时,取所述终端的本地时间,以所述本地时间与所述系统时间差值的绝对值与预设的值进行比较,在小于所述预设的值时,判断所述触发消息随机数为有效值,并控制所述第一认证单元1422使用所述触发消息随机数对所述使用触发消息随机数生成的触发消息进行认证。
第二有效判断单元1424,用于在所述接收单元收到所述使用触发消息随机数生成的触发消息,根据自身保存的触发消息随机数,判断所述触发消息携带的触发消息随机数有效时,保存所述触发消息携带的触发消息随机数,并控制所述第一认证单元1422使用所述触发消息随机数对所述使用触发消息随机数生成的触发消息进行认证。
所述第二有效判断单元1424包括:
第一编码判断单元14241,用于以所述终端保存的触发消息随机数与所述触发消息携带的触发消息随机数进行比较,在所述触发消息携带的触发消息随机数大于所述保存的最大的触发消息随机数时,或在所述保存的触发消息随机数中不包含所述触发消息携带的触发消息随机数时,判断所述触发消息携带的触发消息随机数有效。
第二编码判断单元14242,用于以所述终端保存的触发消息随机数与所述触发消息携带的触发消息随机数进行比较,在所述触发消息携带的触发消息随机数小于所述保存的最小的触发消息随机数时,或在所述保存的触发消息随机数中不包含所述触发消息携带的触发消息随机数时,判断所述触发消息携带的触发消息随机数有效。
本发明实施例提供的进行认证的系统实施例一的具体运行方式,可参考上文描述的本发明实施例提供的进行认证的方法实施例一、二,在此不再重复描述。
使用本发明实施例提供的进行认证的系统实施例一提供的技术方案,在认证失败时,将不再需要使用缺省nonce完成认证,提高了系统的安全性。
本发明实施例提供的服务器实施例一,与上文描述的本发明实施例提供的进行认证的系统实施例一中的服务器基本一致,在此不再重复描述。
本发明实施例提供的终端实施例一结构如图15所示,包括:
接收单元1501,用于接收服务器发送的触发消息;
第一生成单元1502,用于在收到所述触发消息后,判断服务器随机数需要更新时,生成新的服务器随机数,并将所述新的服务器随机数携带在会话请求中,发送到所述服务器,以使所述服务器可以在收到所述携带有新的服务器随机数的会话请求时,使用所述新的服务器随机数更新自身保存的服务器随机数。
第二生成单元1503,用于在收到触发消息后,决定不发起会话,判断服务器随机数需要更新时,生成新的服务器随机数,并将所述新的服务器随机数携带在状态回复消息中,发送到所述服务器,以使所述服务器可以在收到所述携带有新的服务器随机数的状态回复消息时,使用所述新的服务器随机数更新自身保存的服务器随机数。
本发明实施例提供的终端实施例一的具体运行方式,可参考上文描述的本发明实施例提供的进行认证的方法实施例四、五、六,在此不再重复描述。
使用本发明实施例提供的终端实施例一提供的技术方案,在s_nonce需要更新时,直接在会话请求消息中携带更新命令,可以减少信令交互的次数,有效减轻系统的负荷,并且可以减少使用缺省nonce完成认证的次数,提高了系统的安全性。
本发明实施例提供的终端实施例二,结构如图16所示:
终端1600包括:
接收单元1601,用于接收服务器发送的触发消息;
生成单元1602,用于在收到所述触发消息后,判断服务器随机数需要更新时,使用终端随机数生成会话请求发送到服务器,并生成新的服务器随机数,发送到所述服务器,使所述服务器使用所述新的服务器随机数更新服务器随机数。
密码修改单元1603,用于在使用所述新的服务器随机数更新服务器随机数完成后,修改服务器密码和终端密码。
本发明实施例提供的终端实施例二的具体运行方式,可参考上文描述的本发明实施例提供的进行认证的方法实施例七、八,在此不再重复描述。
使用本发明实施例提供的终端实施例二提供的技术方案,在s_nonce需要更新时,只更新s_nonce,不更新c_nonce,即使系统在处理s_nonce错误时使用缺省nonce进行认证,但由于不需要更新c_nonce,终端可以使用c_nonce生成会话请求,减少了使用缺省nonce的次数,系统的安全性得到了提高。
本发明实施例提供的进行认证的系统实施例二结构如图17所示,包括:服务器1710、及终端1720。
其中,服务器1710内又包括:
触发单元1711,用于使用服务器及终端共用随机数生成触发消息,并发送到终端,以使所述终端在收到所述触发消息后,使用所述共用随机数对所述触发消息进行认证;
接收单元1712,用接收终端返回的使用所述共用随机数生成的会话请求;
认证单元1713,用于使用所述共用随机数对所述会话请求进行认证;
生成单元1714,用于在对所述会话请求认证通过后,使用所述共用随机数生成应答消息,并发送到所述终端,以使所述终端在收到所述应答消息后,使用所述共用随机数对所述应答消息进行认证。
更新单元1715,用于生成所述共用随机数,在需要更新所述共用随机数时,生成新的共用随机数,并发送包含所述新的共用随机数的更新随机数消息到所述终端,以使所述终端在收到所述更新随机数消息时,使用所述新的共用随机数更新共用随机数。
请求单元1716,用于在判断需要更新所述共用随机数时,发送请求更新随机数消息至所述终端,以使所述终端在收到所述请求更新随机数消息,且决定更新后,生成所述新的共用随机数,并发送包含所述新的共用随机数的更新随机数消息。
其中,终端1720内又包括:
接收单元1721,用于接收服务器发送的使用服务器及终端共用随机数生成的触发消息;
第一认证单元1722,用于在收到所述触发消息后,使用所述共用随机数对所述触发消息进行认证;
生成单元1723,用于在认证通过后,使用所述共用随机数生成会话请求,并发送到所述服务器,以使所述服务器可以在收到所述会话请求后,使用所述共用随机数对所述会话请求进行认证,认证所述会话请求的有效性;
第二认证单元1724,用于在收到所述服务器使用所述共用随机数生成的应答消息后,使用所述共用随机数对所述应答消息进行认证。
更新单元1725,用于生成所述共用随机数,在需要更新所述共用随机数时,生成新的共用随机数,并发送包含所述新的共用随机数的更新随机数消息到所述服务器,以使所述服务器在收到所述更新随机数消息时,使用所述新的共用随机数更新共用随机数。
请求单元1726,用于在判断需要更新所述共用随机数时,发送请求更新随机数消息至所述服务器,以使所述服务器在收到所述请求更新随机数消息,且决定更新后,生成所述新的共用随机数,并发送包含所述新的共用随机数的更新随机数消息。
本发明实施例提供的进行认证的系统实施例二的具体运行方式,可参考上文描述的本发明实施例提供的进行认证的方法实施例九,在此不再重复描述。
在本发明实施例提供的进行认证的系统实施例二提供的技术方案中,服务器和终端在会话过程中使用共用的nonce,替代现有技术的s_nonce和c_nonce完成终端和服务器之间的认证,有效减轻了系统的负担。
本发明实施例提供的服务器实施例二、及本发明实施例提供的终端实施例三,与本发明实施例提供的进行认证的系统实施例二种描述的服务器及终端基本一致,在此不再重复描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的一种使用数据同步协议或设备管理协议进行认证的方法、系统、服务器及终端进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (7)
1.一种使用数据同步协议或设备管理协议进行认证的方法,其特征在于,所述方法包括:
终端接收服务器发送的触发消息,所述触发消息是服务器取自身的系统时间作为触发消息随机数生成的;
所述终端比较终端的本地时间与所述触发消息中的触发消息随机数的差值是否小于一个阈值,判断所述触发消息随机数是否有效;
所述终端在确认所述触发消息随机数有效时,使用所述触发消息随机数生成摘要对所述使用触发消息随机数生成的触发消息进行认证,在认证通过后,向所述触发消息指示的服务器发起会话请求。
2.如权利要求1所述的使用数据同步协议或设备管理协议进行认证的方法,其特征在于,在所述服务器使用触发消息随机数生成触发消息之前,所述方法还包括:
所述服务器使用服务器随机数生成触发消息,并将所述使用服务器随机数生成的触发消息发送到终端;
在确定终端对所述使用服务器随机数生成的触发消息认证失败时,所述服务器再使用触发消息随机数生成触发消息。
3.如权利要求1或2所述的使用数据同步协议或设备管理协议进行认证的方法,其特征在于,所述服务器使用触发消息随机数生成的触发消息包括:
所述触发消息随机数携带在所述触发消息的消息头或消息体中,并由所述服务器使用所述触发消息随机数和所述触发消息的消息头和消息体生成摘要,使用所述摘要生成所述触发消息;
或所述触发消息随机数携带在所述触发消息的消息头或消息体中,由所述服务器使用所述触发消息的消息头和消息体生成摘要,使用所述摘要生成所述触发消息。
4.一种服务器,其特征在于,所述服务器包括:
第一生成单元,用于使用自身的系统时间作为触发消息随机数生成符合数据同步协议或设备管理协议规范的触发消息;
发送单元,用于发送所述使用触发消息随机数生成的触发消息到终端,以使所述终端提取所述触发消息随机数,比较终端的本地时间与所述触发消息随机数的差值是否小于一个阈值,判断所述触发消息随机数是否有效,在确认所述触发消息随机数有效时,使用所述触发消息随机数对所述使用触发消息随机数生成的触发消息进行认证,在认证通过后,向所述触发消息指示的服务器发起会话请求。
5.如权利要求4所述的服务器,其特征在于,所述服务器还包括:
第二生成单元,用于使用服务器随机数生成触发消息,并将所述使用服务器随机数生成的触发消息发送到所述终端,以使所述终端使用所述服务器随机数对所述使用服务器随机数生成的触发消息进行认证;
判断单元,用于在发现所述终端对所述使用服务器随机数生成的触发消息认证失败时,控制所述第一生成单元使用触发消息随机数生成触发消息。
6.一种终端,其特征在于,所述终端包括:
接收单元,用于接收服务器使用自身的系统时间作为触发消息随机数生成的符合数据同步协议或设备管理协议规范的触发消息;
第一认证单元,用于提取所述触发消息随机数,比较终端的本地时间与所述触发消息随机数的差值是否小于一个阈值,判断所述触发消息随机数是否有效,在确认所述触发消息随机数有效时,使用所述触发消息随机数生成摘要对所述使用触发消息随机数生成的触发消息进行认证,在认证通过后,向所述触发消息指示的服务器发起会话请求。
7.如权利要求6所述的终端,其特征在于,所述终端还包括:
第二认证单元,用于在收到使用服务器随机数生成的触发消息时,使用所述服务器随机数生成摘要对所述使用服务器随机数生成的触发消息进行认证。
Priority Applications (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101954623A CN101431413B (zh) | 2007-11-08 | 2007-11-27 | 进行认证的方法、系统、服务器及终端 |
JP2010532407A JP5209731B2 (ja) | 2007-11-08 | 2008-04-09 | 認証方法およびクライアント |
EP13150334.4A EP2579502B1 (en) | 2007-11-08 | 2008-04-09 | Authentication method, system, server, and client |
EP08734046.9A EP2209253B1 (en) | 2007-11-08 | 2008-04-09 | A method, system, server and terminal for processing an authentication |
RU2010123182/08A RU2446593C2 (ru) | 2007-11-08 | 2008-04-09 | Способ аутентификации, система, сервер и клиент |
KR1020107011964A KR101134059B1 (ko) | 2007-11-08 | 2008-04-09 | 인증 방법, 시스템, 서버 및 클라이언트 |
PCT/CN2008/070686 WO2009059496A1 (fr) | 2007-11-08 | 2008-04-09 | Procédé, système, serveur et terminal pour mettre en œuvre une authentification |
ES08734046T ES2426946T3 (es) | 2007-11-08 | 2008-04-09 | Un método, sistema, servidor y terminal para poner en práctica una autenticación |
EP13150335.1A EP2579503B1 (en) | 2007-11-08 | 2008-04-09 | Authentication method, system, server, and client |
US12/775,937 US8392717B2 (en) | 2007-11-08 | 2010-05-07 | Authentication method, system, server, and client |
US13/270,579 US8245048B2 (en) | 2007-11-08 | 2011-10-11 | Authentication method, system, server, and client |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710170309 | 2007-11-08 | ||
CN200710170309.5 | 2007-11-08 | ||
CN2007101954623A CN101431413B (zh) | 2007-11-08 | 2007-11-27 | 进行认证的方法、系统、服务器及终端 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103354682A Division CN102333100B (zh) | 2007-11-08 | 2007-11-27 | 进行认证的方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101431413A CN101431413A (zh) | 2009-05-13 |
CN101431413B true CN101431413B (zh) | 2012-04-25 |
Family
ID=40646594
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103354682A Active CN102333100B (zh) | 2007-11-08 | 2007-11-27 | 进行认证的方法及终端 |
CN2007101954623A Active CN101431413B (zh) | 2007-11-08 | 2007-11-27 | 进行认证的方法、系统、服务器及终端 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103354682A Active CN102333100B (zh) | 2007-11-08 | 2007-11-27 | 进行认证的方法及终端 |
Country Status (8)
Country | Link |
---|---|
US (2) | US8392717B2 (zh) |
EP (3) | EP2209253B1 (zh) |
JP (1) | JP5209731B2 (zh) |
KR (1) | KR101134059B1 (zh) |
CN (2) | CN102333100B (zh) |
ES (1) | ES2426946T3 (zh) |
RU (1) | RU2446593C2 (zh) |
WO (1) | WO2009059496A1 (zh) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US8776214B1 (en) | 2009-08-12 | 2014-07-08 | Amazon Technologies, Inc. | Authentication manager |
KR101676305B1 (ko) * | 2009-09-01 | 2016-11-15 | 엘지전자 주식회사 | 네트워크상에서의 디바이스 인증 시스템 및 인증 방법 |
WO2012005739A1 (en) * | 2010-07-09 | 2012-01-12 | Hewlett-Packard Development Company, L.P. | Responses to server challenges included in a hypertext transfer protocol header |
EP2676464B1 (en) * | 2011-02-14 | 2020-03-25 | Nokia Technologies Oy | Seamless wi-fi subscription remediation |
US9171162B2 (en) | 2011-03-29 | 2015-10-27 | Microsoft Technology Licensing, Llc | Random file request for software attestation |
CN102231678A (zh) * | 2011-06-27 | 2011-11-02 | 华为终端有限公司 | 设备管理的方法、装置和系统 |
US10362019B2 (en) | 2011-07-29 | 2019-07-23 | Amazon Technologies, Inc. | Managing security credentials |
US11444936B2 (en) | 2011-07-29 | 2022-09-13 | Amazon Technologies, Inc. | Managing security credentials |
US9767262B1 (en) | 2011-07-29 | 2017-09-19 | Amazon Technologies, Inc. | Managing security credentials |
WO2013061614A2 (en) * | 2011-10-28 | 2013-05-02 | Nec Corporation | Secure method for mtc device triggering |
US8984276B2 (en) | 2012-01-10 | 2015-03-17 | Jpmorgan Chase Bank, N.A. | System and method for device registration and authentication |
US8863250B2 (en) | 2012-02-01 | 2014-10-14 | Amazon Technologies, Inc. | Logout from multiple network sites |
US8955065B2 (en) * | 2012-02-01 | 2015-02-10 | Amazon Technologies, Inc. | Recovery of managed security credentials |
CN107451472B (zh) | 2012-03-08 | 2021-06-04 | 阿里巴巴集团控股有限公司 | 表单验证方法、装置和系统 |
JP2016508007A (ja) | 2013-02-07 | 2016-03-10 | アップル インコーポレイテッド | デジタルアシスタントのためのボイストリガ |
US8966599B1 (en) | 2013-03-14 | 2015-02-24 | Amazon Technologies, Inc. | Automatic token renewal for device authentication |
US10475018B1 (en) | 2013-11-29 | 2019-11-12 | Amazon Technologies, Inc. | Updating account data for multiple account providers |
CN104954327B (zh) * | 2014-03-27 | 2019-02-22 | 东华软件股份公司 | 用于终端连接控制的服务器及方法、终端及方法、和系统 |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
KR101655439B1 (ko) * | 2015-03-26 | 2016-09-20 | 세종대학교산학협력단 | 컴퓨팅 장치의 인증 방법 및 이를 수행하기 위한 장치 |
US9916151B2 (en) * | 2015-08-25 | 2018-03-13 | Ford Global Technologies, Llc | Multiple-stage secure vehicle software updating |
US10671428B2 (en) * | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
EP3363152B1 (en) * | 2015-10-16 | 2021-07-21 | Nokia Technologies Oy | Message authentication |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US9967248B1 (en) * | 2015-12-28 | 2018-05-08 | Amazon Technologies Inc. | System for authenticating and processing service requests |
CN106100889A (zh) * | 2016-07-01 | 2016-11-09 | 浪潮(北京)电子信息产业有限公司 | 一种snmp协议安全的增强方法及装置 |
CN106411953A (zh) * | 2016-11-30 | 2017-02-15 | 深圳前海弘稼科技有限公司 | 一种种植箱登录方法及装置 |
CN108337210B (zh) * | 2017-01-19 | 2021-05-18 | 钉钉控股(开曼)有限公司 | 设备配置方法及装置、系统 |
US20210203650A1 (en) * | 2017-03-07 | 2021-07-01 | Hewlett-Packard Development Company, L.P. | Data message authentication based on a random number |
US10659464B2 (en) * | 2017-05-10 | 2020-05-19 | Microsoft Technology Licensing, Llc | Securely authenticating a bot user |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770429A1 (en) | 2017-05-12 | 2018-12-14 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
FR3071373B1 (fr) * | 2017-09-21 | 2021-01-22 | Onoff Telecom | Procede de verification de la validite d’une ligne telephonique d’un utilisateur |
EP3701685A4 (en) * | 2017-10-24 | 2021-10-27 | Deutsch, Irad | COMBINATION SYSTEM AND PROCEDURE |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11468890B2 (en) | 2019-06-01 | 2022-10-11 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US20210056053A1 (en) * | 2019-08-19 | 2021-02-25 | Cryptography Research, Inc. | Application authentication and data encryption without stored pre-shared keys |
JP7279668B2 (ja) * | 2020-03-12 | 2023-05-23 | トヨタ自動車株式会社 | 車載用制御装置 |
KR102519202B1 (ko) * | 2020-03-30 | 2023-04-05 | 한양대학교 산학협력단 | 보안 시스템 |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
CN112673656B (zh) * | 2020-08-13 | 2022-08-09 | 华为技术有限公司 | 车载网络安全通信方法、装置和设备 |
CN112260997B (zh) * | 2020-09-23 | 2023-05-26 | 曙光信息产业(北京)有限公司 | 数据访问方法、装置、计算机设备和存储介质 |
CN112367329B (zh) * | 2020-11-17 | 2023-05-02 | 北京知道创宇信息技术股份有限公司 | 通信连接认证方法、装置、计算机设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6058480A (en) * | 1996-06-03 | 2000-05-02 | Cranberry Properties, Llc | System for remote pass-phase authentication |
CN1476709A (zh) * | 2000-09-22 | 2004-02-18 | ���ĺ� | 网际协议电话安全体系结构 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6064736A (en) * | 1997-09-15 | 2000-05-16 | International Business Machines Corporation | Systems, methods and computer program products that use an encrypted session for additional password verification |
US6148405A (en) * | 1997-11-10 | 2000-11-14 | Phone.Com, Inc. | Method and system for secure lightweight transactions in wireless data networks |
US6065120A (en) * | 1997-12-09 | 2000-05-16 | Phone.Com, Inc. | Method and system for self-provisioning a rendezvous to ensure secure access to information in a database from multiple devices |
US6892308B1 (en) | 1999-04-09 | 2005-05-10 | General Instrument Corporation | Internet protocol telephony security architecture |
GB9922665D0 (en) * | 1999-09-25 | 1999-11-24 | Hewlett Packard Co | A method of enforcing trusted functionality in a full function platform |
US7024695B1 (en) * | 1999-12-30 | 2006-04-04 | Intel Corporation | Method and apparatus for secure remote system management |
US20020196935A1 (en) * | 2001-02-25 | 2002-12-26 | Storymail, Inc. | Common security protocol structure and mechanism and system and method for using |
KR100445574B1 (ko) * | 2001-12-19 | 2004-08-25 | 한국전자통신연구원 | 대화형 영 지식 증명을 이용한 패스워드 기반의 인증 및키 교환 프로토콜 설계 방법 |
US7421733B2 (en) * | 2002-02-06 | 2008-09-02 | Hewlett-Packard Development Company, L.P. | System and method for providing multi-class processing of login requests |
JP4186512B2 (ja) * | 2002-05-20 | 2008-11-26 | ソニー株式会社 | サービス提供システム、機器端末およびその処理方法、認証装置および方法、サービス提供装置および方法、並びにプログラム |
US7574599B1 (en) * | 2002-10-11 | 2009-08-11 | Verizon Laboratories Inc. | Robust authentication and key agreement protocol for next-generation wireless networks |
US7165824B2 (en) * | 2002-12-02 | 2007-01-23 | Silverbrook Research Pty Ltd | Dead nozzle compensation |
KR20040050625A (ko) | 2002-12-10 | 2004-06-16 | 한국전자통신연구원 | 대칭형 및 비대칭형 인증 키 교환을 이용한 인증방법 |
JP4392510B2 (ja) * | 2003-06-09 | 2010-01-06 | 財団法人生産技術研究奨励会 | 認証装置及び認証方法 |
KR100548354B1 (ko) * | 2003-06-14 | 2006-02-02 | 엘지전자 주식회사 | 동기화 프로토콜에서의 사용자 인증 방법 |
CA2541824A1 (en) | 2003-10-08 | 2005-04-14 | Stephan J. Engberg | Method and system for establishing a communication using privacy enhancing techniques |
US7549048B2 (en) * | 2004-03-19 | 2009-06-16 | Microsoft Corporation | Efficient and secure authentication of computing systems |
US7437771B2 (en) * | 2004-04-19 | 2008-10-14 | Woodcock Washburn Llp | Rendering protected digital content within a network of computing devices or the like |
US20060174103A1 (en) * | 2004-09-16 | 2006-08-03 | Nokia Corporation | System and method for integrating PKI and XML-based security mechanisms in SyncML |
US7690026B2 (en) * | 2005-08-22 | 2010-03-30 | Microsoft Corporation | Distributed single sign-on service |
KR101209071B1 (ko) * | 2006-09-19 | 2012-12-06 | 엘지전자 주식회사 | 디바이스 관리시스템 및 그 제어방법 |
-
2007
- 2007-11-27 CN CN2011103354682A patent/CN102333100B/zh active Active
- 2007-11-27 CN CN2007101954623A patent/CN101431413B/zh active Active
-
2008
- 2008-04-09 EP EP08734046.9A patent/EP2209253B1/en active Active
- 2008-04-09 KR KR1020107011964A patent/KR101134059B1/ko active IP Right Grant
- 2008-04-09 EP EP13150335.1A patent/EP2579503B1/en active Active
- 2008-04-09 JP JP2010532407A patent/JP5209731B2/ja active Active
- 2008-04-09 WO PCT/CN2008/070686 patent/WO2009059496A1/zh active Application Filing
- 2008-04-09 ES ES08734046T patent/ES2426946T3/es active Active
- 2008-04-09 EP EP13150334.4A patent/EP2579502B1/en active Active
- 2008-04-09 RU RU2010123182/08A patent/RU2446593C2/ru active
-
2010
- 2010-05-07 US US12/775,937 patent/US8392717B2/en active Active
-
2011
- 2011-10-11 US US13/270,579 patent/US8245048B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6058480A (en) * | 1996-06-03 | 2000-05-02 | Cranberry Properties, Llc | System for remote pass-phase authentication |
CN1476709A (zh) * | 2000-09-22 | 2004-02-18 | ���ĺ� | 网际协议电话安全体系结构 |
Non-Patent Citations (2)
Title |
---|
史庭俊等.基于Hash函数的抗攻击无线认证方案.《系统工程与电子技术》.2006,第28卷(第1期),122-126. * |
王小军等.基于802.11i的四次握手协议的攻击.《计算机与现代化》.2006,(第5期),72-75. * |
Also Published As
Publication number | Publication date |
---|---|
JP2011504261A (ja) | 2011-02-03 |
EP2579502A2 (en) | 2013-04-10 |
EP2209253A1 (en) | 2010-07-21 |
KR20100071115A (ko) | 2010-06-28 |
CN101431413A (zh) | 2009-05-13 |
KR101134059B1 (ko) | 2012-05-09 |
WO2009059496A1 (fr) | 2009-05-14 |
CN102333100B (zh) | 2013-11-06 |
US8245048B2 (en) | 2012-08-14 |
EP2579503A3 (en) | 2013-10-09 |
JP5209731B2 (ja) | 2013-06-12 |
CN102333100A (zh) | 2012-01-25 |
US20100217997A1 (en) | 2010-08-26 |
EP2209253A4 (en) | 2011-11-30 |
EP2579502B1 (en) | 2015-09-02 |
ES2426946T3 (es) | 2013-10-25 |
US8392717B2 (en) | 2013-03-05 |
US20120030472A1 (en) | 2012-02-02 |
EP2579502A3 (en) | 2013-10-16 |
RU2446593C2 (ru) | 2012-03-27 |
EP2579503B1 (en) | 2015-09-02 |
RU2010123182A (ru) | 2011-12-20 |
EP2579503A2 (en) | 2013-04-10 |
EP2209253B1 (en) | 2013-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101431413B (zh) | 进行认证的方法、系统、服务器及终端 | |
US7937071B2 (en) | Device management system and method of controlling the same | |
US8438616B2 (en) | Method for terminal configuration and management and terminal device | |
KR101475349B1 (ko) | 이동 통신 시스템에서 단말 보안 능력 관련 보안 관리 방안및 장치 | |
TWI399102B (zh) | 無線通訊系統之最佳資料傳送方法及裝置 | |
CN100534028C (zh) | 用于控制安全关联生命期的方法和通信系统 | |
US20160105410A1 (en) | OMA DM Based Terminal Authentication Method, Terminal and Server | |
US7853705B2 (en) | On demand session provisioning of IP flows | |
US10142437B2 (en) | Prioritising SIP messages | |
CN104954125A (zh) | 密钥协商方法、用户设备、路由器及位置服务器 | |
CN110971426A (zh) | 一种构建群会话的方法、客户端及可存储介质 | |
CN109460647A (zh) | 一种多设备安全登录的方法 | |
CN110120907B (zh) | 一种基于提议组的IPSec VPN隧道的通信方法及装置 | |
CN113873514B (zh) | 一种终端根密钥更新方法、装置、设备及可读存储介质 | |
JP6389229B2 (ja) | 端末装置、プッシュ通知受信方法、及び、コンピュータプログラム | |
JP6227583B2 (ja) | 情報配信装置、プッシュ通知送信方法、及び、コンピュータプログラム | |
CN117615335A (zh) | 消息流转方法、装置、设备及介质 | |
CN108632090A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |