CN108256309A - 硬件登录windows10以上***的实现方法及装置 - Google Patents

硬件登录windows10以上***的实现方法及装置 Download PDF

Info

Publication number
CN108256309A
CN108256309A CN201810021013.5A CN201810021013A CN108256309A CN 108256309 A CN108256309 A CN 108256309A CN 201810021013 A CN201810021013 A CN 201810021013A CN 108256309 A CN108256309 A CN 108256309A
Authority
CN
China
Prior art keywords
module
computer
key
result
encrypted
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.)
Granted
Application number
CN201810021013.5A
Other languages
English (en)
Other versions
CN108256309B (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201810021013.5A priority Critical patent/CN108256309B/zh
Publication of CN108256309A publication Critical patent/CN108256309A/zh
Priority to US16/770,569 priority patent/US11314853B2/en
Priority to PCT/CN2018/123211 priority patent/WO2019137193A1/zh
Application granted granted Critical
Publication of CN108256309B publication Critical patent/CN108256309B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic 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 involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开一种硬件登录windows10以上***的实现方法及装置,该方法包括:当计算机监控到硬件设备***时,根据与该硬件设备的设备标识对应的注册索引获取第一数据包;使用保存的第一加密密钥对第一数据包进行加密得到第一加密结果,将第一加密结果和注册索引发送给硬件设备进行验证;如验证成功则根据保存的与注册索引对应的第二设备密钥、第一解密结果中的第三随机数和第二会话随机数生成第三加密值和第四加密值;使用第二加密密钥对第三加密值和第四加密值进行加密得到第二加密结果,并将第二加密结果发送给计算机进行验证,如验证成功则允许登录,如验证失败则拒绝登录。本发明技术方案提高了登录过程的安全性,方便用户使用。

Description

硬件登录windows10以上***的实现方法及装置
技术领域
本发明涉及信息安全领域,尤其涉及一种硬件登录windows10以上***的实现方法及装置。
背景技术
随着计算机及网络技术与应用的不断发展,伴随而来的计算机***安全问题越来越被大家所重视。计算机***一旦遭受破坏,将给用户带来重大损失。伴随着云计算、大数据等新型技术的发展,对操作***用户的安全性要求越来越高,尤其是承载用户重要数据和业务程序的服务器操作***,而用户的密码安全更是重中之重。当前各种密码嗅探该工具、键盘输入监听程序及操作***关键进程的注入程序都成为了黑客们的最爱。黑客通过上述工具可以方便的获取或分析出用户的操作***登录密码,例如:网络上流程的mimikatz工具,可方便的获取已登录用户的密码。
现有的操作***主要以windows操作***为主,输入密码登录或pin码登录是最常用的一种方式,但是由于需要输出一串数字,容易泄露存在很大安全隐患。在windows10之前,windows本地硬件登录方式仅支持生物识别登录方式。生物识别对硬件和软件都要求过高,实现起来比较困难。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种硬件登录windows10以上***的实现方法及装置。
本发明提供了一种硬件登录windows10以上***的实现方法,包括认证过程,所述认证过程包括:
步骤S1:当计算机监控到硬件设备***时,获取所述硬件设备的设备标识,并根据与所述设备标识对应的注册索引获取第一数据包,所述第一数据包包括:第一随机数、第二随机数、第一会话随机数和第一加密值;
步骤S2:所述计算机使用保存的第一加密密钥对所述第一数据包进行加密得到第一加密结果,并将所述第一加密结果和所述注册索引发送给所述硬件设备;
步骤S3:所述硬件设备使用保存的第二加密密钥对接收到的所述第一加密结果进行解密得到第一解密结果,使用保存的与接收到的所述注册索引对应的第二配套服务框架密钥和所述第一解密结果中的第三随机数、第四随机数、第二会话随机数对所述第一解密结果中的第二加密值进行验证,如验证成功则执行步骤S4,如验证失败则给所述计算机返回错误信息,所述计算机接收到所述错误信息后拒绝登录;
步骤S4:所述硬件设备根据保存的与所述注册索引对应的第二设备密钥、所述第一解密结果中的第三随机数和第二会话随机数生成第三加密值和第四加密值;使用所述第二加密密钥对所述第三加密值和第四加密值进行加密得到第二加密结果,并将所述第二加密结果发送给所述计算机;
步骤S5:所述计算机使用所述第一加密密钥对接收到的第二加密结果进行解密得到第二解密结果,使用保存的与所述注册索引对应的第一设备密钥、所述第一随机数和所述第一会话随机数对所述第二解密结果进行验证,如验证成功则允许登录,如验证失败则拒绝登录。
进一步地,所述获取所述硬件设备的设备标识与所述根据与所述设备标识对应的注册索引获取第一数据包之间包括:所述计算机判断所述硬件设备是否已注册,是则根据与所述设备标识对应的注册索引获取第一数据包,否则拒绝登录。
进一步地,所述计算机判断所述硬件设备是否已注册,包括:
所述计算机获取注册列表;并判断获取到的设备标识与所述注册列表中的设备标识是否匹配,是则所述硬件设备已注册,否则所述硬件设备未注册。
进一步地,在所述步骤S1中,所述获取所述硬件设备的设备标识之前还包括:
所述计算机向所述硬件设备发送获取应用指令;所述硬件设备接收到获取应用指令后,给所述计算机返回数据;所述计算机接收硬件设备返回的数据并根据接收到的数据判断获取应用是否成功,是则获取所述硬件设备的设备标识,否则拒绝登录。
进一步地,所述步骤S1中的获取所述硬件设备的设备标识,包括:所述计算机向硬件设备发送获取设备标识指令;所述硬件设备接收获取设备标识指令并将自身的设备标识返回给所述计算机;所述计算机接收所述硬件设备返回的所述设备标识并保存。
进一步地,所述根据与所述设备标识对应的注册索引获取第一数据包之前包括:所述计算机将所述第二随机数、所述第一随机数、所述第一会话随机数进行拼接得到第一拼接结果,根据预设算法使用保存的与所述注册索引对应的第一配套服务框架密钥对所述第一拼接结果进行加密得到所述第一加密值;
所述步骤S3中的使用保存的与接收到的所述注册索引对应的第二配套服务框架密钥和所述第一解密结果中的第三随机数、第四随机数、第二会话随机数对所述第一解密结果中的第二加密值进行验证,包括:所述硬件设备将第一解密结果中的第三随机数、第四随机数、第二会话随机数进行拼接得到第二拼接结果,根据预设算法使用保存的与接收到的所述注册索引对应的第二配套服务框架密钥对所述第二拼接结果进行加密得到第一加密结果;判断所述第一加密结果与所述第一解密结果中的第二加密值是否相同,是则验证成功,否则验证失败。
进一步地,所述步骤S4中的所述硬件设备根据保存的与所述注册索引对应的第二设备密钥、所述第一解密结果中的第三随机数和第二会话随机数生成第三加密值和第四加密值,包括:所述硬件设备使用与所述注册索引对应的第二设备密钥根据预设算法对所述第一解密结果中的第三随机数进行加密得到第三加密值;使用所述第二设备密钥根据预设算法对所述第一解密结果中的第二会话随机数进行加密得到第四加密值;
所述步骤S5中的使用保存的与所述注册索引对应的第一设备密钥、所述第一随机数和所述第一会话随机数对所述第二解密结果进行验证,包括:所述计算机根据预设算法使用保存的与所述注册索引对应的第一设备密钥对保存的第一随机数进行加密得到第五加密值;根据所述预设算法使用所述第一设备密钥对保存的第一会话随机数进行加密得到第六加密值;判断所述第五加密值和所述第六加密值是否与所述第二解密结果匹配,是则验证成功,允许登录,否则验证失败,拒绝登录。
进一步地,所述方法还包括注销过程,所述注销过程包括:
步骤P1:当所述计算机接收到用户选择的删除信息时获取注册列表;
步骤P2:所述计算机判断接收到的删除信息是否与所述注册列表中的信息匹配,是则执行步骤P3,否则拒绝注销;
步骤P3:所述计算机提示用户确认进行删除操作,当接收到用户的确认删除信息时,将与用户选择的删除信息对应的信息从注册列表中删除,注销流程结束。
进一步地,所述方法还包括注册过程,所述注册过程包括:
步骤A1:当所述计算机接收到注册触发信息时,进行初始化并开始监控硬件设备;
步骤A2:当所述计算机监控到硬件设备***时,获取所述硬件设备的设备标识;并获取注册列表;
步骤A3:所述计算机判断获取到的设备标识与所述注册列表中的设备标识是否匹配,是则提示当前硬件设备已注册,注册流程结束;否则执行步骤A4;
步骤A4:所述计算机与所述硬件设备协商加密密钥并保存;
步骤A5:所述计算机向所述硬件设备发送注册命令;
步骤A6:所述硬件设备接收注册命令,并更新注册索引,生成第二设备密钥和第二配套服务框架密钥并与所述注册索引对应保存,使用保存的第二加密密钥对所述第二设备密钥和所述第二配套服务框架密钥进行加密得到第三加密结果;
步骤A7:所述硬件设备将所述第三加密结果和所述注册索引发送给所述计算机;
步骤A8:所述计算机保存接收到的所述注册索引,并使用保存的第一加密密钥对接收到的所述第三加密结果进行解密;
步骤A9:所述计算机将设备标识、从所述第三加密结果中解密得到的第一设备密钥和第一配套服务框架密钥与所述注册索引对应保存在所述注册列表中。
进一步地,在所述步骤A2中的获取所述硬件设备的设备标识之前还包括:
所述计算机向所述硬件设备发送获取应用指令;所述硬件设备接收到获取应用指令后给所述计算机返回数据;所述计算机接收所述硬件设备返回的数据并根据接收到的所述数据判断获取应用是否成功,是则获取所述硬件设备的设备标识,否则提示注册失败。
进一步地,所述步骤A2中的获取所述硬件设备的设备标识包括:所述计算机向硬件设备发送获取设备标识指令;所述硬件设备接收获取设备标识指令并将自身的设备标识返回给所述计算机;所述计算机接收所述硬件设备返回的所述设备标识并保存。
进一步地,在所述步骤A3和步骤A4之间还包括:所述计算机提示用户输入用户注册名;当所述计算机接收到用户输入的用户注册名时保存所述用户注册名。
进一步地,所述步骤A4包括:
步骤A41:所述计算机生成第一密钥并保存,使用所述第一密钥根据预设算法对第一预设数据进行加密得到第五加密结果,并将所述第一密钥和所述第五加密结果发送给所述硬件设备;
步骤A42:所述硬件设备接收所述计算机发送的所述第一密钥和所述第五加密结果,使用所述第一密钥解密所述第五加密结果,判断解密结果是否为所述第一预设数据,是则执行步骤A43,否则给所述计算机返回注册错误信息,结束;
步骤A43:所述硬件设备生成第二密钥,根据所述第一密钥和所述第二密钥生成第二加密密钥并保存;使用所述第二密钥根据预设算法对所述解密结果进行加密得到第六加密结果,将所述第二密钥和所述第六加密结果发送给所述计算机;
步骤A44:所述计算机接收所述硬件设备发送的所述第二密钥和所述第六加密结果,使用所述第二密钥解密所述第六加密结果,判断解密结果是否为所述第一预设数据,是则执行步骤A45,否则提示注册失败,结束;
步骤A45:所述计算机根据保存的所述第一密钥和获取的所述第二密钥生成第一加密密钥并保存。
进一步地,所述根据所述第一密钥和所述第二密钥生成第二加密密钥包括:将所述第一密钥的前8字节数据和所述第二密钥的后8字节数据进行拼接得到第二加密密钥;
所述步骤A45包括:所述计算机将保存的所述第一密钥的前8字节数据和获取的所述第二密钥的后8字节数据进行拼接得到第一加密密钥并保存。
进一步地,所述步骤A9之前包括:
步骤B1:所述计算机弹出验证PIN码框,提示用户输入PIN码;
步骤B2:当所述计算机接收到用户输入的PIN码时,判断用户输入的PIN码是否与保存的PIN码相同,是则执行步骤A9,否则提示注册失败。
本发明又提供了一种硬件登录windows10以上***的实现装置,包括计算机和硬件设备;所述计算机包括:
第一获取模块,用于在认证过程中当所述计算机监控到硬件设备***时,获取所述硬件设备的设备标识;
第二获取模块,用于根据与所述第一获取模块获取的设备标识对应的注册索引获取第一数据包,所述第一数据包包括:第一随机数、第二随机数、第一会话随机数和第一加密值;
第一加密模块,用于使用保存的第一加密密钥对所述第二获取模块获取的第一数据包进行加密得到第一加密结果;
第一发送模块,用于将所述注册索引和所述第一加密模块得到的第一加密结果发送给所述硬件设备;
第一接收模块,用于在认证过程中接收所述硬件设备发送的第二加密结果或错误信息;
第一解密模块,用于使用保存的第一加密密钥对所述第一接收模块接收到的第二加密结果进行解密得到第二解密结果;
第一验证模块,用于使用保存的与所述注册索引对应的第一设备密钥、所述第一随机数和所述第一会话随机数对所述第一解密模块得到的第二解密结果进行验证;
允许登录模块,用于在所述第一验证模块验证成功时允许登录;
拒绝登录模块,用于在所述第一接收模块接收到所述错误信息后或所述第一验证模块验证失败时拒绝登录;
所述硬件设备包括:
第二接收模块,用于在认证过程中接收所述计算机发送的第一加密结果和注册索引;
第二解密模块,用于使用保存的第二加密密钥对所述第二接收模块接收到的所述第一加密结果进行解密得到第一解密结果;
第二验证模块,用于使用保存的与所述第二接收模块接收到的所述注册索引对应的第二配套服务框架密钥和所述第二解密模块得到的第一解密结果中的第三随机数、第四随机数、第二会话随机数对所述第二接收模块接收到的第一解密结果中的第二加密值进行验证;
第一生成模块,用于当所述第二验证模块验证成功时根据保存的与所述第二接收模块接收到的所述注册索引对应的第二设备密钥、所述第二解密模块得到的第一解密结果中的第三随机数和第二会话随机数生成第三加密值和第四加密值;
第二加密模块,用于使用所述第二加密密钥对所述第一生成模块生成的第三加密值和第四加密值进行加密得到第二加密结果;
第二发送模块,用于在所述第二验证模块验证失败时给所述计算机返回错误信息,还用于将所述第二加密模块得到的所述第二加密结果发送给所述计算机。
进一步地,所述计算机还包括:
第一判断模块,用于在认证过程中判断所述硬件设备是否已注册,是则触发所述第二获取模块,否则触发所述拒绝登录模块;
所述拒绝登录模块,还用于在所述第一判断模块判断为否时拒绝登录。
进一步地,所述第一判断模块包括:
第一获取单元,用于获取注册列表;
第一判断单元,用于判断所述第一获取模块获取到的设备标识与所述第一获取单元获取的所述注册列表中的设备标识是否匹配,是则所述硬件设备已注册,否则所述硬件设备未注册。
进一步地,所述计算机还包括第二判断模块;
所述第一发送模块还用于向所述硬件设备发送获取应用指令;
所述第二接收模块还用于接收所述计算机发送的获取应用指令;
所述第二发送模块还用于给所述计算机返回数据;
所述第一接收模块还用于接收所述硬件设备返回的数据;
所述第二判断模块用于根据所述第一接收模块接收到的数据判断获取应用是否成功,是则触发所述第一获取模块,否则触发所述拒绝登录模块;
所述拒绝登录模块,还用于在所述第二判断模块判断为否时拒绝登录。
进一步地,所述第一获取模块具体用于向硬件设备发送获取设备标识指令;并接收所述硬件设备返回的设备标识并保存;
所述第二接收模块还用于接收获取设备标识指令;
所述第二发送模块还用于在所述第二接收模块接收到获取设备标识指令后将自身的设备标识返回给所述计算机。
进一步地,所述计算机还包括:
拼接加密模块,用于将所述第二随机数、所述第一随机数、所述第一会话随机数进行拼接得到第一拼接结果,根据预设算法使用保存的与所述注册索引对应的第一配套服务框架密钥对所述第一拼接结果进行加密得到所述第一加密值;
所述第二验证模块具体用于将所述第二解密模块得到的第一解密结果中的第三随机数、第四随机数、第二会话随机数进行拼接得到第二拼接结果,根据预设算法使用保存的与所述第二接收模块接收到的所述注册索引对应的第二配套服务框架密钥对所述第二拼接结果进行加密得到第一加密结果;判断所述第一加密结果与所述第二接收模块接收到的第一解密结果中的第二加密值是否相同,是则验证成功,否则验证失败。
进一步地,所述第一生成模块具体用于当所述第二验证模块验证成功时,使用与所述第二接收模块接收到的所述注册索引对应的第二设备密钥根据预设算法对所述第二解密模块得到的第一解密结果中的第三随机数进行加密得到第三加密值;使用所述第二设备密钥根据预设算法对所述第二解密模块得到的第一解密结果中的第二会话随机数进行加密得到第四加密值;
所述第一验证模块具体用于根据预设算法使用保存的与所述注册索引对应的第一设备密钥对保存的第一随机数进行加密得到第五加密值;根据所述预设算法使用所述第一设备密钥对保存的第一会话随机数进行加密得到第六加密值;判断所述第五加密值和所述第六加密值是否与所述第二解密结果匹配,是则验证成功,允许登录,否则验证失败,拒绝登录。
进一步地,所述计算机还包括第三获取模块、第三判断模块、确认删除模块:
所述第一接收模块还用于在注销过程中接收用户选择的删除信息;
所述第三获取模块用于在所述第一接收模块接收到删除信息后获取注册列表;
所述第三判断模块用于判断所述第一接收模块接收到的删除信息是否与所述第三获取模块获取的注册列表中的信息匹配,如不匹配拒绝注销;
所述确认删除模块,用于在所述第三判断模块判断为是时提示用户确认进行删除操作,当接收到用户的确认删除信息时,将与用户选择的删除信息对应的信息从注册列表中删除。
进一步地,所述计算机还包括第一初始化模块、第四获取模块、第五获取模块、第四判断模块、协商保存模块、第三解密模块、第一保存模块;
所述第一接收模块还用于在注册过程中接收注册触发信息,还用于接收所述硬件设备发送的注册索引、第三加密结果;
所述第一初始化模块,用于在所述第一接收模块接收到注册触发信息时,进行初始化并开始监控硬件设备;
所述第四获取模块,用于当所述第一初始化模块监控到硬件设备***时,获取所述硬件设备的设备标识;
所述第五获取模块,用于在注册过程中获取注册列表;
所述第四判断模块,用于判断所述第四获取模块获取到的设备标识与所述第五获取模块获取到的注册列表中的设备标识是否匹配,如匹配则提示当前硬件设备已注册;
所述协商保存模块,用于在所述第四判断模块判断为否时与所述硬件设备协商加密密钥并保存;
所述第一发送模块还用于在注册过程中向所述硬件设备发送注册命令;
所述第一保存模块,用于在注册过程中保存所述第一接收模块接收到的所述注册索引;
所述第三解密模块用于使用保存的第一加密密钥对所述第一接收模块接收到的所述第三加密结果进行解密;
所述第一保存模块,还用于将所述第四获取模块获取的设备标识、所述第三解密模块从所述第三加密结果中解密得到的第一设备密钥和第一配套服务框架密钥与所述注册索引对应保存在所述第五获取模块获取的注册列表中;
所述硬件设备还包括:更新模块、生成保存模块、第三加密模块;
所述第二接收模块还用于在注册过程中接收所述计算机发送的注册命令;
所述更新模块用于在所述第二接收模块接收到注册命令后更新注册索引,
所述生成保存模块用于生成第二设备密钥和第二配套服务框架密钥并与所述注册索引对应保存,
所述第三加密模块用于使用保存的第二加密密钥对所述生成保存模块生成的第二设备密钥和所述第二配套服务框架密钥进行加密得到第三加密结果;
所述第二发送模块还用于将所述第三加密模块得到的第三加密结果和所述更新模块更新后的注册索引发送给所述计算机。
进一步地,所述计算机还包括第五判断模块;
所述第一发送模块还用于在注册过程中向所述硬件设备发送获取应用指令;
所述第二接收模块还用于在注册过程中接收所述计算机发送的获取应用指令;
所述第二发送模块还用于在所述第二接收模块接收到获取应用指令后给所述计算机返回数据;
所述第一接收模块还用于在注册过程中接收所述硬件设备返回的数据;
所述第五判断模块用于根据所述第一接收模块接收到的数据判断获取应用是否成功,是则触发所述第四获取模块,否则提示注册失败。
进一步地,所述第四获取模块具体用于在注册过程中向硬件设备发送获取设备标识指令;并接收所述硬件设备返回的设备标识并保存;
所述第二接收模块还用于在注册过程中接收获取设备标识指令;
所述第二发送模块还用于在所述第二接收模块接收到获取设备标识指令后将自身的设备标识返回给所述计算机。
进一步地,所述计算机还包括:提示接收模块和第二保存模块;
所述提示接收模块,用于在注册过程中提示用户输入用户注册名并接收所述用户注册名;
所述第二保存模块,用于保存所述提示接收模块接收到的所述用户注册名。
进一步地,所述协商保存模块包括:
第一生成保存单元,用于生成第一密钥并保存;
第一加密单元,用于使用所述第一生成保存单元中的第一密钥根据预设算法对第一预设数据进行加密得到第五加密结果;
第一发送单元,用于将所述第一生成保存单元中的第一密钥和所述第一加密单元得到的第五加密结果发送给所述硬件设备;
第一接收单元,用于接收所述硬件设备发送的数据;
第二获取单元,用于从所述第一接收单元接收到的数据中获取第二密钥和第六加密结果;
解密判断单元,用于使用所述第二获取单元获取的第二密钥解密所述第二获取单元获取的第六加密结果,判断解密结果是否为所述第一预设数据,如判断为否则提示注册失败;
第二生成保存单元,用于在所述解密判断单元判断为是时根据所述第一生成保存单元保存的所述第一密钥和所述第二获取单元获取的所述第二密钥生成第一加密密钥并保存;
所述硬件设备还包括:获取判断模块和生成加密模块;
所述第二接收模块还用于在协商密钥过程中接收所述计算机发送的数据;
所述获取判断模块用于从所述第二接收模块接收到的数据中获取所述第一密钥和所述第五加密结果,使用所述第一密钥解密所述第五加密结果,判断解密结果是否为所述第一预设数据;
生成加密模块,用于在所述获取判断模块判断为是时生成第二密钥,根据所述第一密钥和所述第二密钥生成第二加密密钥并保存;使用所述第二密钥根据预设算法对所述获取判断模块得到的所述解密结果进行加密得到第六加密结果;
所述第二发送模块还用于将所述生成加密模块生成的所述第二密钥和加密得到的所述第六加密结果发送给所述计算机,还用于在所述获取判断模块判断为否时给所述计算机返回注册错误信息。
进一步地,所述生成加密模块具体用于在所述获取判断模块判断为是时生成第二密钥,将所述第一密钥的前8字节数据和所述第二密钥的后8字节数据进行拼接得到第二加密密钥并保存;使用所述第二密钥根据预设算法对所述解密结果进行加密得到第六加密结果;
所述第二生成保存单元具体用于在所述解密判断单元判断为是时将保存的所述第一密钥的前8字节数据和所述第二获取单元获取的所述第二密钥的后8字节数据进行拼接得到第一加密密钥并保存。
进一步地,所述计算机还包括:
弹出提示模块,用于在注册过程中弹出验证PIN码框,提示用户输入PIN码并接收;
第六判断模块,用于判断所述弹出提示模块接收到的用户输入的PIN码是否与保存的PIN码相同,是则触发所述第一保存模块,否则提示注册失败。
本发明与现有技术相比,具有以下优点:
本发明技术方案通过计算机中的Windows***服务应用配合硬件设备,可以达到使用注册的硬件设备接登录Windows10以上***的目的,提高登录过程的安全性;且本方案中硬件设备的类型没有限制,任何可以做安全计算的设备都可以用来登录,方便用户使用。
附图说明
图1为本发明实施例一提供的一种硬件登录windows10以上***的实现方法流程图;
图2为本发明实施例二提供的一种硬件登录windows10以上***的实现方法中的注册过程流程图;
图3为本发明实施例二提供的一种硬件登录windows10以上***的实现方法中的认证过程流程图;
图4为本发明实施例二提供的一种硬件登录windows10以上***的实现方法中注销过程流程图;
图5为本发明实施例三提供的一种硬件登录windows10以上***的实现装置方框示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种硬件登录windows10以上***的实现方法,计算机的***为windows10以上***(包括windows10***),本实施例方法包括认证过程,如图1所示,认证过程包括:
步骤S1:当计算机监控到硬件设备***时,获取硬件设备的设备标识,并根据与设备标识对应的注册索引获取第一数据包;
具体的,本实施例中的第一数据包包括:第一随机数、第二随机数、第一会话随机数和第一加密值;
具体的,在本实施例中,获取硬件设备的设备标识与根据与设备标识对应的注册索引获取第一数据包之间包括:计算机判断硬件设备是否已注册,是则根据与设备标识对应的注册索引获取第一数据包,否则拒绝登录。其中,计算机判断硬件设备是否已注册,包括:计算机获取注册列表,并判断获取到的设备标识与注册列表中的设备标识是否匹配,是则硬件设备已注册,否则硬件设备未注册;
在本实施例中,计算机获取注册列表包括:计算机调用第一接口获取注册列表。
其中,在步骤S1中,获取硬件设备的设备标识之前还包括:计算机向硬件设备发送获取应用指令;硬件设备接收到获取应用指令后,给计算机返回数据;计算机接收硬件设备返回的数据并根据接收到的数据判断获取应用是否成功,是则获取硬件设备的设备标识,否则报错。
其中,步骤S1中的获取硬件设备的设备标识,包括:计算机向硬件设备发送获取设备标识指令;硬件设备接收获取设备标识指令并将自身的设备标识返回给计算机;计算机接收硬件设备返回的设备标识并保存;
在本实施例中,根据与设备标识对应的注册索引获取第一数据包包括:计算机根据与设备标识对应的注册索引调用第四接口获取第一数据包;
其中,根据与设备标识对应的注册索引获取第一数据包之前包括:计算机将第二随机数、第一随机数、第一会话随机数进行拼接得到第一拼接结果,根据预设算法使用保存的与注册索引对应的第一配套服务框架密钥对第一拼接结果进行加密得到第一加密值;
步骤S2:计算机使用保存的第一加密密钥对第一数据包进行加密得到第一加密结果,并将第一加密结果和注册索引发送给硬件设备;
步骤S3:硬件设备使用保存的第二加密密钥对接收到的第一加密结果进行解密得到第一解密结果,使用保存的与接收到的注册索引对应的第二配套服务框架密钥和第一解密结果中的第三随机数、第四随机数、第二会话随机数对第一解密结果中的第二加密值进行验证,如验证成功则执行步骤S4,如验证失败则给计算机返回错误信息;
在本实施例中,步骤S3中的使用保存的与接收到的注册索引对应的第二配套服务框架密钥和第一解密结果中的第三随机数、第四随机数、第二会话随机数对第一解密结果中的第二加密值进行验证,包括:硬件设备将第一解密结果中的第三随机数、第四随机数、第二会话随机数进行拼接得到第二拼接结果,根据预设算法使用保存的与接收到的注册索引对应的第二配套服务框架密钥对第二拼接结果进行加密得到第一加密结果;判断第一加密结果与第一解密结果中的第二加密值是否相同,是则验证成功,否则验证失败;
在本实施例中,计算机接收到硬件设备返回的错误信息后拒绝登录;
步骤S4:硬件设备根据保存的与注册索引对应的第二设备密钥、第一解密结果中的第三随机数和第二会话随机数生成第三加密值和第四加密值;使用第二加密密钥对第三加密值和第四加密值进行加密得到第二加密结果,并将第二加密结果发送给计算机;
具体的,在本实施例中,硬件设备根据保存的与注册索引对应的第二设备密钥、第一解密结果中的第三随机数和第二会话随机数生成第三加密值和第四加密值,包括:硬件设备使用与注册索引对应的第二设备密钥根据预设算法对第一解密结果中的第三随机数进行加密得到第三加密值;使用第二设备密钥根据预设算法对第一解密结果中的第二会话随机数进行加密得到第四加密值;
步骤S5:计算机使用第一加密密钥对接收到的第二加密结果进行解密得到第二解密结果,使用保存的与注册索引对应的第一设备密钥、第一随机数和第一会话随机数对第二解密结果进行验证,如验证成功则允许登录,如验证失败则拒绝登录。
具体的,在本实施例中,使用保存的与注册索引对应的第一设备密钥、第一随机数和第一会话随机数对第二解密结果进行验证,包括:计算机根据预设算法使用保存的与注册索引对应的第一设备密钥对保存的第一随机数进行加密得到第五加密值;根据预设算法使用第一设备密钥对保存的第一会话随机数进行加密得到第六加密值;判断第五加密值和第六加密值是否与第二解密结果匹配,是则验证成功,允许登录,否则验证失败,拒绝登录。
本实施例中的方法还可以包括注销过程,具体的,注销过程包括:
步骤P1:当计算机接收到用户选择的删除信息时获取注册列表;
步骤P2:计算机判断接收到的删除信息是否与注册列表中的信息匹配,是则执行步骤P3,否则拒绝注销;
步骤P3:计算机提示用户确认进行删除操作,当接收到用户的确认删除信息时,将与用户选择的删除信息对应的信息从注册列表中删除,注销流程结束。
本实施例中的方法还可以包括注册过程,具体的,注册过程包括:
步骤A1:当计算机接收到注册触发信息时,进行初始化并开始监控硬件设备;
在本实施例中,进行初始化包括:计算机根据硬件设备信息创建搜寻设备的监控;例如,硬件设备信息可以为PID(即产品识别码)或VID(即供应商ID)等;
具体的,步骤A1之前包括:
步骤P1:当计算机中的应用被启动时,计算机调用第一接口获取注册列表;
步骤P2:计算机显示获取到的注册列表;
步骤A2:当计算机监控到硬件设备***时,获取硬件设备的设备标识;并获取注册列表;
在本实施例中,步骤A2中的获取硬件设备的设备标识之前还包括:计算机向硬件设备发送获取应用指令;硬件设备接收到获取应用指令后给计算机返回数据;计算机接收硬件设备返回的数据并根据接收到的数据判断获取应用是否成功,是则获取硬件设备的设备标识,否则报错。
具体的,步骤A2中的获取硬件设备的设备标识包括:计算机向硬件设备发送获取设备标识指令;硬件设备接收获取设备标识指令并将自身的设备标识返回给计算机;计算机接收硬件设备返回的设备标识并保存。
可选的,步骤A2中的获取注册列表包括:计算机调用第一接口获取注册列表;
步骤A3:计算机判断获取到的设备标识与注册列表中的设备标识是否匹配,是则提示当前硬件设备已注册,注册流程结束;否则执行步骤A4;
具体的,在步骤A3和步骤A4之间还包括:计算机提示用户输入用户注册名;当计算机接收到用户输入的用户注册名时保存该用户注册名;
步骤A4:计算机与硬件设备协商加密密钥并保存;
具体的,在本实施例中,步骤A4包括:
步骤A41:计算机生成第一密钥并保存,使用第一密钥根据预设算法对第一预设数据进行加密得到第五加密结果,并将第一密钥和第五加密结果发送给硬件设备;
步骤A42:硬件设备接收计算机发送的第一密钥和第五加密结果,使用第一密钥解密第五加密结果,判断解密结果是否为第一预设数据,是则执行步骤A43,否则给计算机返回注册错误信息,结束;
步骤A43:硬件设备生成第二密钥,根据第一密钥和第二密钥生成第二加密密钥并保存;使用第二密钥根据预设算法对解密结果进行加密得到第六加密结果,将第二密钥和第六加密结果发送给计算机;
优选的,根据第一密钥和第二密钥生成第二加密密钥包括:将第一密钥的前8字节数据和第二密钥的后8字节数据进行拼接得到第二加密密钥;
步骤A44:计算机接收硬件设备发送的第二密钥和第六加密结果,使用第二密钥解密第六加密结果,判断解密结果是否为第一预设数据,是则执行步骤A45,否则提示注册失败,结束;
步骤A45:计算机根据保存的第一密钥和获取的第二密钥生成第一加密密钥并保存;
具体的,步骤A45包括:计算机将保存的第一密钥的前8字节数据和获取的第二密钥的后8字节数据进行拼接得到第一加密密钥并保存;
步骤A5:计算机向硬件设备发送注册命令;
步骤A6:硬件设备接收注册命令,并更新注册索引,生成第二设备密钥和第二配套服务框架密钥并与注册索引对应保存,使用保存的第二加密密钥对第二设备密钥和第二配套服务框架密钥进行加密得到第三加密结果;
步骤A7:硬件设备将第三加密结果和注册索引发送给计算机;
步骤A8:计算机保存接收到的注册索引,并使用保存的第一加密密钥对接收到的第三加密结果进行解密;
步骤A9:计算机将设备标识、从第三加密结果中解密得到的第一设备密钥和第一配套服务框架密钥与注册索引对应保存在注册列表中;
在本实施例中,步骤A9之前包括:
步骤B1:计算机弹出验证PIN码框,提示用户输入PIN码;
步骤B2:当计算机接收到用户输入的PIN码时,判断用户输入的PIN码是否与保存的PIN码相同,是则执行步骤A9,否则报错。
实施例二
本发明实施例二提供一种硬件登录windows10以上***的实现方法,计算机的***为windows10以上***(包括windows10***),本实施例方法包括注册过程和认证过程,如图2所示,注册过程包括:
步骤101:当计算机接收到注册触发信息时,进行初始化并开始监控硬件设备;
具体的,在本实施例中,进行初始化包括:计算机根据硬件设备信息创建搜寻设备的监控;
可选的,在步骤101之前还包括:
步骤a1:当计算机中的应用被启动时,调用第一接口获取注册列表;
具体的,在本实施例中,第一接口为FindAllRegisteredDeviceInfoAsync;注册列表中包括设备标识、第一设备密钥和第一配套服务框架密钥与注册索引;
步骤a2:计算机显示获取到的注册列表;
步骤102:计算机监控并判断是否有硬件设备***,是则执行步骤103,否则提示用户***硬件设备,返回步骤102;
步骤103:计算机向硬件设备发送获取应用指令;
例如,本实施例中的获取应用指令为00 a4 04 00 0e d1 56 00 01 32 52 68656c 6c 6f 01 01 00;
步骤104:硬件设备接收获取应用指令并给计算机返回数据;
步骤105:计算机接收硬件设备返回的数据并根据该数据判断获取应用是否成功,是则执行步骤106,否则报错;
在本实施例中,步骤105中根据该数据判断获取应用是否成功包括:计算机判断接收到的数据是不是第一预设数值,是则获取应用成功,否则获取应用失败;例如本实施例中的第一预设数值为9000;
例如,本实施例中的报错具体为:计算机显示失败界面;
步骤106:计算机向硬件设备发送获取设备标识指令;
例如,本实施例中获取设备标识指令为:0027000000;
步骤107:硬件设备接收获取设备标识指令并将自身的设备标识返回给计算机;
例如,本实施例中的设备标识为:5a e8 51 1b 83 90 2a 34 48 ce d1 75c6 1a30 b9 9d b1 51 c7 c5 e2 b7 78 14 f7 0d 96 7f 6f e6 8c;
步骤108:计算机接收硬件设备的设备标识并保存;
步骤109:计算机调用第一接口获取注册列表;
具体的,在本实施例中,第一接口为FindAllRegisteredDeviceInfoAsync;
步骤110:计算机判断保存的硬件标识与获取的注册列表中的设备标识是否匹配,是则提示当前硬件设备已注册,否则执行步骤111;
步骤111:计算机提示用户输入用户注册名;
步骤112:当计算机接收到用户输入的用户注册名时保存用户注册名;
例如,本实施例中的用户注册名为:A_EPASS_key;
步骤113:计算机生成第一密钥并保存,使用第一密钥根据预设算法对第一预设数据进行加密得到第五加密结果,并将第一密钥和第五加密结果发送给硬件设备;
优选的,本实施例中的第一密钥是一随机数,长度为16字节,第五加密结果长度也为16字节;例如,第一密钥为:1e e1 86 9a 87 0c 1d d0 1b 80 9b bd d8 d6 83 be;第一预设数据为:EnterSafe--Hello;第五加密结果为:f9 1216 0c db 71 94 a3 c8 dd 10 bdad ff 51 ec;
步骤114:硬件设备接收计算机发送的数据并从中获取第一密钥和第五加密结果,使用第一密钥解密第五加密结果,判断解密结果是否为第一预设数据,是则执行步骤115,否则给计算机返回注册错误信息;
优选的,在本实施例中,计算机接收到注册错误信息后提示注册失败;
步骤115:硬件设备生成第二密钥,根据第一密钥和第二密钥生成第二加密密钥并保存;使用第二密钥根据预设算法对解密结果进行加密得到第六加密结果,将第二密钥和第六加密结果发送给计算机;
具体的,在本实施例中,根据第一密钥和第二密钥生成第二加密密钥包括:将第一密钥的前8字节数据和第二密钥的后8字节数据进行拼接得到第二加密密钥;例如第二密钥为:0a c8 6e 9c 30 b5 e5 d5 c1 32 86 fb 30 41 bf e4;第六加密结果为:48 57 d9 966c d2 74 46 43 f7 a2 90 fa 91 b6 26;
步骤116:计算机接收硬件设备发送的数据并从中获取第二密钥和第六加密结果,使用第二密钥解密第六加密结果,判断解密结果是否为第一预设数据,是则执行步骤117,否则提示注册失败;
步骤117:计算机根据第一密钥和第二密钥生成第一加密密钥并保存;
具体的,本实施例中的实现过程与步骤115的生成方法相同,在此不再赘述;
步骤118:计算机向硬件设备发送注册命令;
例如本实施例中的注册命令为:00 20 00 00 00;
步骤119:硬件设备接收注册命令,并更新注册索引,生成第二设备密钥和第二配套服务框架密钥并与注册索引对应保存,使用保存的第二加密密钥对第二设备密钥和第二配套服务框架密钥进行加密得到第三加密结果;
具体的,在本实施例中,更新注册数据为:注册索引自加1;例如:设备密钥为:2449 94 23 06 8e b2 00 80 27 22 33 12 49 35 6b 9c 00 26 59 95 26e3 d3 fe c0 63a8 22 c0 65 0a;服务器密钥为:d2 06 28 ad bb ab 27 22 d1e6 3c 04 a4 39 68 ca 5712 e3 3f e0 b6 44 59 d7 a8 50 0b 0a 0a 3d 2d;第三加密结果为:cc 01 a8 8b 01 a9fa ec 44 51 9f fc c5 44 be 4d e5 02d1 f9 31 3d fa 35 69 3f 2c 2a be a1 ec a313 db 39 8c b6 02 d6 00 5946 18 4b db 82 67 ad 97 ce c5 ea 79 41 38 e6 e4 b294 82 00 40;硬件设备在不同***中注册对应不同的注册索引;
步骤120:硬件设备将第三加密结果和注册索引发送给计算机;
步骤121:计算机保存接收到的注册索引,并使用保存的第一加密密钥对接收到的第三加密结果进行解密,如解密成功则执行步骤122,若解密失败,则提示注册失败;
步骤122:计算机弹出验证PIN码框,提示用户输入PIN码;
步骤123:当计算机收到用户输入的PIN码时,判断用户输入的PIN码是否与保存的PIN码相同,是则执行步骤124,否则提示注册失败;
例如,本实施例中的额PIN码为:ABC123456;
步骤124:计算机将设备标识、解密得到的第一设备密钥和第一配套服务框架密钥与所述注册索引对应保存在所述注册列表中;
步骤125:当计算机接收到后台任务注册信息时,判断该后台任务是否注册过,是则提示注册完成信息,否则注册一个后台任务,锁屏;
具体的,在本实施例中,计算机通过BackgroundExecutionManager和BackgroundTaskBuilder两个类注册后台任务;并创建后台的触发事件,即通过某个事件触发后台任务,主要通过SecondaryAuthenticationFactorAuthenticationTrigger类实现,在本实施例中当用户锁屏时会触发后台任务,开始进行认证过程。
如图3所示,本方法中的认证过程包括:
步骤201:当计算机的后台任务被启动时,计算机进行初始化并开始监控硬件设备;
具体的,在本实施例中,计算机进行初始化包括:所述计算机根据所述硬件设备信息创建搜寻设备的监控;
步骤202:当计算机监控到硬件设备***时,向硬件设备发送获取应用指令;
步骤203:硬件设备接收到获取应用指令后给计算机返回数据;
步骤204:计算机接收硬件设备返回的数据并根据该数据判断获取应用是否成功,是则执行步骤205,否则报错;
在本实施例中,步骤204包括:计算机判断接收到的数据是不是第一预设数值,是则获取应用成功,否则获取应用失败;例如本实施例中的第一预设数值为9000;
步骤205:计算机向硬件设备发送获取设备标识指令;
步骤206:硬件设备接收获取设备标识指令并将自身的设备标识返回给计算机;
步骤207:计算机接收硬件设备的设备标识并保存;
步骤208:计算机调用第一接口获取注册列表;
具体的,在本实施例中,第一接口为FindAllRegisteredDeviceInfoAsync;注册列表中包括设备标识、第一设备密钥、第一配套服务框架密钥与注册索引;
步骤209:计算机判断保存的设备标识与注册列表中的设备标识是否匹配,是则执行步骤210,否则提示当前硬件设备未注册,报错;
步骤210:计算机根据与设备标识对应的注册索引调用第四接口获取第一数据包;
具体的,本实施例中的第四接口为StartAuthenticationAsync函数,第一数据包括:第二随机数、第一随机数、第一会话随机数和第一加密值;步骤210之前还包括:计算机将第二随机数、第一随机数、第一会话随机数进行拼接得到第一拼接结果,根据预设算法使用保存的与注册索引对应的第一配套服务框架密钥对第一拼接结果进行加密得到第一加密值;
例如,本实施例中的第二随机数为:95 c1 6d 5b 1c f6 80 40 ac 49 31 5292cf 7d cc 94 11 2d 0e 59 74 31 a6 ea 81 e1 c0 82 5a d7 26;第一随机数为:bb 1771 28 25 9f 77 fb c0 5c 29 99 fd 15 2d 20 4d ee ee 7a 0d ed 96 6c 8b b8 63 e7c8 cc d1 92;第一会话随机数为:9d 26 5b 0c 69 7c3b b3 b5 f5 96 5e 3f 19 bf 6d66 ff c9 50 51 d8 11 59 8a 8c 76 28 27 c71c dc;第一加密值为:e0 b1 88 c1 e2 9140 68 45 76 0a 52 14 bc 8d 30 68a6 74 11 f0 05 9c df a4 de 8f d4 f5 e9 a0 c7;
步骤211:计算机使用保存的第一加密密钥对第一数据包进行加密得到第一加密结果,并将第一加密结果和与设备标识对应的注册索引发送给硬件设备;
具体的,在本实施例中,计算机和可以预先生成第一加密密钥并保存;第一加密密钥与注册阶段的第二密钥可以为同一密钥或者不同的密钥;
步骤212:硬件设备使用保存的第二加密密钥对接收到的第一加密结果进行解密得到第一解密结果;
那种213:硬件设备将第一解密结果中的第三随机数、第四随机数、第二会话随机数进行拼接得到第二拼接结果,根据预设算法使用保存的与接收到的注册索引对应的第二配套服务框架密钥对第二拼接结果进行加密得到第一加密结果;
步骤214:硬件设备判断第一加密结果与第一解密结果中的第二加密值是否相同,是则执行步骤215,否则给所述计算机返回拒绝登录信息;
步骤215:硬件设备根据保存的与接收到的注册索引对应的第二设备密钥、第一解密结果中的第三随机数和第二会话随机数生成第三加密值和第四加密值;
具体的,在本实施例中,步骤215包括:硬件设备使用第二设备密钥根据预设算法对第一解密结果中的第三随机数进行加密得到第三加密值;使用第二设备密钥根据预设算法对第一解密结果中的第二会话随机数进行加密得到第四加密值;例如,本实施例中的第三加密值为:83 00 42 2c 5c 4a 95 3e 8c 21fe 42 0f ed f0 ac 23 9c ac 72 82 d92e d3 27 b6 59 e3 64 35 7b ea;第四加密值为:bb 55 73 b3 fd 9b 08 7e 1f b4 84b7 c7 0e 32 20 86 ce 4e ea15 5c 27 62 5e 5e 1c b6 00 f6 35 1c e6 2c 1c 13;
步骤216:硬件设备使用第二加密密钥对第三加密值和第四加密值进行加密得到第二加密结果,并将第二加密结果发送给计算机;
步骤217:计算机使用第一加密密钥对接收到的第二加密结果进行解密得到第二解密结果;
步骤218:计算机使用保存的与注册索引对应的第一设备密钥、第一随机数和第一会话随机数对第二解密结果进行验证,如验证成功则允许登录,如验证失败则拒绝登录;
在本实施例中,步骤219具体包括:计算机根据预设算法使用保存的与注册索引对应的第一设备密钥对保存的第一随机数进行加密得到第五加密值;根据预设算法使用第一设备密钥对保存的第一会话随机数进行加密得到第六加密值;判断第五加密值和第六加密值是否与第二解密结果匹配,是则验证成功,允许登录;否则验证失败,拒绝登录。
在本实施例的方法中,还可以包括注销过程,如图4所示,包括:
步骤301:当计算机接收到用户选择的删除信息时,调用第一接口获取注册列表;
具体的,在本实施例中,第一接口为FindAllRegisteredDeviceInfoAsync;
步骤302:计算机判断接收到的删除信息是否与注册列表中的信息匹配,是则执行步骤303,否则拒绝注销;
步骤303:计算机弹出删除信息框,提示用户确认进行删除操作;
步骤304:计算机判断是否接收到用户的确认删除信息,是则执行步骤305,否则注销流程结束;
步骤305:计算机将与用户选择的删除信息对应的信息从注册列表中删除,注销流程结束。
实施例三
本发明实施例三提供一种硬件登录windows10以上***的实现装置,如图5所示,包括计算机1和硬件设备2;其中,计算机1的***为windows10以上***(包括windows10***),计算机1包括:
第一获取模块11,用于在认证过程中当计算机1监控到硬件设备***时,获取硬件设备的设备标识;
第二获取模块12,用于根据与第一获取模块11获取的设备标识对应的注册索引获取第一数据包;
具体的,本实施例中的第一数据包包括:第一随机数、第二随机数、第一会话随机数和第一加密值;
在本实施例中,第二获取模块12具体用于根据与第一获取模块11获取的设备标识对应的注册索引调用第四接口获取第一数据包;
第一加密模块13,用于使用保存的第一加密密钥对第二获取模块12获取的第一数据包进行加密得到第一加密结果;
第一发送模块14,用于将注册索引和第一加密模块13得到的第一加密结果发送给硬件设备2;
第一接收模块15,用于在认证过程中接收硬件设备2的第二发送模块26发送的第二加密结果或错误信息;
第一解密模块16,用于使用保存的第一加密密钥对第一接收模块接收15到的第二加密结果进行解密得到第二解密结果;
第一验证模块17,用于使用保存的与注册索引对应的第一设备密钥、第一随机数和第一会话随机数对第一解密模块16得到的第二解密结果进行验证;
允许登录模块18,用于在第一验证模块17验证成功时允许登录;
拒绝登录模块19,用于在第一接收模块15接收到错误信息后或第一验证模块17验证失败时拒绝登录;
硬件设备2包括:
第二接收模块21,用于在认证过程中接收计算机1的第一发送模块14发送的第一加密结果和注册索引;
第二解密模块22,用于使用保存的第二加密密钥对第二接收模块21接收到的第一加密结果进行解密得到第一解密结果;
第二验证模块23,用于使用保存的与第二接收模块21接收到的注册索引对应的第二配套服务框架密钥和第二解密模块22得到的第一解密结果中的第三随机数、第四随机数、第二会话随机数对第二接收模块接收到的第一解密结果中的第二加密值进行验证;
第一生成模块24,用于当第二验证模块23验证成功时根据保存的与第二接收模块21接收到的注册索引对应的第二设备密钥、第二解密模块22得到的第一解密结果中的第三随机数和第二会话随机数生成第三加密值和第四加密值;
第二加密模块25,用于使用第二加密密钥对第一生成模块24生成的第三加密值和第四加密值进行加密得到第二加密结果;
第二发送模块26,用于在第二验证模块23验证失败时给计算机1返回错误信息,还用于将第二加密模块25得到的第二加密结果发送给计算机1。
可选地,本实施例中的计算机1还包括:
第一判断模块,用于在认证过程中判断硬件设备是否已注册,是则触发第二获取模块12,否则触发拒绝登录模块19;
具体的,第一判断模块包括:
第一获取单元,用于获取注册列表;
在本实施例中,第一获取单元具体用于调用第一接口获取注册列表;
第一判断单元,用于判断第一获取模块11获取到的设备标识与第一获取单元获取的注册列表中的设备标识是否匹配,是则硬件设备已注册,否则硬件设备未注册。
拒绝登录模块19,还用于在第一判断模块判断为否时拒绝登录。
可选地,本实施例中的计算机1还包括第二判断模块;
第一发送模块14还用于向硬件设备2发送获取应用指令;
第二接收模块21还用于接收计算机1发送的获取应用指令;
第二发送模块26还用于给计算机1返回数据;
第一接收模块15还用于接收硬件设备2返回的数据;
第二判断模块,用于根据第一接收模块15接收到的数据判断获取应用是否成功,是则触发第一获取模块11,否则触发拒绝登录模块19;
拒绝登录模块19,还用于在第二判断模块判断为否时拒绝登录。
在本实施例中,第一获取模块11具体用于向硬件设备2发送获取设备标识指令;并接收硬件设备2返回的设备标识并保存;
第二接收模块21还用于接收获取设备标识指令;
第二发送模块26还用于在第二接收模块21接收到获取设备标识指令后将自身的设备标识返回给计算机1。
可选的,计算机1还包括:拼接加密模块,用于将第二随机数、第一随机数、第一会话随机数进行拼接得到第一拼接结果,根据预设算法使用保存的与注册索引对应的第一配套服务框架密钥对第一拼接结果进行加密得到第一加密值;
相应的,第二验证模块23具体用于将第二解密模块22得到的第一解密结果中的第三随机数、第四随机数、第二会话随机数进行拼接得到第二拼接结果,根据预设算法使用保存的与第二接收模块21接收到的注册索引对应的第二配套服务框架密钥对第二拼接结果进行加密得到第一加密结果;判断第一加密结果与第二接收模块21接收到的第一解密结果中的第二加密值是否相同,是则验证成功,否则验证失败。
在本实施例中,第一生成模块24具体用于当第二验证模块23验证成功时,使用与第二接收模块21接收到的注册索引对应的第二设备密钥根据预设算法对第二解密模块22得到的第一解密结果中的第三随机数进行加密得到第三加密值;使用第二设备密钥根据预设算法对第二解密模块22得到的第一解密结果中的第二会话随机数进行加密得到第四加密值;
相应的,第一验证模块17具体用于根据预设算法使用保存的与注册索引对应的第一设备密钥对保存的第一随机数进行加密得到第五加密值;根据预设算法使用第一设备密钥对保存的第一会话随机数进行加密得到第六加密值;判断第五加密值和第六加密值是否与第二解密结果匹配,是则验证成功,允许登录,否则验证失败,拒绝登录。
可选的,本实施例的计算机1还包括第三获取模块、第三判断模块、确认删除模块:
第一接收模块15还用于在注销过程中接收用户选择的删除信息;
第三获取模块用于在第一接收模块15接收到删除信息后获取注册列表;
第三判断模块用于判断第一接收模块15接收到的删除信息是否与第三获取模块获取的注册列表中的信息匹配,如不匹配拒绝注销;
确认删除模块,用于在第三判断模块判断为是时提示用户确认进行删除操作,当接收到用户的确认删除信息时,将与用户选择的删除信息对应的信息从注册列表中删除。
可选的,本实施例中的计算机1还包括第一初始化模块、第四获取模块、第五获取模块、第四判断模块、协商保存模块、第三解密模块、第一保存模块;
第一接收模块15还用于在注册过程中接收注册触发信息,还用于接收硬件设备发送的注册索引、第三加密结果;
第一初始化模块,用于在第一接收模块15接收到注册触发信息时,进行初始化并开始监控硬件设备;
第四获取模块,用于当第一初始化模块监控到硬件设备***时,获取硬件设备的设备标识;
第五获取模块,用于在注册过程中获取注册列表;
在本实施例中,第五获取模块具体用于在注册过程中调用第一接口获取注册列表;
第四判断模块,用于判断第四获取模块获取到的设备标识与第五获取模块获取到的注册列表中的设备标识是否匹配,如匹配则提示当前硬件设备已注册;
协商保存模块,用于在第四判断模块判断为否时与硬件设备协商加密密钥并保存;
第一发送模块14还用于在注册过程中向硬件设备发送注册命令;
第一保存模块,用于在注册过程中保存第一接收模块接收到的注册索引;
第三解密模块用于使用保存的第一加密密钥对第一接收模块接收到的第三加密结果进行解密;
第一保存模块,还用于将第四获取模块获取的设备标识、第三解密模块从第三加密结果中解密得到的第一设备密钥和第一配套服务框架密钥与注册索引对应保存在第五获取模块获取的注册列表中;
硬件设备2还包括:更新模块、生成保存模块、第三加密模块;
第二接收模块21还用于在注册过程中接收计算机1发送的注册命令;
更新模块用于在第二接收模块21接收到注册命令后更新注册索引,
生成保存模块用于生成第二设备密钥和第二配套服务框架密钥并与注册索引对应保存,
第三加密模块用于使用保存的第二加密密钥对生成保存模块生成的第二设备密钥和第二配套服务框架密钥进行加密得到第三加密结果;
第二发送模块26还用于将第三加密模块得到的第三加密结果和更新模块更新后的注册索引发送给计算机。
在本实施例中,第一初始化模块具体用于在第一接收模块接收到注册触发信息时,根据硬件设备信息创建搜寻设备的监控,开始监控硬件设备。
可选的,本实施例中的计算机1还包括第五判断模块;
第一发送模块14还用于在注册过程中向硬件设备2发送获取应用指令;
第二接收模块21还用于在注册过程中接收计算机1发送的获取应用指令;
第二发送模块26还用于在第二接收模块21接收到获取应用指令后给计算机1返回数据;
第一接收模块15还用于在注册过程中接收硬件设备2返回的数据;
第五判断模块用于根据第一接收模块接收到的数据判断获取应用是否成功,是则触发第四获取模块,否则提示注册失败。
在本实施例中,第四获取模块具体用于在注册过程中向硬件设备2发送获取设备标识指令;并接收硬件设备2返回的设备标识并保存;
第二接收模块21还用于在注册过程中接收获取设备标识指令;
第二发送模块26还用于在第二接收模块21接收到获取设备标识指令后将自身的设备标识返回给计算机1。
可选的,本实施例中的计算机还包括:提示接收模块和第二保存模块;
提示接收模块,用于在注册过程中提示用户输入用户注册名,并接收用户输入的用户注册名;
第二保存模块用于保存提示接收模块接收到的用户注册名。
具体的,在本实施例中,协商保存模块包括:
第一生成保存单元,用于生成第一密钥并保存;
第一加密单元,用于使用第一生成保存单元中的第一密钥根据预设算法对第一预设数据进行加密得到第五加密结果;
第一发送单元,用于将第一生成保存单元中的第一密钥和第一加密单元得到的第五加密结果发送给硬件设备2;
第一接收单元,用于接收硬件设备2发送的数据;
第二获取单元,用于从第一接收单元接收到的数据中获取第二密钥和第六加密结果;
解密判断单元,用于使用第二获取单元获取的第二密钥解密第二获取单元获取的第六加密结果,判断解密结果是否为第一预设数据,如判断为否则提示注册失败;
第二生成保存单元,用于在解密判断单元判断为是时根据第一生成保存单元保存的第一密钥和第二获取单元获取的第二密钥生成第一加密密钥并保存;
硬件设备2还包括:获取判断模块和生成加密模块;
第二接收模块21还用于在协商密钥过程中接收计算机1发送的数据;
获取判断模块用于从第二接收模块21接收到的数据中获取第一密钥和第五加密结果,使用第一密钥解密第五加密结果,判断解密结果是否为第一预设数据;
生成加密模块,用于在获取判断模块判断为是时生成第二密钥,根据第一密钥和第二密钥生成第二加密密钥并保存;使用第二密钥根据预设算法对解密结果进行加密得到第六加密结果;
第二发送模块26还用于将生成加密模块生成的第二密钥和加密得到的第六加密结果发送给计算机1,还用于在获取判断模块判断为否时给计算机1返回注册错误信息。
其中,生成加密模块具体用于在获取判断模块判断为是时生成第二密钥,将第一密钥的前8字节数据和第二密钥的后8字节数据进行拼接得到第二加密密钥并保存;使用第二密钥根据预设算法对解密结果进行加密得到第六加密结果;
相应的,第二生成保存单元具体用于在解密判断单元判断为是时将保存的第一密钥的前8字节数据和第二获取单元获取的第二密钥的后8字节数据进行拼接得到第一加密密钥并保存。
可选的,本实施例中的计算机1还包括:
弹出提示模块,用于在注册过程中弹出验证PIN码框,提示用户输入PIN码并接收;
第六判断模块,用于判断弹出提示模块接收到的用户输入的PIN码是否与保存的PIN码相同,是则触发第一保存模块,否则提示注册失败。
本发明技术方案通过计算机中的Windows***服务应用+配合硬件设备,可以达到使用注册的硬件设备登录Windows10以上***的目的,提高登录过程的安全性;且本方案中硬件设备的类型没有限制,任何可以做安全计算的设备都可以用来登录,方便用户使用。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (30)

1.一种硬件登录windows10以上***的实现方法,其特征在于,包括认证过程,所述认证过程包括:
步骤S1:当计算机监控到硬件设备***时,获取所述硬件设备的设备标识,并根据与所述设备标识对应的注册索引获取第一数据包,所述第一数据包包括:第一随机数、第二随机数、第一会话随机数和第一加密值;
步骤S2:所述计算机使用保存的第一加密密钥对所述第一数据包进行加密得到第一加密结果,并将所述第一加密结果和所述注册索引发送给所述硬件设备;
步骤S3:所述硬件设备使用保存的第二加密密钥对接收到的所述第一加密结果进行解密得到第一解密结果,使用保存的与接收到的所述注册索引对应的第二配套服务框架密钥和所述第一解密结果中的第三随机数、第四随机数、第二会话随机数对所述第一解密结果中的第二加密值进行验证,如验证成功则执行步骤S4,如验证失败则给所述计算机返回错误信息,所述计算机接收到所述错误信息后拒绝登录;
步骤S4:所述硬件设备根据保存的与所述注册索引对应的第二设备密钥、所述第一解密结果中的第三随机数和第二会话随机数生成第三加密值和第四加密值;使用所述第二加密密钥对所述第三加密值和第四加密值进行加密得到第二加密结果,并将所述第二加密结果发送给所述计算机;
步骤S5:所述计算机使用所述第一加密密钥对接收到的第二加密结果进行解密得到第二解密结果,使用保存的与所述注册索引对应的第一设备密钥、所述第一随机数和所述第一会话随机数对所述第二解密结果进行验证,如验证成功则允许登录,如验证失败则拒绝登录。
2.如权利要求1所述的方法,其特征在于,所述获取所述硬件设备的设备标识与所述根据与所述设备标识对应的注册索引获取第一数据包之间包括:所述计算机判断所述硬件设备是否已注册,是则根据与所述设备标识对应的注册索引获取第一数据包,否则拒绝登录。
3.如权利要求2所述的方法,其特征在于,所述计算机判断所述硬件设备是否已注册,包括:
所述计算机获取注册列表;并判断获取到的设备标识与所述注册列表中的设备标识是否匹配,是则所述硬件设备已注册,否则所述硬件设备未注册。
4.如权利要求1所述的方法,其特征在于,在所述步骤S1中,所述获取所述硬件设备的设备标识之前还包括:
所述计算机向所述硬件设备发送获取应用指令;所述硬件设备接收到获取应用指令后,给所述计算机返回数据;所述计算机接收硬件设备返回的数据并根据接收到的数据判断获取应用是否成功,是则获取所述硬件设备的设备标识,否则拒绝登录。
5.如权利要求1所述的方法,其特征在于,所述步骤S1中的获取所述硬件设备的设备标识,包括:所述计算机向硬件设备发送获取设备标识指令;所述硬件设备接收获取设备标识指令并将自身的设备标识返回给所述计算机;所述计算机接收所述硬件设备返回的所述设备标识并保存。
6.如权利要求1所述的方法,其特征在于,所述根据与所述设备标识对应的注册索引获取第一数据包之前包括:所述计算机将所述第二随机数、所述第一随机数、所述第一会话随机数进行拼接得到第一拼接结果,根据预设算法使用保存的与所述注册索引对应的第一配套服务框架密钥对所述第一拼接结果进行加密得到所述第一加密值;
所述步骤S3中的使用保存的与接收到的所述注册索引对应的第二配套服务框架密钥和所述第一解密结果中的第三随机数、第四随机数、第二会话随机数对所述第一解密结果中的第二加密值进行验证,包括:所述硬件设备将第一解密结果中的第三随机数、第四随机数、第二会话随机数进行拼接得到第二拼接结果,根据预设算法使用保存的与接收到的所述注册索引对应的第二配套服务框架密钥对所述第二拼接结果进行加密得到第一加密结果;判断所述第一加密结果与所述第一解密结果中的第二加密值是否相同,是则验证成功,否则验证失败。
7.如权利要求1所述的方法,其特征在于,所述步骤S4中的所述硬件设备根据保存的与所述注册索引对应的第二设备密钥、所述第一解密结果中的第三随机数和第二会话随机数生成第三加密值和第四加密值,包括:所述硬件设备使用与所述注册索引对应的第二设备密钥根据预设算法对所述第一解密结果中的第三随机数进行加密得到第三加密值;使用所述第二设备密钥根据预设算法对所述第一解密结果中的第二会话随机数进行加密得到第四加密值;
所述步骤S5中的使用保存的与所述注册索引对应的第一设备密钥、所述第一随机数和所述第一会话随机数对所述第二解密结果进行验证,包括:所述计算机根据预设算法使用保存的与所述注册索引对应的第一设备密钥对保存的第一随机数进行加密得到第五加密值;根据所述预设算法使用所述第一设备密钥对保存的第一会话随机数进行加密得到第六加密值;判断所述第五加密值和所述第六加密值是否与所述第二解密结果匹配,是则验证成功,允许登录,否则验证失败,拒绝登录。
8.如权利要求1所述的方法,其特征在于,还包括注销过程,所述注销过程包括:
步骤P1:当所述计算机接收到用户选择的删除信息时获取注册列表;
步骤P2:所述计算机判断接收到的删除信息是否与所述注册列表中的信息匹配,是则执行步骤P3,否则拒绝注销;
步骤P3:所述计算机提示用户确认进行删除操作,当接收到用户的确认删除信息时,将与用户选择的删除信息对应的信息从注册列表中删除,注销流程结束。
9.如权利要求1所述的方法,其特征在于,还包括注册过程,所述注册过程包括:
步骤A1:当所述计算机接收到注册触发信息时,进行初始化并开始监控硬件设备;
步骤A2:当所述计算机监控到硬件设备***时,获取所述硬件设备的设备标识;并获取注册列表;
步骤A3:所述计算机判断获取到的设备标识与所述注册列表中的设备标识是否匹配,是则提示当前硬件设备已注册,注册流程结束;否则执行步骤A4;
步骤A4:所述计算机与所述硬件设备协商加密密钥并保存;
步骤A5:所述计算机向所述硬件设备发送注册命令;
步骤A6:所述硬件设备接收注册命令,并更新注册索引,生成第二设备密钥和第二配套服务框架密钥并与所述注册索引对应保存,使用保存的第二加密密钥对所述第二设备密钥和所述第二配套服务框架密钥进行加密得到第三加密结果;
步骤A7:所述硬件设备将所述第三加密结果和所述注册索引发送给所述计算机;
步骤A8:所述计算机保存接收到的所述注册索引,并使用保存的第一加密密钥对接收到的所述第三加密结果进行解密;
步骤A9:所述计算机将设备标识、从所述第三加密结果中解密得到的第一设备密钥和第一配套服务框架密钥与所述注册索引对应保存在所述注册列表中。
10.如权利要求9所述的方法,其特征在于,在所述步骤A2中的获取所述硬件设备的设备标识之前还包括:
所述计算机向所述硬件设备发送获取应用指令;所述硬件设备接收到获取应用指令后给所述计算机返回数据;所述计算机接收所述硬件设备返回的数据并根据接收到的所述数据判断获取应用是否成功,是则获取所述硬件设备的设备标识,否则提示注册失败。
11.如权利要求9所述的方法,其特征在于,所述步骤A2中的获取所述硬件设备的设备标识包括:所述计算机向硬件设备发送获取设备标识指令;所述硬件设备接收获取设备标识指令并将自身的设备标识返回给所述计算机;所述计算机接收所述硬件设备返回的所述设备标识并保存。
12.如权利要求9所述的方法,其特征在于,在所述步骤A3和步骤A4之间还包括:所述计算机提示用户输入用户注册名;当所述计算机接收到用户输入的用户注册名时保存所述用户注册名。
13.如权利要求9所述的方法,其特征在于,所述步骤A4包括:
步骤A41:所述计算机生成第一密钥并保存,使用所述第一密钥根据预设算法对第一预设数据进行加密得到第五加密结果,并将所述第一密钥和所述第五加密结果发送给所述硬件设备;
步骤A42:所述硬件设备接收所述计算机发送的所述第一密钥和所述第五加密结果,使用所述第一密钥解密所述第五加密结果,判断解密结果是否为所述第一预设数据,是则执行步骤A43,否则给所述计算机返回注册错误信息,结束;
步骤A43:所述硬件设备生成第二密钥,根据所述第一密钥和所述第二密钥生成第二加密密钥并保存;使用所述第二密钥根据预设算法对所述解密结果进行加密得到第六加密结果,将所述第二密钥和所述第六加密结果发送给所述计算机;
步骤A44:所述计算机接收所述硬件设备发送的所述第二密钥和所述第六加密结果,使用所述第二密钥解密所述第六加密结果,判断解密结果是否为所述第一预设数据,是则执行步骤A45,否则提示注册失败,结束;
步骤A45:所述计算机根据保存的所述第一密钥和获取的所述第二密钥生成第一加密密钥并保存。
14.如权利要求13所述的方法,其特征在于,所述根据所述第一密钥和所述第二密钥生成第二加密密钥包括:将所述第一密钥的前8字节数据和所述第二密钥的后8字节数据进行拼接得到第二加密密钥;
所述步骤A45包括:所述计算机将保存的所述第一密钥的前8字节数据和获取的所述第二密钥的后8字节数据进行拼接得到第一加密密钥并保存。
15.如权利要求9所述的方法,其特征在于,所述步骤A9之前包括:
步骤B1:所述计算机弹出验证PIN码框,提示用户输入PIN码;
步骤B2:当所述计算机接收到用户输入的PIN码时,判断用户输入的PIN码是否与保存的PIN码相同,是则执行步骤A9,否则提示注册失败。
16.一种硬件登录windows10以上***的实现装置,其特征在于,包括计算机和硬件设备;所述计算机包括:
第一获取模块,用于在认证过程中当所述计算机监控到硬件设备***时,获取所述硬件设备的设备标识;
第二获取模块,用于根据与所述第一获取模块获取的设备标识对应的注册索引获取第一数据包,所述第一数据包包括:第一随机数、第二随机数、第一会话随机数和第一加密值;
第一加密模块,用于使用保存的第一加密密钥对所述第二获取模块获取的第一数据包进行加密得到第一加密结果;
第一发送模块,用于将所述注册索引和所述第一加密模块得到的第一加密结果发送给所述硬件设备;
第一接收模块,用于在认证过程中接收所述硬件设备发送的第二加密结果或错误信息;
第一解密模块,用于使用保存的第一加密密钥对所述第一接收模块接收到的第二加密结果进行解密得到第二解密结果;
第一验证模块,用于使用保存的与所述注册索引对应的第一设备密钥、所述第一随机数和所述第一会话随机数对所述第一解密模块得到的第二解密结果进行验证;
允许登录模块,用于在所述第一验证模块验证成功时允许登录;
拒绝登录模块,用于在所述第一接收模块接收到所述错误信息后或所述第一验证模块验证失败时拒绝登录;
所述硬件设备包括:
第二接收模块,用于在认证过程中接收所述计算机发送的第一加密结果和注册索引;
第二解密模块,用于使用保存的第二加密密钥对所述第二接收模块接收到的所述第一加密结果进行解密得到第一解密结果;
第二验证模块,用于使用保存的与所述第二接收模块接收到的所述注册索引对应的第二配套服务框架密钥和所述第二解密模块得到的第一解密结果中的第三随机数、第四随机数、第二会话随机数对所述第二接收模块接收到的第一解密结果中的第二加密值进行验证;
第一生成模块,用于当所述第二验证模块验证成功时根据保存的与所述第二接收模块接收到的所述注册索引对应的第二设备密钥、所述第二解密模块得到的第一解密结果中的第三随机数和第二会话随机数生成第三加密值和第四加密值;
第二加密模块,用于使用所述第二加密密钥对所述第一生成模块生成的第三加密值和第四加密值进行加密得到第二加密结果;
第二发送模块,用于在所述第二验证模块验证失败时给所述计算机返回错误信息,还用于将所述第二加密模块得到的所述第二加密结果发送给所述计算机。
17.如权利要求16所述的装置,其特征在于,所述计算机还包括:
第一判断模块,用于在认证过程中判断所述硬件设备是否已注册,是则触发所述第二获取模块,否则触发所述拒绝登录模块;
所述拒绝登录模块,还用于在所述第一判断模块判断为否时拒绝登录。
18.如权利要求17所述的装置,其特征在于,所述第一判断模块包括:
第一获取单元,用于获取注册列表;
第一判断单元,用于判断所述第一获取模块获取到的设备标识与所述第一获取单元获取的所述注册列表中的设备标识是否匹配,是则所述硬件设备已注册,否则所述硬件设备未注册。
19.如权利要求16所述的装置,其特征在于,所述计算机还包括第二判断模块;
所述第一发送模块还用于向所述硬件设备发送获取应用指令;
所述第二接收模块还用于接收所述计算机发送的获取应用指令;
所述第二发送模块还用于给所述计算机返回数据;
所述第一接收模块还用于接收所述硬件设备返回的数据;
所述第二判断模块用于根据所述第一接收模块接收到的数据判断获取应用是否成功,是则触发所述第一获取模块,否则触发所述拒绝登录模块;
所述拒绝登录模块,还用于在所述第二判断模块判断为否时拒绝登录。
20.如权利要求16所述的装置,其特征在于,所述第一获取模块具体用于向硬件设备发送获取设备标识指令;并接收所述硬件设备返回的设备标识并保存;
所述第二接收模块还用于接收获取设备标识指令;
所述第二发送模块还用于在所述第二接收模块接收到获取设备标识指令后将自身的设备标识返回给所述计算机。
21.如权利要求16所述的装置,其特征在于,所述计算机还包括:
拼接加密模块,用于将所述第二随机数、所述第一随机数、所述第一会话随机数进行拼接得到第一拼接结果,根据预设算法使用保存的与所述注册索引对应的第一配套服务框架密钥对所述第一拼接结果进行加密得到所述第一加密值;
所述第二验证模块具体用于将所述第二解密模块得到的第一解密结果中的第三随机数、第四随机数、第二会话随机数进行拼接得到第二拼接结果,根据预设算法使用保存的与所述第二接收模块接收到的所述注册索引对应的第二配套服务框架密钥对所述第二拼接结果进行加密得到第一加密结果;判断所述第一加密结果与所述第二接收模块接收到的第一解密结果中的第二加密值是否相同,是则验证成功,否则验证失败。
22.如权利要求16所述的装置,其特征在于,所述第一生成模块具体用于当所述第二验证模块验证成功时,使用与所述第二接收模块接收到的所述注册索引对应的第二设备密钥根据预设算法对所述第二解密模块得到的第一解密结果中的第三随机数进行加密得到第三加密值;使用所述第二设备密钥根据预设算法对所述第二解密模块得到的第一解密结果中的第二会话随机数进行加密得到第四加密值;
所述第一验证模块具体用于根据预设算法使用保存的与所述注册索引对应的第一设备密钥对保存的第一随机数进行加密得到第五加密值;根据所述预设算法使用所述第一设备密钥对保存的第一会话随机数进行加密得到第六加密值;判断所述第五加密值和所述第六加密值是否与所述第二解密结果匹配,是则验证成功,允许登录,否则验证失败,拒绝登录。
23.如权利要求16所述的装置,其特征在于,所述计算机还包括第三获取模块、第三判断模块、确认删除模块:
所述第一接收模块还用于在注销过程中接收用户选择的删除信息;
所述第三获取模块用于在所述第一接收模块接收到删除信息后获取注册列表;
所述第三判断模块用于判断所述第一接收模块接收到的删除信息是否与所述第三获取模块获取的注册列表中的信息匹配,如不匹配拒绝注销;
所述确认删除模块,用于在所述第三判断模块判断为是时提示用户确认进行删除操作,当接收到用户的确认删除信息时,将与用户选择的删除信息对应的信息从注册列表中删除。
24.如权利要求16所述的装置,其特征在于,所述计算机还包括第一初始化模块、第四获取模块、第五获取模块、第四判断模块、协商保存模块、第三解密模块、第一保存模块;
所述第一接收模块还用于在注册过程中接收注册触发信息,还用于接收所述硬件设备发送的注册索引、第三加密结果;
所述第一初始化模块,用于在所述第一接收模块接收到注册触发信息时,进行初始化并开始监控硬件设备;
所述第四获取模块,用于当所述第一初始化模块监控到硬件设备***时,获取所述硬件设备的设备标识;
所述第五获取模块,用于在注册过程中获取注册列表;
所述第四判断模块,用于判断所述第四获取模块获取到的设备标识与所述第五获取模块获取到的注册列表中的设备标识是否匹配,如匹配则提示当前硬件设备已注册;
所述协商保存模块,用于在所述第四判断模块判断为否时与所述硬件设备协商加密密钥并保存;
所述第一发送模块还用于在注册过程中向所述硬件设备发送注册命令;
所述第一保存模块,用于在注册过程中保存所述第一接收模块接收到的所述注册索引;
所述第三解密模块用于使用保存的第一加密密钥对所述第一接收模块接收到的所述第三加密结果进行解密;
所述第一保存模块,还用于将所述第四获取模块获取的设备标识、所述第三解密模块从所述第三加密结果中解密得到的第一设备密钥和第一配套服务框架密钥与所述注册索引对应保存在所述第五获取模块获取的注册列表中;
所述硬件设备还包括:更新模块、生成保存模块、第三加密模块;
所述第二接收模块还用于在注册过程中接收所述计算机发送的注册命令;
所述更新模块用于在所述第二接收模块接收到注册命令后更新注册索引,
所述生成保存模块用于生成第二设备密钥和第二配套服务框架密钥并与所述注册索引对应保存,
所述第三加密模块用于使用保存的第二加密密钥对所述生成保存模块生成的第二设备密钥和所述第二配套服务框架密钥进行加密得到第三加密结果;
所述第二发送模块还用于将所述第三加密模块得到的第三加密结果和所述更新模块更新后的注册索引发送给所述计算机。
25.如权利要求24所述的装置,其特征在于,所述计算机还包括第五判断模块;
所述第一发送模块还用于在注册过程中向所述硬件设备发送获取应用指令;
所述第二接收模块还用于在注册过程中接收所述计算机发送的获取应用指令;
所述第二发送模块还用于在所述第二接收模块接收到获取应用指令后给所述计算机返回数据;
所述第一接收模块还用于在注册过程中接收所述硬件设备返回的数据;
所述第五判断模块用于根据所述第一接收模块接收到的数据判断获取应用是否成功,是则触发所述第四获取模块,否则提示注册失败。
26.如权利要求24所述的装置,其特征在于,所述第四获取模块具体用于在注册过程中向硬件设备发送获取设备标识指令;并接收所述硬件设备返回的设备标识并保存;
所述第二接收模块还用于在注册过程中接收获取设备标识指令;
所述第二发送模块还用于在所述第二接收模块接收到获取设备标识指令后将自身的设备标识返回给所述计算机。
27.如权利要求24所述的装置,其特征在于,所述计算机还包括:提示接收模块和第二保存模块;
所述提示接收模块,用于在注册过程中提示用户输入用户注册名并接收所述用户注册名;
所述第二保存模块,用于保存所述提示接收模块接收到的所述用户注册名。
28.如权利要求24所述的装置,其特征在于,所述协商保存模块包括:
第一生成保存单元,用于生成第一密钥并保存;
第一加密单元,用于使用所述第一生成保存单元中的第一密钥根据预设算法对第一预设数据进行加密得到第五加密结果;
第一发送单元,用于将所述第一生成保存单元中的第一密钥和所述第一加密单元得到的第五加密结果发送给所述硬件设备;
第一接收单元,用于接收所述硬件设备发送的数据;
第二获取单元,用于从所述第一接收单元接收到的数据中获取第二密钥和第六加密结果;
解密判断单元,用于使用所述第二获取单元获取的第二密钥解密所述第二获取单元获取的第六加密结果,判断解密结果是否为所述第一预设数据,如判断为否则提示注册失败;
第二生成保存单元,用于在所述解密判断单元判断为是时根据所述第一生成保存单元保存的所述第一密钥和所述第二获取单元获取的所述第二密钥生成第一加密密钥并保存;
所述硬件设备还包括:获取判断模块和生成加密模块;
所述第二接收模块还用于在协商密钥过程中接收所述计算机发送的数据;
所述获取判断模块用于从所述第二接收模块接收到的数据中获取所述第一密钥和所述第五加密结果,使用所述第一密钥解密所述第五加密结果,判断解密结果是否为所述第一预设数据;
生成加密模块,用于在所述获取判断模块判断为是时生成第二密钥,根据所述第一密钥和所述第二密钥生成第二加密密钥并保存;使用所述第二密钥根据预设算法对所述获取判断模块得到的所述解密结果进行加密得到第六加密结果;
所述第二发送模块还用于将所述生成加密模块生成的所述第二密钥和加密得到的所述第六加密结果发送给所述计算机,还用于在所述获取判断模块判断为否时给所述计算机返回注册错误信息。
29.如权利要求28所述的装置,其特征在于,所述生成加密模块具体用于在所述获取判断模块判断为是时生成第二密钥,将所述第一密钥的前8字节数据和所述第二密钥的后8字节数据进行拼接得到第二加密密钥并保存;使用所述第二密钥根据预设算法对所述解密结果进行加密得到第六加密结果;
所述第二生成保存单元具体用于在所述解密判断单元判断为是时将保存的所述第一密钥的前8字节数据和所述第二获取单元获取的所述第二密钥的后8字节数据进行拼接得到第一加密密钥并保存。
30.如权利要求24所述的装置,其特征在于,所述计算机还包括:
弹出提示模块,用于在注册过程中弹出验证PIN码框,提示用户输入PIN码并接收;
第六判断模块,用于判断所述弹出提示模块接收到的用户输入的PIN码是否与保存的PIN码相同,是则触发所述第一保存模块,否则提示注册失败。
CN201810021013.5A 2018-01-10 2018-01-10 硬件登录windows10以上***的实现方法及装置 Active CN108256309B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201810021013.5A CN108256309B (zh) 2018-01-10 2018-01-10 硬件登录windows10以上***的实现方法及装置
US16/770,569 US11314853B2 (en) 2018-01-10 2018-12-24 Method and apparatus for implementing logging-on of hardware to windows system with version 10 or higher
PCT/CN2018/123211 WO2019137193A1 (zh) 2018-01-10 2018-12-24 硬件登录windows10以上***的实现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810021013.5A CN108256309B (zh) 2018-01-10 2018-01-10 硬件登录windows10以上***的实现方法及装置

Publications (2)

Publication Number Publication Date
CN108256309A true CN108256309A (zh) 2018-07-06
CN108256309B CN108256309B (zh) 2020-01-03

Family

ID=62725084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810021013.5A Active CN108256309B (zh) 2018-01-10 2018-01-10 硬件登录windows10以上***的实现方法及装置

Country Status (3)

Country Link
US (1) US11314853B2 (zh)
CN (1) CN108256309B (zh)
WO (1) WO2019137193A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109450852A (zh) * 2018-10-09 2019-03-08 中国科学院信息工程研究所 网络通信加密解密方法及电子设备
WO2019137193A1 (zh) * 2018-01-10 2019-07-18 飞天诚信科技股份有限公司 硬件登录windows10以上***的实现方法及装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113242212A (zh) * 2021-04-15 2021-08-10 杭州链城数字科技有限公司 网络节点双向通信认证方法及装置、电子设备、存储介质
CN115174187A (zh) * 2022-06-30 2022-10-11 济南浪潮数据技术有限公司 一种用户安全登录方法、***及装置
CN117097476B (zh) * 2023-10-19 2024-01-26 浪潮云洲工业互联网有限公司 一种基于工业互联网的数据处理方法、设备及介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1822541A (zh) * 2006-03-31 2006-08-23 北京飞天诚信科技有限公司 一种控制计算机登录的设备及方法
CN102811211A (zh) * 2011-05-30 2012-12-05 索尼公司 支持登录验证的设备和进行登录验证的方法
CN102831335A (zh) * 2011-06-16 2012-12-19 中国科学院数据与通信保护研究教育中心 一种Windows操作***的安全保护方法和***
CN104104687A (zh) * 2014-07-28 2014-10-15 飞天诚信科技股份有限公司 一种安全登录的方法和***
CN104639516A (zh) * 2013-11-13 2015-05-20 华为技术有限公司 身份认证方法、设备及***
US20150358820A1 (en) * 2013-05-07 2015-12-10 Huawei Device Co., Ltd. Method for Establishing Connection Between Devices, Configuration Device, and Wireless Device
CN106034028A (zh) * 2015-03-17 2016-10-19 阿里巴巴集团控股有限公司 一种终端设备认证方法、装置及***
CN107241192A (zh) * 2017-05-27 2017-10-10 飞天诚信科技股份有限公司 一种使用指纹key进行登录的方法及装置
CN107563176A (zh) * 2017-08-17 2018-01-09 广州视源电子科技股份有限公司 基于u盘的登录认证方法、***、可读存储介质和计算机

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
KR101416541B1 (ko) * 2012-12-27 2014-07-09 주식회사 로웸 안전 로그인 시스템과 방법 및 이를 위한 장치
CN108256309B (zh) 2018-01-10 2020-01-03 飞天诚信科技股份有限公司 硬件登录windows10以上***的实现方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1822541A (zh) * 2006-03-31 2006-08-23 北京飞天诚信科技有限公司 一种控制计算机登录的设备及方法
CN102811211A (zh) * 2011-05-30 2012-12-05 索尼公司 支持登录验证的设备和进行登录验证的方法
CN102831335A (zh) * 2011-06-16 2012-12-19 中国科学院数据与通信保护研究教育中心 一种Windows操作***的安全保护方法和***
US20150358820A1 (en) * 2013-05-07 2015-12-10 Huawei Device Co., Ltd. Method for Establishing Connection Between Devices, Configuration Device, and Wireless Device
CN104639516A (zh) * 2013-11-13 2015-05-20 华为技术有限公司 身份认证方法、设备及***
CN104104687A (zh) * 2014-07-28 2014-10-15 飞天诚信科技股份有限公司 一种安全登录的方法和***
CN106034028A (zh) * 2015-03-17 2016-10-19 阿里巴巴集团控股有限公司 一种终端设备认证方法、装置及***
CN107241192A (zh) * 2017-05-27 2017-10-10 飞天诚信科技股份有限公司 一种使用指纹key进行登录的方法及装置
CN107563176A (zh) * 2017-08-17 2018-01-09 广州视源电子科技股份有限公司 基于u盘的登录认证方法、***、可读存储介质和计算机

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019137193A1 (zh) * 2018-01-10 2019-07-18 飞天诚信科技股份有限公司 硬件登录windows10以上***的实现方法及装置
US11314853B2 (en) 2018-01-10 2022-04-26 Feitian Technologies Co., Ltd. Method and apparatus for implementing logging-on of hardware to windows system with version 10 or higher
CN109450852A (zh) * 2018-10-09 2019-03-08 中国科学院信息工程研究所 网络通信加密解密方法及电子设备

Also Published As

Publication number Publication date
CN108256309B (zh) 2020-01-03
US20210165868A1 (en) 2021-06-03
US11314853B2 (en) 2022-04-26
WO2019137193A1 (zh) 2019-07-18

Similar Documents

Publication Publication Date Title
CN108256309A (zh) 硬件登录windows10以上***的实现方法及装置
CN105027493B (zh) 安全移动应用连接总线
CN104660416B (zh) 一种语音认证***和设备的工作方法
CN105141420B (zh) 一种安全导入、签发证书的方法、设备及服务器
CN108377190A (zh) 一种认证设备及其工作方法
CN109041205A (zh) 客户端注册方法、装置及***
CN112039918B (zh) 一种基于标识密码算法的物联网可信认证方法
CN105847247A (zh) 一种认证***及其工作方法
CN109743176A (zh) 一种pos终端的证书更新方法、服务器及pos终端
CN108521333A (zh) 一种基于动态口令进行离线认证的登录方法及***
CN107969001A (zh) 一种蓝牙配对双向认证的方法及装置
WO2020248686A1 (zh) 一种安全签名的实现方法及装置
CN106411926A (zh) 一种数据加密通信方法及***
CN108270791A (zh) 一种安全运行可执行文件的方法及***
CN107809311A (zh) 一种基于标识的非对称密钥签发的方法及***
CN106934886A (zh) 一种动态密码锁otc密钥设置与更新方法
CN102075327A (zh) 一种实现电子钥匙解锁的方法、装置及***
CN106101160A (zh) 一种***登录方法及装置
CN104917603A (zh) 一种信息安全传递方法、接收终端、及发送终端
CN110493177A (zh) 基于非对称密钥池对和序列号的量子通信服务站aka密钥协商方法和***
CN113868672A (zh) 模组无线固件升级方法、安全芯片和无线固件升级平台
CN101840478A (zh) 密码管理方法
CN104767766A (zh) 一种Web Service接口验证方法、Web Service服务器、客户端
Slaughter et al. Information security plan for flight simulator applications
CN113852628B (zh) 一种去中心化的单点登录方法、装置及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
OL01 Intention to license declared
OL01 Intention to license declared