CN115238259A - 一种设备认证方法以及相关装置 - Google Patents
一种设备认证方法以及相关装置 Download PDFInfo
- Publication number
- CN115238259A CN115238259A CN202110437541.0A CN202110437541A CN115238259A CN 115238259 A CN115238259 A CN 115238259A CN 202110437541 A CN202110437541 A CN 202110437541A CN 115238259 A CN115238259 A CN 115238259A
- Authority
- CN
- China
- Prior art keywords
- authentication information
- authentication
- verification
- equipment
- request
- 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
- 238000000034 method Methods 0.000 title claims abstract description 101
- 238000012795 verification Methods 0.000 claims description 235
- 230000006870 function Effects 0.000 claims description 99
- 230000015654 memory Effects 0.000 claims description 33
- 230000004044 response Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 7
- 230000006855 networking Effects 0.000 description 51
- 238000007726 management method Methods 0.000 description 44
- 238000004891 communication Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 16
- 238000012216 screening Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000010295 mobile communication Methods 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000001965 increasing effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 210000000988 bone and bone Anatomy 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供了一种设备认证方法,该方法包括:第一设备获取自身认证信息时,第二设备也会存储第一设备的认证信息;第一设备在使用Kit前,第一设备先验证本地存储的认证信息是否在有效期内;若本地存储的认证信息在有效期内,第一设备发送本地存储的认证信息给第二设备,第二设备验证第一设备本地存储的认证信息与第二设备存储的第一设备的认证信息是否一致;若一致,则认为第一设备本地存储的认证信息可信。这样,可以发现第一设备的认证信息是否被篡改,提高了系统的安全性。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种设备认证方法以及相关装置。
背景技术
目前,多设备在近场环境下组网,进行协同运行已成为常态。协同运行指的是在同一局域网的设备,一个设备能够调用其他设备的能力,或者能够将自身的能力提供给其他设备调用。例如,设备能通过使用开放能力套件(Kit)实现很多功能,如设备虚拟化能力套件能使摄像头、音响等物联网设备虚拟为手机的系统功能并提供给手机使用。
设备在使用Kit前,需要进行认证鉴权,对于具备联网能力的待认证设备,可以直接连接到认证服务器获得认证信息;对于不具有联网能力的待认证设备,需要通过具有联网能力的设备从认证服务器获取认证信息,再将认证信息保存到待认证设备存储器中,在认证信息有效期内,待认证设备可直接使用本地保存的认证信息。但是,由于待认证设备无法及时主动联网更新认证信息,存储的认证信息容易被篡改,导致未授权设备冒用认证信息,影响系统安全。
发明内容
本申请实施例提供了一种设备认证方法及相关装置,通过协助验证设备存储第一设备的认证信息,第一设备发送本地存储的认证信息给协助验证设备,由协助验证设备验证第一设备本地存储的认证信息与协助验证设备存储的第一设备的认证信息是否一致,进而可以发现第一设备的认证信息是否被篡改,提高了系统的安全性。
目标和其他目标将通过独立权利要求中的特征来达成。进一步的实现方式在从属权利要求、说明书和附图中体现。
第一方面,本申请提供了一种设备认证方法,应用于第一设备,包括:在检测到针对第一设备上第一功能的调用请求时,发送第一认证信息给至少一个协助验证设备,其中,第一设备和至少一个协助验证设备均保存有第一设备上第一功能的认证信息,且第一认证信息为第一设备保存的第一功能的认证信息;从至少一个协助验证设备接收验证结果,其中,从任一协助验证设备接收的验证结果用于指示第一认证信息与协助验证设备保存的认证信息是否相同;在根据至少一个协助验证设备接收的验证结果确定一认证信息不可信时,从认证服务器获取第一设备上第一功能的认证信息,并根据从认证服务器获取的认证信息中的认证结果控制对第一功能的执行,其中,认证结果用于指示第一设备是否被允许执行第一功能。
本申请提供的设备认证方法,通过第一设备将认证信息发送给协助验证设备,使协助验证设备能对第一设备的认证信息进行验证,通过确定第一设备本地存储的认证信息与协助验证设备存储的第一设备的认证信息是否一致,进而可以发现第一设备的认证信息是否被篡改。
结合第一方面,在一些实施例中,至少一个协助验证设备仅包括一个协助验证设备的情况下,确定第一认证信息不可信的方式为:根据从协助验证设备接收的验证结果确定第一认证信息与协助验证设备保存的认证信息不相同时,确定第一认证信息不可信。
结合第一方面,在一些实施例中,至少一个协助验证设备包括多个协助验证设备的情况下,确定第一认证信息不可信的方式有:根据从多个协助验证设备接收的验证结果确定保存的认证信息与第一认证信息不相同的协助验证设备的个数大于或等于预设个数时,确定第一认证信息不可信;或者,根据从多个协助验证设备接收的验证结果确定保存的认证信息与第一认证信息不相同的协助验证设备在多个协助验证设备中所占的比例大于或等于预设比例时,确定第一认证信息不可信;或者,根据从多个协助验证设备接收的验证结果确定保存的认证信息与第一认证信息不相同的协助验证设备的个数大于或等于保存的认证信息与第一认证信息相同的协助验证设备时,确定第一认证信息不可信。
例如,若超过半数协助验证设备的认证信息与第一设备的认证信息不同,则认为第一设备中的认证信息不可信,或者,只要存在一个协助验证设备的认证信息与第一设备的认证信息不同,则认为第一设备中的认证信息不可信。
结合第一方面,在一些实施例中,调用请求来自其它设备;或者,调用请求来自针对第一设备的用户操作。
例如,其他设备需要使用第一设备的第一功能,其他设备需要向第一设备发送调用请求,使得第一设备将第一功能提供给其他设备使用。
结合第一方面,在一些实施例中,至少一个协助验证设备与第一设备位于同一局域网。
结合第一方面,在一些实施例中,检测到针对第一设备上第一功能的调用请求之前,该方法还包括:第一设备向认证服务器发送认证请求,其中,认证请求用于请求认证服务器对第一设备上第一功能进行认证;第一设备接收认证服务器根据认证请求发送的第一功能的认证信息,并将认证信息保存为第一认证信息。
也即是说,第一设备能否使用第一功能是由认证服务器进行认证得到的,第一设备向认证服务器发送认证请求,认证服务器会对第一设备能否使用第一功能会生成认证信息,第一设备接收到认证信息后,将保存该认证信息。
结合第一方面,在一些实施例中,第一设备接收认证服务器根据认证请求发送的第一功能的认证信息之后还包括:第一设备将认证信息发送给至少一个协助验证设备。
也即是说,协助验证设备保存的第一设备的认证信息可以是由第一设备发送的。
结合第一方面,在一些实施例中,在检测到针对第一设备上第一功能的调用请求之前,该方法还包括:第一设备向协助认证设备发送认证请求,并指示协助认证设备向认证服务器转发认证请求,其中,认证请求用于请求认证服务器对第一设备上第一功能进行认证;第一设备通过协助认证设备接收认证服务器根据认证请求发送的第一功能的认证信息,并保存认证信息。
也即是说,第一设备还可以通过协助认证设备从认证服务器获取认证信息,由协助认证设备转发认证请求给认证服务器,认证服务器将认证信息发送给协助认证设备,再由协助认证设备再转发给第一设备。在一些实施例中,协助认证设备从认证服务器获取到认证信息后,将保存该认证信息。
结合第一方面,在一些实施例中,至少一个协助验证设备包括协助认证设备。
也即是说,协助验证设备和协助认证设备可以为同一设备。
结合第一方面,在一些实施例中,响应于调用请求,第一设备发送第一认证信息给至少一个协助验证设备,包括:响应于第一调用请求,第一设备检测第一认证信息是否在有效期内;当所述第一设备检测到第一认证信息在有效期内,第一设备发送第一认证信息给至少一个协助验证设备。
也即是说,第一设备在协助验证之前,第一设备将对第一认证信息的有效期进行认证,若第一认证信息在有效期内,才进行协助验证,若不在有效期内,则向认证服务器获取新的认证信息。
结合第一方面,在一些实施例中,第一认证信息使用了哈希运算加密,在检测到针对所述第一设备上第一功能的调用请求时,发送第一认证信息给至少一个协助验证设备,包括:在检测到针对第一设备上第一功能的调用请求时,第一设备采用哈希运算消息认证码验证第一认证信息;当第一设备验证通过,第一设备发送第一认证信息给至少一个协助验证设备。
也即是说,在第一设备在协助验证之前,第一设备将对第一认证信息的哈希运算消息认证码进行认证,若第一认证信息通过哈希运算消息认证码认证,才进行协助验证,若未通过哈希运算消息认证码认证,则向认证服务器获取新的认证信息。
结合第一方面,在一些实施例中,在响应于调用请求,第一设备发送第一认证信息给至少一个协助验证设备之前,该方法还包括:第一设备在第一设备所属的局域网的设备中确定满足预设条件的设备作为协助验证设备,其中,预设条件包括存储有第一设备上第一功能的认证信息。
也即是说,协助验证设备上至少需要保存有第一设备上第一功能的认证信息。
结合第一方面,在一些实施例中,响应于第一调用请求,第一设备发送第一认证信息给至少一个协助验证设备,包括:响应于第一调用请求,第一设备向第一设备所在局域网中的每个设备发送协助验证请求;第一设备接收到至少一个协助验证设备响应于协助验证请求发送的用于表示同意协助验证的协助验证响应;第一设备响应于协助验证响应,向至少一个协助验证设备发送第一认证信息。
也即是说,在第一设备先向局域网中的其他设备发送协助验证请求,待其他设备同意给第一设备进行协助验证后,第一设备才向协助验证设备发送第一认证信息。
结合第一方面,在一些实施例中,从至少一个协助验证设备接收验证结果之后,该方法还包括:当根据从至少一个协助验证设备接收的验证结果确定第一认证信息可信时,根据第一认证信息中的认证结果控制对第一功能的执行。
也即是说,若协助验证设备保存的认证信息与第一认证信息一致,则第一设备可根据认证结果控制对第一功能的执行。
第二方面,本申请提供了一种一种设备认证方法,应用于第二设备,包括:接收第一设备发送的第一认证信息,其中,第一认证信息为第一设备保存的第一设备上第一功能的认证信息;确定第一认证信息和第二认证信息是否相同,该第二认证信息为第二设备保存的第一设备上第一功能的认证信息;第二设备向第一设备发送验证结果,其中,验证结果用于指示第二认证信息与第一认证信息是否相同。
这样,第二设备通过保存其他设备的认证信息,可以协助其他设备验证其认证信息是否被篡改,进而提高了系统的安全性。
结合第二方面,在一些实施例中,第二设备接收到第一设备发送的第一认证信息之前,该方法还包括:第二设备接收到第一设备发送的第一认证请求,其中,第一认证请求用于请求认证服务器对第一设备上所述第一功能进行认证第二设备根据所述一设备的指示向认证服务器转发第一认证请求;第二设备接收到认证服务器根据第一认证请求发送的第一功能的认证信息;第二设备向第一设备转发认证信息。
也即是说,第二设备可以通过转发第一设备的认证请求给认证服务器,以及转发认证服务器发送的认证信息给第一设备,进而协助第一设备从认证服务器获取认证信息。
结合第二方面,在一些实施例中,第二设备接收到第一设备发送的第一认证信息之前,该方法还包括:第二设备接收到第一设备发送的协助验证请求;响应于协助验证请求,第二设备向第一设备发送用于表示同意协助验证的协助验证响应。
也即是说,第二设备在对第一认证信息验证前,先接受第一设备的协助验证请求,并同意该请求后,第一设备才会发送第一认证信息给第二设备。
结合第二方面,在一些实施例中,第二设备接收到第一设备发送第一认证信息之前,该方法包括:第二设备接收第一设备发送的第一设备上第一功能的认证信息;第二设备保存认证信息。
也即是说,第二设备保存的认证信息是第一设备发送的。
结合第二方面,在一些实施例中,第二设备接收到认证服务器根据第一认证请求发送的第一功能的认证信息之后,该方法还包括:第二设备保存认证信息。
也即是说,第二设备保存的认证信息是在接收到认证服务器发送认证信息后,向第一设备转发该认证信息之前。
第三方面,本申请提供了一种设备认证系统,包括:第一设备、至少一个协助验证设备;
第一设备用于:在检测到针对第一设备上第一功能的调用请求时,发送第一认证信息给至少一个协助验证设备,其中第一设备和至少一个协助验证设备均保存有第一设备上第一功能的认证信息,且第一认证信息为第一设备保存的第一功能的认证信息;从至少一个协助验证设备接收验证结果,其中,从任一协助验证设备接收的验证结果用于指示第一认证信息与协助验证设备保存的认证信息是否相同;在根据从至少一个协助验证设备接收的验证结果确定第一认证信息不可信时,从认证服务器获取第一设备上第一功能的认证信息,并根据从认证服务器获取的认证信息中的认证结果控制对第一功能的执行,其中,认证结果用于指示第一设备是否被允许执行第一功能;
至少一个协助验证设备中的任一协助验证设备用于:接收第一设备发送的第一认证信息,并向第一设备发送验证结果。
这样,局域网内的设备在针对具体功能的使用前,都需要其他设备协助其进行认证,能发现认证信息有无被篡改,进而提高了系统的安全性。
结合第三方面,在一些实施例中,设备认证系统还包括认证服务器,认证服务器用于对第一设备上第一功能进行认证。
第四方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器;一个或多个存储器分别与一个或多个处理器耦合;一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;当计算机指令在处理器上运行时,使得电子设备执行上述任一方面任一项可能的实现方式中的设备认证方法。
第五方面,本申请实施例提供了一种可读介质,用于存储一个或多个程序,其中一个或多个程序被配置为被一个或多个处理器执行,一个或多个程序包括指令,指令用于执行上述任一方面任一项可能的实现方式中的设备认证方法。
第六方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述任一方面任一项可能的实现方式中的设备认证方法。
实施本申请提供的技术方案,设备在使用具体功能且需要进行认证前,都需要局域网内协助验证设备对该设备的认证信息进行验证,通过协助验证设备判断该设备的认证信息是否可信,能发现设备的认证信息是否被篡改,进而防止未通过认证的设备越权使用该功能,或者防止已授权设备不能正常使用的情况,提高了系统的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种设备认证系统的应用场景示意图;
图2为本申请实施例提供的一种电子设备的结构示意图;
图3为本申请实施例提供的一种软件结构框架示意图;
图4为本申请实施例提供的一种Kit框架结构示意图;
图5为本申请实施例提供的一种协助认证方法流程示意图;
图6为本申请实施例提供的一种设备认证方法在一种应用场景下的流程示意图;
图7为本申请实施例提供的一种设备认证方法的流程示意图;
图8为本申请实施例的一种组网方法的流程示意图;
图9为本申请实施例的一种协助验证方法的流程示意图;
图10为本申请实施例的另一种设备认证方法的流程示意图;
图11为本申请实施例的一种设备认证方法在另一种应用场景下的流程示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。术语“中间”、“左”、“右”、“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
下面对本申请涉及的应用场景进行举例说明。
目前,多设备在近场环境下可以通过蓝牙或Wi-Fi等方式组网,以实现设备间的协同运行。协同运行指的是在同一局域网的设备,一个设备能够调用其他设备的能力,或者能够将自身的能力提供给其他设备调用。在另一些实施例中,设备还可以连接在软总线上,并通过软总线传输数据,进而实现协同运行。
如图1所示,电子设备101、设备1、设备2以及设备3在同一个局域网中,为了便于理解,图1以设备1为摄像头,设备2为电饭煲以及设备3为扫地机器人进行举例说明,电子设备101能够调用设备1、设备2或设备3的能力,或者能够将自身的能力提供给设备1、设备2或设备3调用。其中,设备的能力是通过Kit实现的,设备在使用Kit前,需要进行认证鉴权。设备的认证信息由认证服务器200生成,设备可通过从认证服务器200获取认证信息,再将认证信息保存到设备存储器中,在认证信息的有效期内,设备可直接使用本地保存的认证信息。
下面对本申请实施例中涉及的电子设备100进行详细介绍。
参见图2,图2示出了本申请实施例提供的示例性电子设备100的结构示意图。电子设备100可以为上述图1中的设备101、设备1、设备2以及设备3等电子设备。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。
无线通信模块160可以提供应用在电子设备100上的包括UWB,无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(blue-tooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near fieldcommunication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
在本申请的一些实施例中,显示屏194中显示有系统当前输出的界面内容。例如,界面内容为即时通讯应用提供的界面。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。
摄像头193用于捕获静态图像或视频。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,对输入信息快速处理,还可以不断的自学习。
外部存储器接口120可以用于连接外部存储卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区、存储数据区、高速随机存取存储器以及非易失性存储器。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。
压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(电子设备100的X轴、Y轴和Z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖,还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。
环境光传感器180L用于感知环境光亮度。
指纹传感器180H用于采集指纹。
温度传感器180J用于检测温度。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作,该触摸触控操作是指用户手部、手肘、触控笔等接触显示屏194的操作。
骨传导传感器180M可以获取振动信号。
按键190包括开机键,音量键等。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
图3示出了本申请实施例的电子设备100的软件结构框架图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将系统分为五层,从上至下分别为应用层,框架层,系统服务器层以及内核层。
应用层可以包括一系列应用程序包。如图3所示,应用层分为系统应用和扩展应用(即第三方应用),系统应用中的应用程序包可以包括主屏幕(即桌面)、控制栏、设置、通话等应用程序;第三方应用可以包括由非软件编制方的其他组织或个人开发的应用程序,第三方应用包括集成了开放能力套件(Kit)的应用程序,应用程序通过Kit接口连接Kit服务,用户可以通过Kit接口调用Kit服务,如设备虚拟化能力套件(Device VirtualizationKit,DV Kit)、本地身份认证能力套件(Local Authentication Kit,LA Kit),基础安全能力套件(Basic Security Service Kit,BSS Kit)等。其中,DV kit用于将电子设备100作为手机系统通用能力来提供和使用,比如,将电视、摄像头和音箱虚拟为手机的屏幕、摄像头和扬声器;LA Kit提供人脸识别业务,使用摄像头获取人脸特征图像,并通过算法分析人脸特征,用于人脸比对身份认证;BSS Kit提供短数据安全存储业务,包括安全存储、删除、更新、查询短敏感数据的能力。
框架层为应用程序层的应用程序提供用户界面框架(User Interface,UI),用户程序框架,开放能力套件框架(Kit框架)以及应用编程接口(application programminginterface,API)。框架层还包括一些预先定义的函数。
UI框架包括可视控件,例如显示文字的控件,显示图片的控件等。UI框架可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。本申请中,UI框架用于在电子设备100符合预设的触发条件时,在显示屏103上显示一个快捷区域,该快捷区域中包括电子设备100添加的一个或多个快捷控件。其中,本申请对快捷区域的位置、布局,以及快捷区域中的控件的图标、位置、布局以及功能不作限定。UI框架可以是适用于Java语言的Java UI框架,也可以是适用于JS的JS UI框架,本申请对UI框架类型不作限定。
用户程序框架可以包括输入管理器,窗口管理器(window manager),内容提供器,视图系统,电话管理器,资源管理器,通知管理器,显示管理器,活动管理器(activitymanager)等。
Kit框架提供管控Kit服务的功能,如图4所示,Kit框架包括数据采集模块,Kit管理模块,端云认证模块,设备互助模块,协助验证模板,哈希运算消息认证码(Hash-basedMessage Authentication Code,HMAC)模块。
数据采集模块用于从电子设备100的存储器中采集数据信息。下面结合表1介绍数据信息,如表1所示数据信息包括认证信息、激活信息以及设备信息。其中,认证信息由认证服务器200生成,用于确认该电子设备100是否具有使用该Kit的权利,可以防止未授权设备越权使用Kit,认证信息可以包括:待认证设备唯一标识、认证结果、认证信息更新日期以及认证状态,其中,待认证设备的唯一标识可以是待认证设备ID或待认证设备在软总线上使用的ID;认证结果为待认证设备是否具有使用该Kit的权利的标识;认证信息更新日期为生成该认证信息的日期,认证状态包括:认证信息在有效期内、待认证服务器认证。激活信息用于电子设备100的验证和激活,激活信息包括证书、令牌(token)。设备信息用于描述设备的硬件和/或软件的基本信息,可以包括设备的RAM总大小、RAM剩余值、RAM使用率以及是否具有Wi-Fi、蓝牙能力。
表1
Kit管理模块用于对电子设备100中的Kit授权进行管理并完成认证信息的验证。该Kit管理模块对电子设备100的Kit授权进行管理可以是根据认证服务器200下发的Kit管控策略进行的,Kit管控策略可以包括对于未授权设备(认证不通过的设备)在使用Kit时实施弹窗或拒绝服务,进而实现对于未授权设备的管控。
端云认证模块用于连接认证服务器200进行设备认证,即具备联网能力的电子设备100具备端云认证模块。具体地,对于具有联网能力,能连接认证服务器200的电子设备100,若该电子设备100本地没有存储认证信息或者认证信息超期等情况下,电子设备100会连接认证服务器200进行设备认证,获取认证服务器200的认证信息。
设备互助模块用于待认证设备借助协助设备连接认证服务器200获取认证信息,进而可实现待认证设备的激活和Kit管控。其中,待认证设备为需要进行认证的电子设备100,协助设备为可帮助待认证设备进行认证的电子设备100,设备互助模块存在于待认证设备与协助设备中。
协助验证模块用于协助设备协助待认证设备进行认证,其中,协助设备存储有待认证设备的认证信息。具体地,待认证设备在验证本地认证信息后,还需要通过协助验证模块让协助设备对本机认证信息进行验证。协助验证模块可以分为服务端和客户端,服务端用于协助设备为待认证设备提供协助验证,由协助设备通过蓝牙、Wi-Fi等方式发布在软总线上,提供给待认证设备使用;客户端用于待认证设备请求协助设备进行协助验证,并且还可以用于待认证设备对协助设备进行筛选,待认证设备可以选择多个协助设备进行验证,使验证的安全性更高。
可选地,Kit框架还可以包括HMAC密钥模块。HMAC密钥模块用于计算认证信息的签名密钥。具体地,对于认证服务器200获取的认证信息,在本地存储之前,使用HMAC密钥模块对认证信息进行签名密钥计算,并把该签名密钥和认证信息存储到存储器中,在对认证信息进行认证前,需要对签名密钥进行验证;签名密钥由安全随机算法动态生成,可以防止彩虹表攻击。示例性地,HMAC密钥模块计算签名SIGN的方式可以如下公式1所示:
SIGN=HMAC(INFO+CHALLENGE) (1)
其中,CHALLENGE为随机字节数,INFO由下述公式2计算得到:
INFO=uuid+token+version (2)
其中,uuid为电子设备ID,token为电子设备100的许可证(license),version为token的版本。uuid与token通常为48位字符,version根据token的版本不同,字节数可能不同。应理解,本方案对HMAC密钥模块计算签名SIGN的方式不作具体限定。
系统服务层是系统核心能力的集合,该层包括系统基本能力子系统集,基础软件服务子系统集,增强软件服务子系统集,硬件服务子系统集。
系统基本能力子系统集为应用层在电子设备100上的运行、调度、迁移等操作提供了基础能力,由分布式软总线、分布式数据管理、分布式任务调度、公共基础库子系统、多模输入、图形等子系统组成。其中,分布式软总线为电子设备100之间的互联互通提供了统一的分布式通信能力,用于电子设备100之间协助验证;分布式数据管理基于分布式软总线的能力,实现应用程序数据和用户数据的分布式管理,用于存储认证信息;分布式任务调度用于对跨设备的应用进行远程启动、远程调用、远程连接以及迁移等。
基础软件服务子系统集为系统提供软件服务,由Kit服务子系统、事件通知、电话、多媒体等子系统组成。其中,Kit服务子系统可以包括DV Kit、LA Kit等。Kit服务子系统中的Kit服务与Kit管理模块间用接口连接,Kit管理模块可通过接口对Kit服务进行管理。
增强软件服务子系统集为系统提供针对不同电子设备100的能力增强型软件服务,由物联网(Internet of Things,IoT)专有业务、智慧屏专有业务、穿戴专有业务等子系统组成。
硬件服务子系统集为系统提供硬件服务,由IoT专有硬件服务、位置服务、生物特征识别、穿戴专有硬件服务等子系统组成。
内核层是硬件和软件之间的层,外设访问能力和驱动开发、管理框架。内核层包括内核子系统和驱动子系统。内核子系统包括Linux内核、LiteOS等,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。驱动子系统包括至少硬件驱动框架,如显示驱动,摄像头驱动,音频驱动,传感器驱动,触控芯片的驱动和输入(input)系统等。
本申请实施例中,当电子设备100作为待认证设备时,电子设备100的Kit框架至少包括数据采集模块、Kit管理模块、协助验证模块;当电子设备100作为协助设备时,电子设备100至少包括数据采集模块、Kit管理模块、设备互助模块、协助验证模块。若电子设备100具备联网能力,还包括端云认证模块,使电子设备100可以联网从认证服务器200获取数据;若电子设备100只具备蓝牙或Wi-Fi等能力,只能同组网内电子设备通信。
当不具备联网能力的电子设备100需要使用Kit服务时,该不具备联网能力的电子设备100需要认证是否具备使用该Kit的能力,由于不能联网获取认证信息,需要具备联网能力的设备互助,从认证服务器200获取认证信息。请参考图5,图5示出了一种设备认证方法流程图,其中,待认证设备为需要进行认证的不具备联网能力的电子设备,协助设备为具有联网能力且可帮助待认证设备进行认证的电子设备。
如图5所示,该方案可以包括以下步骤:
S501、待认证设备向协助设备发送认证请求。具体地,待认证设备通过蓝牙或Wi-Fi等方式向协助设备发送认证请求,其中,认证请求至少包括待认证设备的唯一标识以及Kit的唯一标识。
S502、协助设备向认证服务器200转发该认证请求。具体地,具有联网能力的协助设备接收到认证请求后,将待认证设备的认证请求转发给认证服务器200。
S503、认证服务器生成认证信息。具体地,认证服务器收到认证请求后,将根据认证请求对待认证设备进行鉴权认证,确认该待认证设备是否具有访问该Kit的权利,并根据鉴权结果生成认证信息。该认证信息包括该待认证设备的设备标识、该设备标识能够调用的kit服务等信息。可选地,认证服务器可根据实际情况为认证信息设定有限期限。
S504、认证服务器向协助设备转发认证信息。
S505、协助设备向待认证设备转发该认证信息。
由上述步骤可以看出,通过电子设备互助认证方案,待认证设备可以通过协助设备从认证服务器获得认证信息,在认证信息有限期限内,待认证设备可以直接使用该认证信息;如果认证信息超过了有限期限,待认证设备将再一次向协助设备发起认证请求,进而获得有效认证信息。
综上所述,在上述设备认证方案中,协助设备可以帮助待认证设备获得认证信息完成认证,待认证设备存储该认证信息,直到该认证信息超出有效期限,该待认证设备都无需再次向认证服务器进行认证。在一些场景中,待认证设备存储的认证信息可能会被篡改,又因为待认证设备不具备联网能力,无法及时获取正确的认证信息,可能导致未授权设备由于篡改认证信息从而能够使用kit或者授权设备由于篡改认证信息从而无法使用Kit的情况,进而影响设备正常运行,还可能会产生未授权设备冒用认证信息的情况,影响系统的安全性。如果提高待认证设备请求协助设备获取认证信息的频率,也会影响业务使用时的响应速度,降低用户体验。
因此,本申请提供一种设备认证方法,该方法中待认证设备获取到认证信息后,将发送认证信息给协助设备,其中,协助设备可以是一个或多个。通过协助设备存储待认证设备的认证信息,在待认证设备验证本地存储的认证信息是否在有效期限内后,再让协助设备验证待认证设备存储的认证信息是否与协助设备存储的该待认证设备的认证信息一致,进而确定认证信息是否被篡改,以及认证信息是否需要更新。本申请实施例通过协助设备的再次验证,能够提高认证过程的安全性。
下面结合上述图3的软件结构框图,以及图1的应用场景对本申请实施例中提供的一种设备认证方法进行举例说明。其中,设备1、设备2、设备3中均存储有设备1的认证信息。当电子设备101需要调用设备1的摄像头功能的kit时,设备1需要认证设备1是否能将该功能提供给电子设备101调用。如图6所示,设备1进行设备认证的详细步骤如下所示:
1、电子设备101发起Kit使用请求。
具体地,用户可以通过电子设备101的应用程序调用设备1的摄像头功能,应用程序获取到用户的操作后,将向设备1发起Kit使用请求,该Kit使用请求用于请求使用设备1中Kit服务子系统的DV Kit。
2、Kit服务子系统调用Kit管理模块。
具体地,设备1接收到Kit使用请求,响应该Kit使用请求,设备1中的Kit服务子系统将调用Kit管理模块,由Kit管理模块完成Kit的认证。
3、Kit管理模块验证本地认证信息。
具体地,Kit管理模块读取设备1本地存储的DV Kit的认证信息,并验证该DV Kit的认证信息是否在有效期内。若该DV Kit的认证信息超过有效期限,Kit管理模块中的设备互助模块将向设备2或设备3发送认证请求,具体步骤可参见关于图5的描述,此处不再赘述。若设备1的认证信息未超过有效期限,将执行如下步骤4-步骤5。
可选地,若设备1中存储的认证信息采用了HMAC密钥签名,在验证前需要调用Kit管理模块中的HMAC密钥模块进行签名验证。
4、发送协助验证请求。
具体地,设备1的协助验证模块向设备2和设备3发送协助验证请求,该协助验证请求中包括了设备1的认证信息,由设备2与设备3验证设备2与设备3中存储的设备1的认证信息与设备1中发送的认证信息是否相同。
5、验证本地认证信息。
具体地,设备2和设备3中的协助验证模块读取设备本地存储的设备1的认证信息,与设备1中发送的认证信息进行比对,判断设备1存储的认证信息是否可信,并返回验证结果给设备1。
若设备2和设备3中存储的认证信息与设备1中发送的认证信息相同,则认为设备1中的认证信息可信,设备1的认证信息没有被篡改过,并返回验证结果给设备1,设备1的Kit管理模块再根据认证结果确认是否可使用该Kit;认证结果为设备1可使用该Kit,电子设备101即可调用设备1的摄像头功能,若认证结果为设备1不可使用该Kit,设备1将向电子设备101返回拒绝使用该服务。
若设备1检测到接收到的验证结果中设备2和设备3中有一个设备存储的认证信息与设备1中存储的认证信息存在不同,则设备1认为设备1的认证信息不可信,设备1将执行下述步骤6。
6、发起端云认证。
具体地,若设备1中的认证信息被认定为不可信,则设备1需要连接认证服务器进行端云认证,获取最新的认证信息。其中,若设备1不具备联网能力,则需要设备1请求设备2或设备3协助发起端云认证,具体步骤可参见关于图5的描述,此处不再赘述。
在一些实施例中,若设备1中的认证信息被认定为不可信,则设备3需要连接认证服务器进行端云认证,获取最新的认证信息,并返回认证信息给设备1。
以上描述了当电子设备101需要调用设备1的DV kit时,设备1认证自身是否能将该功能提供给电子设备101调用的认证过程。通过设备2和设备3的协助验证能发现设备1的认证信息是否被篡改,进而防止未授权设备篡改认证信息后越权使用Kit;或者,防止已授权设备被篡改信息后不能使用Kit,提高了系统的安全性。
不限于上述情况,在其他情况下本方案依然适用,例如,当设备1需要使用自身的摄像头功能时,需要先认证设备1是否具备该摄像头功能的Kit。此时,设备1的Kit服务子系统调用Kit管理模块,由Kit管理模块完成Kit的认证,若设备1认证信息通过认证,则由设备2和设备3进行协助验证,验证设备1中的认证信息是否被篡改,进而防止未授权设备篡改认证信息后越权使用Kit;或者,防止已授权设备被篡改信息后不能使用Kit,进而提高了系统的安全性。
下面结合图7介绍本申请提供的一种设备认证方法的步骤流程,其中,设备1为待认证设备,设备1具备联网功能,所述设备1也可称为第一设备;设备2为协助设备,也可称为协助验证设备或第二设备,包括:
S701、设备1与设备2完成组网。
具体地,设备1在启动后,将通过分布式软总线加入局域网,使设备1能与局域网下的其他电子设备100相互通信。在一些实施例中,设备1在加入组网后,将对该局域网下的其他电子设备100进行筛选,并确认设备1在组网中的协助设备。具体步骤参见下述关于图8的描述。
S702、设备1向认证服务器200发送认证请求。
具体地,设备1进入联网状态,并向认证服务器200发送认证请求。在一些实施例中,设备1发送的认证请求包括请求获取组网内所有电子设备的认证信息。在另一些实施例中,设备1可以先认证服务器200发起认证请求,再进行步骤S701,与设备2完成组网。应理解,本方案对设备1加入组网和获取认证信息的顺序不作限定。
S703、认证服务器200返回认证信息。
具体地,认证服务器200根据认证请求生成设备1的认证信息后,将发送认证信息给设备1,设备1接收该认证信息并存储认证信息,设备1保存在本地的认证信息也可称为第一认证信息。在一些实施例中,认证服务器200根据认证请求生成组网内所有设备的认证信息,并发送认证信息给设备1,设备1接受该认证信息并存储组网内所有设备的认证信息。
S704、设备1广播认证信息。
具体地,设备1获取到设备1的认证信息后,将广播发送认证信息发送给组网内其余电子设备100,其余电子设备100将存储该认证信息。在一些实施例中,设备1将广播发送所有设备的认证信息给组网内的其余设备。设备2接收到认证信息后,将更新认证信息更新时间以及认证状态。应理解,除了设备1主动获取认证信息,当设备2从认证服务器获取认证信息时,也会将认证信息发送给设备1。
以上描述了设备1加入组网,从认证服务器200获取认证信息并广播认证信息的过程,需要说明的是,步骤S703中设备1在认证服务器200获取到的认证信息可以是自身的认证信息;也可以是组网内所有电子设备的认证信息,当设备1获取到组网内所有电子设备的认证信息,设备1存储并广播该所有电子设备的认证信息。此时,其他电子设备能通过设备1获取认证信息,能够同步更新自身的认证信息,无需在更新的认证信息失效前再向认证服务器获取认证信息,从而能够降低其他电子设备向认证服务器获取认证信息的频率,减少了在业务使用过程中其他电子设备向认证服务器同步认证信息产生的延时,提高了业务响应速度。
S705、接收Kit使用请求。
具体地,其他电子设备可以通过应用程序调用设备1的功能,其他电子设备针对设备1中的第一功能向设备1发起Kit使用请求,所述Kit使用请求可也称为调用请求。例如设备1为摄像头,手机想要调用摄像头的摄像功能,手机可以向摄像头发送请求消息,该请求消息中包括DV Kit的标识,用于请求调用摄像头的DV Kit。
在一些实施例中,Kit使用请求是由用户针对第一设备中的第一功能进行的操作而发起的。
在一些实施例中,设备1在运行时,需要使用Kit,设备1将向设备1的Kit服务子系统发起Kit使用请求。
S706、认证本地存储的认证信息。
具体地,设备1接收到Kit使用请求后,设备1对需要被调用的Kit进行认证,此时,Kit服务会通过接口调用Kit框架中的Kit管理模块,由Kit管理模块完成认证信息的认证。Kit管理模块将从设备1的存储器中获取设备1本地存储的认证信息,通过认证信息中的认证信息更新状态判断本地认证信息是否通过认证。
可选地,若设备1中认证信息使用了HMAC密钥,则在判断本地认证信息是否通过验证前,需要对HMAC密钥进行验证。
S707、判断该本地存储的认证信息是否在有效期内。
具体地,若设备1中的本地存储的认证信息的状态为认证信息超过有效期或认证信息待认证服务器认证,则认为该本地存储的认证信息不通过认证,执行下述步骤S708;若本地存储的认证信息更新状态为在有效期内,则认为该本地存储的认证信息通过认证,执行下述步骤S711。
在一些实施例中,若设备1中本地存储的认证信息使用了HMAC密钥签名,则设备1还需要对认证信息的HMAC密钥进行验证,若该本地存储的认证信息未通过HMAC认证,则,执行下述步骤S708,重新向认证服务器获取认证信息。
若不在有效期内,执行S708、设备1向认证服务器200发送认证请求。
具体地,若设备1认证信息更新状态为认证信息超过有效期或认证信息待认证服务器认证,则需要向认证服务器200发送认证请求,获取最新的认证信息。具体步骤可参见关于步骤S702的描述,此处不再赘述。
S709、认证服务器200返回认证信息。
具体地,认证服务器200根据认证请求生成设备1的认证信息后,认证服务器200将发送认证信息给设备1,设备1接受该认证信息并存储认证信息。具体步骤可参见关于步骤S703的描述,此处不再赘述。
S710、设备1广播认证信息。
具体地,设备1获取到设备1的认证信息后,将广播发送认证信息给组网内其余电子设备100,其与电子设备100将存储该认证信息。具体步骤可参见关于步骤S704的描述,此处不再赘述。
在这种情况下,设备1接收到认证信息之后,设备1直接执行S717。
若在有效期内,执行S711、设备1向设备2发送协助验证请求。
具体地,设备1通过协助验证模块发起协助验证请求,其中,协助验证请求包括设备1存储的认证信息。在另一些实施例中,设备1先向设备2发送协助验证请求,在设备2同意请求后,再向设备2发送待认证设备本地存储的认证信息。
可选地,设备1发起协助验证后,对协助设备进行筛选,包括:从本地存储中获取与待认证设备已配对的电子设备列表,根据筛选原则从配对设备列表中筛选出可对待认证设备进行协助验证的协助设备。其中,筛选原则为协助设备至少需要具备设备1的认证信息,其余筛选原则可参见下面关于步骤S804的描述,此处先不详述。
S712、对设备1的认证信息进行验证。
具体地,设备2将在设备2的存储信息中查找到设备1的认证信息,将该认证信息与设备1发送的认证信息进行比对,并返回验证结果,其中,若比对结果为一致,则认为设备1的认证信息可信;若比对结果为不一致,则认为设备1的认证信息不可信,设备1的认证信息可能被篡改。
示例性地,若设备1的认证结果可信,则返回验证通过,可用标识“PASS”表示;若设备2存储的认证信息更新日期在设备1存储的认证信息之前,则返回验证结果过期,可用标识“OUT_OF_DATE”;若设备1的认证结果不可信,则返回验证不通过,可用标识“FAKE”表示。
可选地,若待认证设备中认证信息或协助设备存储的认证信息使用了HMAC密钥,则在验证前,需要对HMAC密钥进行验证。
S713、设备2返回验证结果给设备1。
具体地,如步骤S712所示,验证结果包括:认证信息可信、认证信息不可信。可选地,若设备2存储的认证信息更新日期在设备1存储的认证信息之前,则认为协助设备的认证信息过期,则需要设备2更新认证信息并给设备1进行协助验证后,再返回验证结果。
S714、判断本地存储的认证信息是否可信。具体地,设备1接收设备2返回的验证结果,并根据验证结果判断设备1的本地存储的认证信息是否可信,若可信,则执行下述步骤S717;若不可信,则执行下述步骤S715。
可选地,若存在多个协助设备,若部分协助设备中存储的认证信息与待认证设备的认证信息不同,其中,协助设备中存储的认证信息与待认证设备的认证信息不同的协助设备在所有协助设备中所占的比例大于或等于预设比例时,则认为所述第一认证信息不可信,或者,协助设备中存储的认证信息与待认证设备的认证信息不同的协助设备的个数大于或等于保存的认证信息与所述第一认证信息相同的协助设备时,则认为所述第一认证信息不可信,例如若超过半数协助设备的认证信息与待认证设备的认证信息相同,则认为待认证设备中的认证信息可信;若超过半数协助设备的认证信息与待认证设备的认证信息不同,则认为待认证设备中的认证信息不可信。
可选地,若存在多个协助设备,在判断待认证设备中的认证信息是否可信时,也可以采用以下方式:多个协助验证设备接收的验证结果确定保存的认证信息与第一认证信息不相同的协助验证设备的个数大于或等于预设个数时,则认为待认证设备中的认证信息不可信。例如:只要存在一个协助设备的认证信息与待认证设备的认证信息不同,则认为待认证设备中的认证信息不可信。
若设备1判断本地存储的认证信息不可信,S715、设备1向认证服务器200发送认证请求。
具体地,在设备1判断本地存储的认证信息不可信的情况下,设备1向认证服务器200发送认证请求,获取最新的认证信息。具体步骤可参见关于步骤S702的描述,此处不再赘述。
S716、认证服务器200返回认证信息。
具体地,认证服务器200根据认证请求生成设备1的认证信息后,认证服务器200将发送认证信息给设备1,设备1接受该认证信息并存储认证信息。具体步骤可参见关于步骤S703的描述,此处不再赘述。
若设备1判断本地存储的认证信息可信,执行S717、基于认证结果判断设备1是否可使用Kit。
具体地,在设备1判断本地存储的认证信息可信的情况下,设备1根据认证信息中的认证结果确定设备1是否可使用Kit。其中,若认证结果为设备1不可使用该Kit,则执行步骤S718;若认证结果为设备1可使用该Kit,则执行步骤S719。
S718、拒绝Kit使用请求。
具体地,若设备1认证信息中的认证结果为设备1不可使用该Kit,设备1则拒绝Kit使用请求。可选地,设备1可弹窗提示用户:设备1不具备使用该Kit的权利。
S719、使用Kit。
具体地,若设备1认证信息中的认证结果为设备1可以使用该Kit,设备1的Kit框架将返回认证结果给Kit服务子系统,Kit服务子系统将提供Kit服务给Kit使用请求的发送方。
综上所述,若设备1的认证信息是不可使用Kit,被篡改为可以使用该Kit,通过本申请提供的设备认证方法,能发现设备1的认证信息与设备2和/或设备3的认证信息不符,进而发现设备1认证信息被篡改,防止了未授权设备越权使用Kit的情况;若设备1的认证信息是可以使用Kit,被篡改为不可以使用该Kit,通过本申请提供的设备认证方法,能发现设备1的认证信息与设备2和/或设备3的认证信息不符,进而发现设备1认证信息被篡改,防止了已授权设备不能正常使用的情况。
本申请提供的设备认证方法,能发现电子设备认证信息是否被篡改,提高了系统的安全性;并且,该方法还能及时通过其他电子设备同步认证信息,降低电子设备向认证服务器获取认证信息的频率,减少了在业务使用过程中向认证服务器同步认证信息产生的延时,提高了业务响应速度。
下面结合图8对上述步骤S701进行补充说明,如图8所示,为电子设备100组网的步骤,其中,设备2处于配对状态,包括:
S801、设备1进入配对状态。
具体地,设备1在启动后,可以进入配对状态,配对方式可以是蓝牙、Wi-Fi等,处于配对状态的设备1将查找到一定范围内处于配对状态的设备2。
S802、设备1与设备2进行配对。
具体地,设备1与设备2进行配对,配对原则可以采用验证码机制或同账号机制。
验证码机制是指需要进行配对的设备2随机生成或人工设定验证码,设备1输入与上述验证码,则可配对成功;或者,设备1随机生成或人工设定验证码,设备2输入与上述验证码,则可配对成功。
同账号机制是指设备1与设备2登录同一系统账号,系统将通过分布式软总线进行配对,具体步骤如下:设备1发送配对请求给设备2;设备2读取本地账号信息;设备2验证本地账号信息与设备1账号信息是否一致,示例性地,设备2验证本地账号信息和设备1的账号信息是否一致,可采用安全凭证服务(Security Token Service,STS)进行验证;若验证成功,则设备1与设备2配对成功。在一些实施例中,在设备2验证本地账号信息与设备1账号信息前,还可以判断设备1与设备2是否为首次配对;若设备1与设备2为首次配对,设备2可采用口令认证密钥交换(PAKE)对设备1进行认证;若设备1与设备2不是首次配对,需要核对设备2的本地注册表信息中是否有设备1信息,其中,本地注册表信息包括设备2已经配对过的设备的信息。应理解,本方案对电子设备100配对原则不作具体限定。
S803、判断是否配对成功。
具体地,设备1与设备2完成配对验证后,将判断配对是否成功,若配对成功则执行步骤S804;若配对失败则执行步骤S805。
S804、设备1加入组网。
具体地,设备1配对成功后,设备1将加入设备2的组网,设备1以及组网中的其他设备将更新组网信息,其中,组网信息至少包括组网内所有电子设备100的唯一标识。
可选地,在设备1加入组网后,可对组网中电子设备100进行筛选,进而确认电子设备100的协助设备,协助设备可以为一个或多个,本方案对协助设备的数量不作具体限定。其中,对电子设备100筛选得到协助设备,可以是根据协助设备的设备信息进行筛选,例如,筛选RAM、CPU或联网性能状态更好的电子设备100作为协助设备。
S805、继续等待配对。
具体地,设备1配对失败后,将继续等待组网中处于配对状态的设备,并再次发起配对。
上述描述了设备1与设备2配对,设备1加入设备2组网的过程,通过上述过程,设备1能在加入设备2的组网后,能同组网内其他电子设备进行通信,并在设备1需要使用Kit时,组网内的设备能对设备1进行协助验证。
下面结合图9对上述步骤S711-步骤S713进行补充说明,如图9所示,为设备2进行协助验证的步骤,包括:
S901、设备1在同一组网的电子设备中筛选协助设备,其中,设备1筛选RAM、CPU或联网性能状态更好的电子设备100作为协助设备。具体地,设备1加入组网后,将获取局域网内所有设备的设备信息,在设备1接收到Kit使用请求,并判断到本地认证信息在有效期内后,设备1将根据局域网内所有设备的设备信息,选择具备联网功能的设备作为设备1的协助设备,在另一些实施例中,设备1还根据网络时延、网络带宽、内存大小、内存频率、以及CPU工作频率、CPU缓存大小等进行筛选,选择时延低、带宽大、内存大、内存频率高、CPU工作频率高、CPU缓存较大的设备作为协助设备。
S902、设备1向协助设备发送协助验证请求。
S903、设备2根据实际情况确认是否同意设备1的协助验证请求,例如,若设备2的处理器处于忙绿状态,可拒绝设备1的协助验证请求。又例如,设备2中未存储设备1的认证信息,设备2可拒绝设备1的协助验证请求若所有协助设备都拒绝协助验证请求,则设备1将进入等待验证状态,直到存在协助设备可进行协助验证,则向该设备1发送同意请求;若设备2可以进行协助验证,则向该待认证设备发送同意请求。
S904、设备1接收到同意请求后,设备1向设备2发送设备1的认证信息。
S905、设备2在设备2的存储信息中查找到设备1的认证信息,将该认证信息与设备1发送的认证信息进行比对,并返回验证结果。
在一些实施例中,可选地,在设备1向设备2发送协助验证请求时,也可将认证信息一并发送给设备2。也即是说,在步骤S902中设备1向协助设备发送协助验证请求和认证信息,若设备2同意设备1的协助验证请求,则执行步骤S905、设备2在设备2的存储信息中查找到设备1的认证信息,将该认证信息与设备1发送的认证信息进行比对,并返回验证结果,无需执行步骤S903、步骤S904。
在一些实施例中,可选地,在设备1向设备2发送协助验证请求后,若设备2同意设备1的协助验证请求,设备2向设备1发送设备2存储的设备1的认证信息,由设备1对设备2发送的认证信息与设备1存储的认证信息进行比对,并生成验证结果。
下面结合图10介绍本申请提供的一种设备认证方法的步骤流程,其中,设备1为待认证设备,设备1不具备联网功能,所述设备1也可称为第一设备;设备2为协助设备,所述设备2也可称为协助验证设备、协助认证设备或第二设备,包括:
S1001、设备1与设备2完成组网。
具体地,设备1在启动后,将通过分布式软总线加入局域网,使设备1能与局域网下的其他电子设备100相互通信。在一些实施例中,设备1在加入组网后,将对该局域网下的其他电子设备100进行筛选,选择具备联网能力的设备作为设备1的协助设备。具体步骤参见上述关于图8的描述。
S1002、设备1向设备2发送认证请求。
具体地,设备1通过蓝牙或Wi-Fi等方式向设备2发送认证请求,其中,认证请求至少包括待认证设备的唯一标识以及Kit的唯一标识。在一些实施例中,设备1发送的认证请求包括请求获取组网内所有电子设备的认证信息。
S1003、设备2向认证服务器200转发认证请求。
具体地,具有联网能力的协助设备,将设备1的认证请求发送给认证服务器200。
S1004、认证服务器向设备2发送认证信息
具体地,认证服务器收到认证请求后,将根据认证请求对待认证设备进行鉴权认证,确认该待认证设备是否具有访问该Kit的权利,并生成认证信息发送给设备2。其中,该认证信息包括该待认证设备的设备标识、该设备标识能够调用的kit服务等信息。可选地,认证服务器可根据实际情况为认证信息设定有限期限。
S1005、设备2存储认证信息。
具体地,设备2接收到设备1的认证信息后,将存储该认证信息。可选地,若设备1具有多个协助设备,设备2将发送该认证信息给每个协助设备,每个协助设备均将存储设备1的认证信息。
S1006、设备2向设备1转发认证信息。设备1接收到认证信息后,将存储该认证信息。设备1保存在本地的认证信息也可称为第一认证信息
以上描述了设备1加入组网,通过设备2从认证服务器200获取认证信息的过程,其中,需要说明的是,步骤S1006设备1通过设备2向认证服务器200获取到的认证信息可以是自身的认证信息;也可以是组网内所有电子设备的认证信息,此时,设备2在向设备2转发认证信息前,会存储其他电子设备得认证信息。也即是说,其他电子设备能在设备1获取认证信息时,能够同步更新自身的认证信息,无需在更新的认证信息失效前再向认证服务器获取认证信息,从而能够降低其他电子设备向认证服务器获取认证信息的频率,减少了在业务使用过程中其他电子设备向认证服务器同步认证信息产生的延时,提高了业务响应速度。
在一些实施例中,设备2接收到认证服务器发送的认证信息后,不存储认证信息,直接转发认证信息给设备1,即不执行步骤S1005,在步骤S1004后,直接执行步骤S1006。在这种情况下,设备1在接收到认证信息后,将转发该认证信息给组网内所有设备,组网内其他设备将存储该认证信息。
S1007、接收Kit使用请求。
具体地,其他电子设备可以通过应用程序调用设备1的功能,其他电子设备针对设备1中的第一功能向设备1发起Kit使用请求,所述Kit使用请求可也称为调用请求。例如设备1为摄像头,手机想要调用摄像头的摄像功能,手机可以向摄像头发送请求消息,该请求消息中包括DV kit的标识,用于请求调用摄像头的DV kit。
在一些实施例中,Kit使用请求是由用户针对第一设备中的第一功能进行的操作而发起的。
在一些实施例中,设备1在运行时,需要使用Kit,将向设备1的Kit服务子系统发起Kit使用请求。
S1008、认证本地存储的认证信息。
具体地,设备1接收到Kit使用请求后,设备1对需要被调用的Kit进行认证,此时,Kit服务会通过接口调用Kit框架中的Kit管理模块,由Kit管理模块能完成认证信息的认证。Kit管理模块将从设备1的存储器中获取设备1本地存储的认证信息,通过认证信息中的认证信息更新状态判断本地认证信息是否通过认证。可选地,若设备1中认证信息使用了HMAC密钥,则在判断本地认证信息是否通过验证前,需要对HMAC密钥进行验证。
S1009、判断该本地存储的认证信息是否在有效期内。
具体地,若设备1中本地存储的认证信息更新状态为认证信息超过有效期或认证信息待认证服务器认证,则执行下述步骤S1010;若认证信息更新状态为在有效期内,则执行下述步骤S1015。在一些实施例中若设备1中本地存储的认证信息使用了HMAC密钥签名,则设备1还需要对认证信息的HMAC密钥进行验证。
若不在有效期内,执行S1010、设备1向设备2发送认证请求。
具体地,设备1通过蓝牙或Wi-Fi等方式向设备2发送认证请求,具体请参见上述步骤S1002,此处不再赘述。
S1011、设备2向认证服务器200转发认证请求。
具体地,具有联网能力的协助设备,将设备1的认证请求发送给认证服务器200。
S1012、认证服务器向设备2发送认证信息。
具体地,认证服务器收到认证请求后,将根据认证请求对待认证设备进行鉴权认证,确认该待认证设备是否具有访问该Kit的权利,并生成认证信息发送给设备2。具体请参见上述步骤S1004,此处不再赘述。
S1013、设备2存储认证信息。
具体地,设备2接收到设备1的认证信息后,将存储该认证信息。具体请参见上述步骤S1005,此处不再赘述。
S1014、设备2转发向设备1认证信息。设备1接收到认证信息后,将存储该认证信息。
这种情况下,设备1接收到认证信息之后,设备1直接执行S717。
若在有效期内,执行S1015、设备1向设备2发送协助验证请求。
具体地,设备1通过协助验证模块发起协助验证请求并从本地存储中获取设备1的协助设备列表,其中,协助验证请求包括设备1存储的认证信息。在另一些实施例中,待认证设备先向协助设备发送协助验证请求,在协助设备同意请求后,再向协助设备发送待认证设备本地存储的认证信息。
可选地,待认证设备发起协助验证后,对协助认证再进行筛选,包括:从本地存储中获取与待认证设备已配对的电子设备列表,根据筛选原则从配对设备列表中筛选出可对待认证设备进行协助验证的协助设备。其中,筛选原则可参见关于步骤S804的描述,此处不再赘述。
S1016、对设备1的认证信息进行验证。
具体地,设备2将在设备2的存储信息中查找到设备1的认证信息,将该认证信息与设备1发送的认证信息进行比对,并返回验证结果,其中,若比对结果为一致,则认为设备1的认证信息可信;若比对结果为不一致,则认为设备1的认证信息不可信,设备1的认证信息可能被篡改,;若设备2存储的认证信息更新日期在设备1存储的认证信息之前,则认为协助设备的认证信息过期,需要更新设备2中存储的认证信息后再进行验证。
示例性地,设备1的认证结果可信时,则返回验证通过,可用标识“PASS”表示;若设备2存储的认证信息更新日期在设备1存储的认证信息之前,则返回验证结果过期,可用标识“OUT_OF_DATE”;若设备1的认证结果不可信,则返回验证不通过,可用标识“FAKE”表示。
可选地,若待认证设备中认证信息或协助设备存储的认证信息使用了HMAC密钥,则在验证前,需要对HMAC密钥进行验证。
S1017、设备2返回验证结果给设备1。
具体地,如步骤S1016所示,验证结果包括:认证信息可信、认证信息不可信。可选地,若设备2的验证结果为设备2认证信息过期,则待设备2更新认证信息并给设备1进行协助验证后,再返回验证结果。
S1018、设备1判断本地认证信息是否可信。
具体地,设备1接收设备2返回的验证结果,并根据验证结果判断设备1的本地认证信息是否通过验证,若设备1判断本地认证信息可信,则执行下述步骤S1024;若设备1判断本地认证信息不可信,则执行下述步骤S1019。
可选地,若存在多个协助设备,若部分协助设备中存储的认证信息与待认证设备的认证信息不同,其中,协助设备中存储的认证信息与待认证设备的认证信息不同的协助设备在所有协助设备中所占的比例大于或等于预设比例时,则认为所述第一认证信息不可信,或者,协助设备中存储的认证信息与待认证设备的认证信息不同的协助设备的个数大于或等于保存的认证信息与所述第一认证信息相同的协助设备时,则认为所述第一认证信息不可信。例如,若超过半数协助设备的认证信息与待认证设备的认证信息相同,则认为待认证设备中的认证信息可信;若超过半数协助设备的认证信息与待认证设备的认证信息不同,则认为待认证设备中的认证信息不可信。
可选地,若存在多个协助设备,在判断待认证设备中的认证信息是否可信时,也可以采用以下方式:多个协助验证设备接收的验证结果确定保存的认证信息与第一认证信息不相同的协助验证设备的个数大于或等于预设个数时,则认为待认证设备中的认证信息不可信。例如:只要存在一个协助设备的认证信息与待认证设备的认证信息不同,则认为待认证设备中的认证信息不可信。
若设备1判断本地存储的认证信息不可信,执行S1019、设备1向设备2发送认证请求。
具体地,在设备1判断本地存储的认证信息不可信的情况下,设备1通过蓝牙或Wi-Fi等方式向设备2发送认证请求,具体请参见上述步骤S1002,此处不再赘述。
S1020、设备2向认证服务器200转发认证请求。
具体地,具有联网能力的协助设备,将设备1的认证请求发送给认证服务器200。
S1021、认证服务器向设备2发送认证信息。
具体地,认证服务器收到认证请求后,将根据认证请求对待认证设备进行鉴权认证,确认该待认证设备是否具有访问该Kit的权利,并生成认证信息发送给设备2。具体请参见上述步骤S1004,此处不再赘述。
S1022、设备2存储认证信息。
具体地,设备2接收到设备1的认证信息后,将存储该认证信息。具体请参见上述步骤S1005,此处不再赘述。
S1023、设备2转发向设备1认证信息。
若设备1判断本地存储的认证信息可信,执行S1024、基于认证结果判断设备1是否可使用Kit。
具体地,在设备1判断本地存储的认证信息可信的情况下,设备1根据认证信息中的认证结果确定设备1是否可使用Kit。其中,若认证结果为设备1不可使用该Kit,则执行步骤S1025;若认证结果为设备1可使用该Kit,则执行步骤S1026。
S1025、拒绝Kit使用请求。
具体地,若设备1认证信息中的认证结果为设备1不可使用该Kit,设备1则拒绝Kit使用请求。可选地,设备1可弹窗提示用户:设备1不具备使用该Kit的权利。
S1026、使用Kit。
具体地,若设备1认证信息中的认证结果为设备1可以使用该Kit,设备1的Kit框架将返回认证结果给Kit服务子系统,Kit服务子系统将提供Kit服务给Kit使用请求的发送方。
在一些实施例中,可选地,设备1在执行步骤S1002、步骤S1010、步骤S1019时,设备1可以向组网内任一可以联网的设备发送认证请求,由该设备转发认证请求给认证服务器以及转发认证信息给设备1,即转发认证请求给认证服务器和转发认证信息给设备1的设备可以不是设备2。
综上所述,若设备1的认证信息是不可使用Kit,被篡改为可以使用该Kit,通过本申请提供的设备认证方法,能发现设备1的认证信息与设备2和/或设备3的认证信息不符,进而发现设备1认证信息被篡改,防止了未授权设备越权使用Kit的情况;若设备1的认证信息是可以使用Kit,被篡改为不可以使用该Kit,通过本申请提供的设备认证方法,能发现设备1的认证信息与设备2和/或设备3的认证信息不符,进而发现设备1认证信息被篡改,防止了已授权设备不能正常使用的情况。
本申请提供的设备认证方法,能发现电子设备认证信息是否被篡改,提高了系统的安全性;并且,该方法还能及时通过其他电子设备同步认证信息,降低电子设备向认证服务器获取认证信息的频率,减少了在业务使用过程中向认证服务器同步认证信息产生的延时,提高了业务响应速度。
下面结合应用场景对本申请提供的设备认证方法进行举例说明。
如图11所示,手机、电视、电饭煲和摄像头在一个组网中。其中,电视的设备唯一标识为ID1,电饭煲的设备唯一标识为ID2,摄像头的设备唯一标识为ID3。在某次端云认证之后,组网中的电视、电饭煲和摄像头都缓存了各设备的认证信息,其中,电视由于没有通过审核所以不允许使用DV Kit,认证结果为DENY,但存在设备4对电视中存储的认证信息进行了篡改,将DENY改成了PASS。
此时,用户需要使用DV Kit的业务时,需要经过如下流程:
S1101、发送Kit使用请求。
具体地,用户可以通过电子设备101的应用程序投屏到电视上,即调用电视的显示功能,应用程序获取到用户的操作后,将向电视发起Kit使用请求,该Kit使用请求用于请求使用电视Kit服务子系统的DV Kit。
S1102、电视认证本地认证信息。
具体地,DV Kit服务向电视的Kit管理模块发起设备认证,Kit管理模块读取电视存储认证信息并认证该认证信息,得到认证结果为“PASS”,认证信息在有效期内。
S1103、电视向电饭煲和摄像头发起协助验证。
具体地,电视向组网中的摄像头和电饭煲发起协助验证请求;摄像头和电饭煲将存储的电视认证信息与电视的认证信息进行对比,其中,摄像头和电饭煲存储的电视的DVkit认证结果为“DENY”,得到与电视的认证信息不匹配的结果。
S1104、返回验证结果。
具体地,摄像头和电饭煲返回验证结果“FAKE”给电视,电视综合两个协助设备的认证信息,确定电视的认证信息被篡改。
S1105、电视发起端云认证。
具体地,电视连接认证服务器200记性端云认证获取最新的认证信息。
S1106、认证服务器200返回认证结果。
具体地,认证服务器200返回认证结果给电视,其中,认证结果为“DENY”。
S1107、弹窗提醒设备认证信息被篡改。
可选地,若电视联网失败,无法从认证服务器200获取认证信息,则电视向电子设备101返回验证失败的信息,电子设备101接收到该信息后,弹窗提醒用户认证信息已被篡改。
综上所述,通过本申请提供的设备认证方法,能发现摄像头和电饭煲存储的电视的认证信息与电视的认证信息不符,进而发现电视认证信息被篡改,阻止了未授权的电视越权使用Kit的情况,提高了系统的安全性。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (23)
1.一种设备认证方法,其特征在于,应用于第一设备,包括:
在检测到针对所述第一设备上第一功能的调用请求时,发送第一认证信息给至少一个协助验证设备,其中,所述第一设备和所述至少一个协助验证设备均保存有所述第一设备上所述第一功能的认证信息,且所述第一认证信息为所述第一设备保存的所述第一功能的认证信息;
从所述至少一个协助验证设备接收验证结果,其中,从任一协助验证设备接收的验证结果用于指示所述第一认证信息与所述协助验证设备保存的认证信息是否相同;
在根据从所述至少一个协助验证设备接收的验证结果确定所述第一认证信息不可信时,从认证服务器获取所述第一设备上所述第一功能的认证信息,并根据从所述认证服务器获取的认证信息中的认证结果控制对所述第一功能的执行,其中,所述认证结果用于指示所述第一设备是否被允许执行所述第一功能。
2.根据权利要求1所述的方法,其特征在于,所述至少一个协助验证设备仅包括一个协助验证设备;
所述根据从所述至少一个协助验证设备接收的验证结果确定所述第一认证信息不可信,包括:在根据从所述协助验证设备接收的验证结果确定所述第一认证信息与所述协助验证设备保存的认证信息不相同时,确定所述第一认证信息不可信。
3.根据权利要求1所述的方法,其特征在于,所述至少一个协助验证设备包括多个协助验证设备;
所述根据从所述至少一个协助验证设备接收的验证结果确定所述第一认证信息不可信,包括:
在根据从所述多个协助验证设备接收的验证结果确定保存的认证信息与所述第一认证信息不相同的协助验证设备的个数大于或等于预设个数时,确定所述第一认证信息不可信;或者,
在根据从所述多个协助验证设备接收的验证结果确定保存的认证信息与所述第一认证信息不相同的协助验证设备在所述多个协助验证设备中所占的比例大于或等于预设比例时,确定所述第一认证信息不可信;或者,
在根据从所述多个协助验证设备接收的验证结果确定保存的认证信息与所述第一认证信息不相同的协助验证设备的个数大于或等于保存的认证信息与所述第一认证信息相同的协助验证设备时,确定所述第一认证信息不可信。
4.根据权利要求1-3任一所述的方法,其特征在于,所述调用请求来自其它设备;或者,所述调用请求来自针对所述第一设备的用户操作。
5.根据权利要求1-4任一所述的方法,其特征在于,所述至少一个协助验证设备与所述第一设备位于同一局域网。
6.根据权利要求5所述的方法,其特征在于,在检测到针对所述第一设备上第一功能的调用请求之前,所述方法还包括:
所述第一设备向所述认证服务器发送认证请求,其中,所述认证请求用于请求所述认证服务器对所述第一设备上所述第一功能进行认证;
所述第一设备接收所述认证服务器根据所述认证请求发送的所述第一功能的认证信息,并将所述认证信息保存为第一认证信息。
7.根据权利要求6所述的方法,其特征在于,所述第一设备接收所述认证服务器根据所述认证请求发送的所述第一功能的所述认证信息之后还包括:
所述第一设备将所述认证信息发送给所述至少一个协助验证设备。
8.根据权利要求5所述的方法,其特征在于,在检测到针对所述第一设备上第一功能的调用请求之前,所述方法还包括:
第一设备向协助认证设备发送所述认证请求,并指示所述协助认证设备向所述认证服务器转发所述认证请求,其中,所述认证请求用于请求所述认证服务器对所述第一设备上所述第一功能进行认证;
所述第一设备通过所述协助认证设备接收所述认证服务器根据所述认证请求发送的所述第一功能的认证信息,并保存所述认证信息。
9.根据权利要求8所述的方法,其特征在于,所述至少一个协助验证设备包括所述协助认证设备。
10.根据权利要求1-9任一所述的方法,其特征在于,所述响应于所述调用请求,所述第一设备发送所述第一认证信息给至少一个协助验证设备,包括:
响应于所述第一调用请求,所述第一设备检测所述第一认证信息是否在有效期内;
当所述第一设备检测到所述第一认证信息在有效期内,所述第一设备发送第一认证信息给所述至少一个协助验证设备。
11.根据权利要求1-10任一所述的方法,其特征在于,所述第一认证信息使用了哈希运算加密,所述在检测到针对所述第一设备上第一功能的调用请求时,发送第一认证信息给至少一个协助验证设备,包括:
在检测到针对所述第一设备上第一功能的调用请求时,所述第一设备采用哈希运算消息认证码验证所述第一认证信息;
当所述第一设备验证通过,所述第一设备发送第一认证信息给所述至少一个协助验证设备。
12.根据权利要求1-11任一所述的方法,其特征在于,在响应于所述调用请求,所述第一设备发送所述第一认证信息给至少一个协助验证设备之前,所述方法还包括:
所述第一设备在所述第一设备所属的局域网的设备中确定满足预设条件的设备作为所述协助验证设备,其中,所述预设条件包括存储有所述第一设备上所述第一功能的认证信息。
13.根据权利要求1-12任一所述的方法,其特征在于,响应于所述第一调用请求,所述第一设备发送所述第一认证信息给所述至少一个协助验证设备,包括:
响应于所述第一调用请求,所述第一设备向所述第一设备所在局域网中的每个设备发送协助验证请求;
所述第一设备接收到所述至少一个协助验证设备响应于所述协助验证请求发送的用于表示同意协助验证的协助验证响应;
所述第一设备响应于所述协助验证响应,向所述至少一个协助验证设备发送所述第一认证信息。
14.根据权利要求1-13任一所述的方法,其特征在于,所述从所述至少一个协助验证设备接收验证结果之后,所述方法还包括:
当根据从所述至少一个协助验证设备接收的验证结果确定所述第一认证信息可信时,根据所述第一认证信息中的认证结果控制对所述第一功能的执行。
15.一种设备认证方法,其特征在于,应用于第二设备,包括:
接收第一设备发送的第一认证信息,其中,所述第一认证信息为所述第一设备保存的所述第一设备上所述第一功能的认证信息;
确定所述第一认证信息和第二认证信息是否相同,所述第二认证信息为所述第二设备保存的所述第一设备上所述第一功能的认证信息;
所述第二设备向所述第一设备发送验证结果,其中,所述验证结果用于指示所述第二认证信息与所述第一认证信息是否相同。
16.根据权利要求15所述的方法,其特征在于,第二设备接收到第一设备发送的第一认证信息之前,所述方法还包括:
所述第二设备接收到所述第一设备发送的第一认证请求,其中,所述第一认证请求用于请求所述认证服务器对所述第一设备上所述第一功能进行认证;
所述第二设备根据所述第一设备的指示向所述认证服务器转发所述第一认证请求;
所述第二设备接收到所述认证服务器根据所述第一认证请求发送的所述第一功能的所述认证信息;
所述第二设备向所述第一设备转发所述认证信息。
17.根据权利要求15-16任一所述的方法,其特征在于,第二设备接收到第一设备发送的第一认证信息之前,所述方法还包括:
所述第二设备接收到所述第一设备发送的协助验证请求;
响应于所述协助验证请求,所述第二设备向所述第一设备发送用于表示同意协助验证的协助验证响应。
18.根据权利要求15所述的方法,其特征在于,所述第二设备接收到所述第一设备发送所述第一认证信息之前,所述方法包括:
所述第二设备接收所述第一设备发送的所述第一设备上所述第一功能的认证信息;
所述第二设备保存所述认证信息。
19.根据权利要求16所述的方法,其特征在于,所述第二设备接收到所述认证服务器根据所述第一认证请求发送的所述第一功能的所述认证信息之后,所述方法还包括:
所述第二设备保存所述认证信息。
20.一种设备认证系统,其特征在于,包括:第一设备、至少一个协助验证设备;
所述第一设备用于:
在检测到针对所述第一设备上第一功能的调用请求时,发送第一认证信息给所述至少一个协助验证设备,其中,所述第一设备和所述至少一个协助验证设备均保存有所述第一设备上所述第一功能的认证信息,且所述第一认证信息为所述第一设备保存的所述第一功能的认证信息;
从所述至少一个协助验证设备接收验证结果,其中,从任一协助验证设备接收的验证结果用于指示所述第一认证信息与所述协助验证设备保存的认证信息是否相同;
在根据从所述至少一个协助验证设备接收的验证结果确定所述第一认证信息不可信时,从认证服务器获取所述第一设备上所述第一功能的认证信息,并根据从所述认证服务器获取的认证信息中的认证结果控制对所述第一功能的执行,其中,所述认证结果用于指示所述第一设备是否被允许执行所述第一功能;
所述至少一个协助验证设备中的任一协助验证设备用于:
接收所述第一设备发送的所述第一认证信息,并向所述第一设备发送所述验证结果。
21.如权利要求20所述的设备认证系统,其特征在于,还包括所述认证服务器,所述认证服务器用于对所述第一设备上所述第一功能进行认证。
22.一种电子设备,其特征在于,包括:一个或多个处理器、一个或多个存储器;所述一个或多个存储器分别与所述一个或多个处理器耦合;所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令在所述处理器上运行时,使得所述电子设备执行如权利要求1-14或15-19所述的方法。
23.一种计算机可读介质,用于存储一个或多个程序,其中所述一个或多个程序被配置为被所述一个或多个处理器执行,所述一个或多个程序包括指令,所述指令用于执行如权利要求1-14或15-19所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110437541.0A CN115238259A (zh) | 2021-04-22 | 2021-04-22 | 一种设备认证方法以及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110437541.0A CN115238259A (zh) | 2021-04-22 | 2021-04-22 | 一种设备认证方法以及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115238259A true CN115238259A (zh) | 2022-10-25 |
Family
ID=83666387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110437541.0A Pending CN115238259A (zh) | 2021-04-22 | 2021-04-22 | 一种设备认证方法以及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115238259A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115550103A (zh) * | 2022-11-30 | 2022-12-30 | 深圳开鸿数字产业发展有限公司 | 储物系统的控制方法、储物系统及存储介质 |
-
2021
- 2021-04-22 CN CN202110437541.0A patent/CN115238259A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115550103A (zh) * | 2022-11-30 | 2022-12-30 | 深圳开鸿数字产业发展有限公司 | 储物系统的控制方法、储物系统及存储介质 |
CN115550103B (zh) * | 2022-11-30 | 2023-05-05 | 深圳开鸿数字产业发展有限公司 | 储物系统的控制方法、储物系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7326471B2 (ja) | ブルートゥーススキャン方法および電子デバイス | |
CN109905318B (zh) | 设备控制方法、装置及存储介质 | |
EP4092980B1 (en) | Account data sharing method and electronic device | |
CN111466099A (zh) | 一种登录方法、令牌发送方法及设备 | |
CN108769992B (zh) | 用户认证方法、装置、终端及存储介质 | |
CN112073421B (zh) | 通信处理方法、装置、终端及存储介质 | |
CN112585981A (zh) | 用于具有连续性的内容回放的方法及其电子装置 | |
CN111866140A (zh) | 融合管理设备、管理系统、服务调用方法及介质 | |
CN113676879A (zh) | 一种分享信息的方法、电子设备和系统 | |
CN112969089B (zh) | 一种http请求传输方法及设备 | |
CN112966297B (zh) | 数据保护方法、系统、介质及电子设备 | |
CN115238259A (zh) | 一种设备认证方法以及相关装置 | |
CN114500495B (zh) | 一种设备控制方法和设备控制系统 | |
CN116340913A (zh) | 登录方法、电子设备及计算机可读存储介质 | |
CN117425227A (zh) | 建立基于WiFi直接连接的会话的方法和装置 | |
CN111741040B (zh) | 连接建立方法、地址获取方法、装置、设备及存储介质 | |
CN115017498A (zh) | 小应用程序的操作方法和电子设备 | |
CN108683684B (zh) | 登录目标即时通讯应用的方法、装置和系统 | |
WO2024152898A1 (zh) | 一种控制方法、控制器、设备及控制系统 | |
CN117131481B (zh) | 用户登录方法和电子设备 | |
CN116743357B (zh) | 密钥存储方法和装置 | |
WO2024067166A1 (zh) | 共享文件的方法、电子设备及计算机可读存储介质 | |
WO2022042273A1 (zh) | 密钥使用方法及相关产品 | |
CN118102295A (zh) | 一种通信方法以及电子设备 | |
CN115550919A (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 |