CN108809982A - 一种基于可信执行环境的免密认证方法及系统 - Google Patents

一种基于可信执行环境的免密认证方法及系统 Download PDF

Info

Publication number
CN108809982A
CN108809982A CN201810600579.3A CN201810600579A CN108809982A CN 108809982 A CN108809982 A CN 108809982A CN 201810600579 A CN201810600579 A CN 201810600579A CN 108809982 A CN108809982 A CN 108809982A
Authority
CN
China
Prior art keywords
unit
close
terminal
exempts
personal identification
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
CN201810600579.3A
Other languages
English (en)
Other versions
CN108809982B (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 CN201810600579.3A priority Critical patent/CN108809982B/zh
Publication of CN108809982A publication Critical patent/CN108809982A/zh
Application granted granted Critical
Publication of CN108809982B publication Critical patent/CN108809982B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • 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/3247Cryptographic 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 digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及信息安全领域,尤其涉及一种基于可信执行环境的免密认证方法及系统,该方法为终端接收用户输入的生物特征,并通过本地认证功能验证生物特征是否合法,当验证合法时向智能密钥设备发送获取待签名数据请求,智能密钥设备生成待签名数据,并将待签名数据发送给所述终端;终端在可信执行环境中查找私钥,使用私钥对待签名数据进行签名得到签名值,并将签名值发送给智能密钥设备;智能密钥设备使用公钥对签名值进行验签,当验签成功则免密验证成功,本发明将由智能密钥设备执行的验证个人识别码流程由终端支持的本地认证功能代替,简化了用户操作。

Description

一种基于可信执行环境的免密认证方法及系统
技术领域
本发明涉及信息安全领域,尤其涉及一种基于可信执行环境的免密认证方法及系统。
背景技术
目前,随着计算机技术的快速发展,网上银行(简称网银)越来越普及,有更多的人开始使用这种方便快捷的网银服务,如个人网上银行、企业网上银行、手机银行等;
目前,网上银行在安全认证方面多采用数字证书,数字证书的载体多为智能密钥设备,而个人识别码相当于访问智能密钥设备的钥匙;智能密钥设备需要授权才可以使用,授权过程即为验证个人识别码流程,在进行网上交易时,每笔交易都要多次输入个人识别码进行验证,操作比较繁琐,且手动输入容易出错,用户体验感较差。
发明内容
本发明的目的是为了克服现有技术的缺陷,提出一种基于可信执行环境的免密认证方法及系统。
一种基于可信执行环境的免密认证方法,包括:
步骤S1、终端接收用户输入的生物特征,并通过本地认证功能验证生物特征是否合法,是则向智能密钥设备发送获取待签名数据请求,执行步骤S2;否则免密认证失败,结束;
步骤S2、智能密钥设备生成待签名数据,并将待签名数据发送给终端;
步骤S3、终端在可信执行环境中查找私钥,使用查找到的私钥对待签名数据进行签名得到签名值,并将签名值发送给智能密钥设备;
步骤S4、智能密钥设备使用公钥对签名值进行验签,判断是否验签通过,是则向终端发送验签通过响应,结束;否则向终端发送验签失败响应,结束。
一种基于可信执行环境的免密认证系统,包括终端和智能密钥设备;
终端包括第一免密认证模块;智能密钥设备包括第二免密认证模块;
第一免密认证模块包括:
第一接收单元,用于接收用户输入的生物特征;还用于接收智能密钥设备发送的待签名数据;
第一生物特征验证单元,用于通过本地认证功能验证第一接收单元接收到的所述生物特征是否合法;
第一发送单元,用于当第一生物特征验证单元验证所述生物特征合法之后向智能密钥设备发送获取待签名数据请求;还用于向智能密钥设备发送签名单元生成的所述签名值;
签名单元,用于当第一接收单元接收到待签名数据时,在可信执行环境中查找私钥,使用查找到的私钥对待签名数据进行签名得到签名值;
第二免密认证模块包括:
第二接收单元,用于接收终端发送的获取待签名数据请求;还用于接收所述终端发送的签名值;
待签名数据生成单元,用于当第二接收单元接收到获取待签名数据请求时生成待签名数据;
第二发送单元,用于将待签名数据生成单元生成待签名数据发送给终端;还用于当验签单元判定验签通过时,向终端发送验签通过响应;还用于当验签单元判定验签未通过时,向终端发送验签失败响应;
验签单元,用于当第二接收单元接收到的签名值时,使用公钥对签名值进行验签,判断是否验签通过。
本发明的有益效果在于,本发明提供的一种基于可信执行环境的免密认证方法及系统,将由智能密钥设备执行的验证个人识别码流程由终端支持的本地认证功能代替,用户仅需输入生物特征即可代替原先输入个人识别码这个繁琐的过程,操作简单。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1至图2为本发明实施例1中提供的一种基于可信执行环境的免密认证方法的流程图;
图3至图4为本发明实施例2中提供的一种基于可信执行环境的免密认证方法的流程图;
图5为本发明实施例3中提供的一种基于可信执行环境的免密认证系统的方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明提供了一种基于可信执行环境的免密认证方法,包括:免密认证方法和启用免密认证方法。
当终端接收到启用免密认证信号时,执行启用免密认证方法;
启用免密认证方法,参见图1,包括:
步骤101、终端判断是否已启用免密认证,是则提示用户已启用免密认证,结束;否则执行步骤102;
具体的,终端判断是否可以可信执行环境中查找到密钥对,是则判定已启用免密认证,否则判定没有启用免密认证;
步骤102、终端判断是否支持本地认证功能,是则执行步骤103,否则启用免密认证失败,结束;
具体的,终端调用let context=LAContext()let error:NSError?context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics,&error)判断返回值,如果返回true则支持本地认证功能,如果返回error,则判断error的值是否为touchIDNotAvailable touchIDNotEnrolled,如果是则不支持本地认证功能,否则支持本地认证功能;
步骤103、终端提示用户输入个人识别码;当接收到用户输入的个人识别码时,向智能密钥设备发送用户输入的个人识别码;
需要说明的是,个人识别码(英文全称:Personal Identification Number,英文缩写:PIN);
具体的,本实施例中,终端设备接收到的个人识别码为111111;终端将接收到的个人识别码进行MD5加密运算得到的加密结果为
96e79218965eb72c92a549dd5a330112;
终端将类别字节80、指令字节F0、参数00 00、数据的长度10以及加密结果96e79218965eb72c92a549dd5a330112顺序拼接,并将拼接结果发送给智能密钥设备;
需要说明的是,步骤103之前还包括:终端设备与智能密钥设备建立连接,建立连接的方式包括但是不限于通过蓝牙方式连接。
步骤104、智能密钥设备判断接收到的个人识别码是否合法,是则向终端发送验证成功响应,执行步骤105;否则向终端发送验证失败响应,结束;
具体的,智能密钥设备从接收到的数据中获取加密结果,并对解密结果进行解密得到个人识别码,判断接收到的个人识别码与预先存储的个人识别码是否一致,是则向终端发送验证成功响应,执行步骤105;否则向终端发送验证失败响应,结束;
本实施例中,智能密钥设备判断接收到的个人识别码是否合法,是则向终端发送验证成功响应9000,执行步骤105;否则向终端发送验证失败响应6FFX,结束;
步骤105、终端接收用户输入的生物特征,通过本地认证功能验证用户输入的生物特征是否合法,是则执行步骤106,否则启用免密认证失败,结束;
具体的,生物特征可以为指纹特征、虹膜特征或者面部特征。
更为详细的,终端通过调用let context=LAContext()
context.evaluateAccessControl(access,.useKeySign,<提示信息>)函数,提示用户输入生物特征,该函数触发{success,error in//do verify or faile}函数,根据该函数中的参数判断验证是否通过,当参数为ture时验证通过,当参数为false时验证失败。
步骤106、终端在可信执行环境中生成密钥对,并将密钥对中的公钥导出可信执行环境;
当终端的操作系统为IOS系统时,使用SecKeyCreateRandomKey在KeyChain中生成非对称算法密钥对,并使用SecKeyCopyPublicKey获取公钥。
当终端的操作系统为android系统时,使用KeyPairGenerator类示例的方法generateKeyPair生成非对称算法密钥对,通过生成的KeyPair类示例的getPublic获取公钥。
需要说明的是,当终端的操作系统为IOS系统时,可信执行环境具体为keychain;当终端的操作系统为android系统时,可信执行环境具体为密钥库系统。可信执行环境中生成的密钥对中的私钥不可导出,即可以使用私钥,但无法提取私钥。当通过可信执行环境存储的私钥执行签名操作时,将待签名的数据馈送到执行加密操作的系统进程。
更为详细的,终端从可信执行环境中导出的公钥具体为:
B0478979C641FB4229B2B52895BE7803929BEF009FE620B7732B9DA6EF4769BC9C7E2F905C26E4B3EE76DFCAF79A7870CF32B156135E4EDC6323AC5AFFFDA46C5D13F215D0EB5417B0E57FA5F600BCDBA7E45E8E8CAB47CEEC15510725584BA10CFA9FA95E4027D7A769A772E4EFDC2D55625F9E0A20714ED56AB07E057900D5;
步骤107、终端向智能密钥设备发送导出的公钥;
具体的,本实施例中终端将类别字节80、指令字节F1、参数00 00、数据的长度80以及公钥
B0478979C641FB4229B2B52895BE7803929BEF009FE620B7732B9DA6EF4769BC9C7E2F905C26E4B3EE76DFCAF79A7870CF32B156135E4EDC6323AC5AFFFDA46C5D13F215D0EB5417B0E57FA5F600BCDBA7E45E8E8CAB47CEEC15510725584BA10CFA9FA95E4027D7A769A772E4EFDC2D55625F9E0A20714ED56AB07E057900D5顺序拼接,并将拼接结果发送给智能密钥设备;
步骤108、智能密钥设备保存接收到的公钥。
具体的,智能密钥设备将公钥保存到随机存取存储器(random access memory,RAM)中,当断电时,自动删除公钥;
当终端接收到验证个人识别码信号时,执行免密认证方法;
免密认证方法包括:参见图2,包括:
步骤201、终端判断是否已启用免密认证,是则执行步骤206,否则执行步骤202;
具体的,终端判断是否可以可信执行环境中查找到密钥对,是则判定已启用免密认证,否则判定没有启用免密认证;
步骤202、终端提示用户开启免密认证,判断是否在预设时间内接收到启用免密认证的触发信息,是则执行启用免密认证方法,结束;否则执行步骤203;
步骤203、终端提示用户输入个人识别码,当接收到用户输入的个人识别码时,执行步骤204;
步骤204、终端向智能密钥设备发送用户输入的个人识别码;
具体的,本实施例中,终端设备接收到的个人识别码为111111;终端将接收到的个人识别码进行MD5加密运算得到的加密结果为
96e79218965eb72c92a549dd5a330112;
终端将类别字节80、指令字节F0、参数00 00、数据的长度10以及加密结果96e79218965eb72c92a549dd5a330112顺序拼接,并将拼接结果发送给智能密钥设备;
需要说明的是,步骤204之前还包括:终端设备与智能密钥设备建立连接,建立连接的方式包括但是不限于通过蓝牙方式连接。
步骤205、智能密钥设备判断接收到的个人识别码是否合法,是则向终端发送验证成功响应,结束;否则向终端发送验证失败响应,结束;
具体的,智能密钥设备从接收到的数据中获取加密结果,并对解密结果进行解密得到个人识别码,判断接收到的个人识别码与预先存储的个人识别码是否一致,是则向终端发送验证成功响应,结束;否则向终端发送验证失败响应,结束;
本实施例中,智能密钥设备判断接收到的个人识别码是否合法,是则向终端发送验证成功响应9000,结束;否则向终端发送验证失败响应6FFX,结束;
步骤206、终端接收用户输入的生物特征,通过本地认证功能验证用户输入的生物特征是否合法,是则执行步骤207;否则个人识别码验证失败,结束;
步骤207、终端向智能密钥设备发送获取待签名数据请求;
本实施例中,终端将类别字节00、指令字节84、参数00 00以及期望返回的待签名数据长度08顺序拼接得到获取待签名数据请求,具体为:00 84 00 00 08;
步骤208、智能密钥设备生成待签名数据,并向终端发送待签名数据;
具体的,智能密钥设备生成随机数,将随机数作为待签名数据,并向终端发送待签名数据;
更为详细的,智能密钥设备生成的随机数具体为:D3 D9 92 2F 1F 8E 1F 55;
本实施例中,智能密钥设备将随机数D3 D9 92 2F 1F 8E 1F 55和状态值9000顺序拼接,将拼接结果发送给终端;
步骤209、终端在可信执行环境中查找私钥,使用查找到的私钥对所述待签名数据进行签名得到签名值;
本实施例中,当终端的操作系统为IOS系统时,通过SecItemCopyMatching函数从可信执行环境中查找私钥,使用查找到的私钥通过函数SecKeyCreateSignature对随机数进行签名;
当终端的操作系统为android系统时,通过KeyStore的getEntry方法从可信执行环境中查找与设备序列号对应的私钥,使用查找到的私钥通过Signature类的initSign方法对随机数进行签名;
具体的,终端使用查找到的私钥对随机数进行签名得到的签名值具体为:67 5430 94 FE 56 47 DD A3 B7 8B CA 4F 21 56 37 8B 5C 62 0D 6C 59 8B 3D 3D B5 65 8BE2 A8 1C 62 74 88 CA 91 E5 00 89 67 EC 57 C3 04 A5 AF BC 24 06 01 63 88 49 F1B8 E2 B2 CF 2A 42 36 86 13 CA FD 37 49 45 42 38 68 99 1B BB DF 97 AB 45 62 D73F E0 70 A3 22 85 32 2F A1 65 57 2E E8 86 3A 76 3E 21 F1 E4 7A 2D A9 CD E4 F173 63 66 D0 91 28 4A 1D 5A AE 2C A0 BD 5D BC 8D 2F 98 62 E3 3E 5C。
步骤210、终端向智能密钥设备发送签名值;
具体的,本实施例中,终端将类别字节80、指令字节F2、参数00 00、数据的长度80,以及签名值67 54 30 94 FE 56 47 DD A3 B7 8B CA 4F 21 56 37 8B 5C 62 0D 6C 598B 3D 3D B5 65 8B E2 A8 1C 62 74 88 CA 91 E5 00 89 67 EC 57 C3 04 A5 AF BC 2406 01 63 88 49 F1 B8 E2 B2 CF 2A 42 36 86 13 CA FD 37 49 45 42 38 68 99 1B BBDF 97 AB 45 62 D7 3F E0 70 A3 22 85 32 2F A1 65 57 2E E8 86 3A 76 3E 21 F1 E47A 2D A9 CD E4 F1 73 63 66 D0 91 28 4A 1D 5A AE 2C A0 BD 5D BC 8D 2F 98 62 E33E 5C顺序拼接,并将拼接结果发送给智能密钥设备;
步骤211、智能密钥设备获取公钥,使用获取到的公钥对接收到的签名值进行验签,判断验是否验签通过,是则向终端发送验证成功响应,结束,否则向终端发送验证失败响应,结束。
当终端与智能密钥设备断开连接之后还包括:终端在可信执行环境中删除密钥对。
本实施例提供一种基于可信执行环境的免密认证方法,由于在一次智能密钥设备和终端连接的过程中,用户可能会被要求多次输入个人识别码,通过本方法,在一次智能密钥设备和终端连接的过程中,用户仅需输入一次个人识别码,在其后使用智能密钥设备进行网银登录或者交易等需要验证个人识别码的操作时,即可通过录入生物特征代替输入个人识别码,简化了用户输入个人识别码这个繁琐的过程,很好的提升了用户体验,且本实施例中还将私钥写入了可信执行环境,使得私钥不可导出,更加安全可靠。
实施例2
本实施例提供了一种基于可信执行环境的免密认证方法,包括免密认证方法和启用免密认证方法。
当终端接收到启用免密认证信号时,执行启用免密认证方法:
启用免密认证方法,参见图3,包括:
步骤301、终端向智能密钥设备发送获取设备序列号请求;
具体的,终端将类别字节80、指令字节EA、参数00 00以及期望返回的数据长度00顺序拼接得到获取设备序列号请求,并将获取设备序列号请求发送给智能密钥设备;终端发送的获取设备序列号请求具体为:80 EA 00 00 00;
需要说明的是,步骤301之前还包括:终端设备与智能密钥设备建立连接,建立连接的方式包括但是不限于通过蓝牙方式连接。
步骤302、智能密钥设备向终端发送自身的设备序列号;
具体的,本实施例中智能密钥设备的设备序列号具体为:D7 C2 8C 54 1D 9B 966A;
具体的,本实施例中智能密钥设备将设备序列号D7 C2 8C 54 1D 9B 96 6A 和状态值9000顺序拼接,将拼接结果发送给终端;
步骤303、终端根据接收到的设备序列号判断是否已启用免密认证,是则提示用户已启用免密认证,结束,否则执行步骤304;
具体的,终端根据设备序列号判断是否可以在可信执行环境中查找到密钥对,是则判定已启用免密认证,否则判定未启用免密认证;
步骤304、终端判断是否支持本地认证功能,是则执行步骤305,否则启用免密认证失败,结束;
具体的,终端调用let context=LAContext()let error:NSError?context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics,&error)判断返回值,如果返回true则支持本地认证功能,如果返回error,则判断error的值是否为touchIDNotAvailable touchIDNotEnrolled,如果是则不支持本地认证功能,否则支持本地认证功能;
步骤305、终端提示用户输入个人识别码,当接收到用户输入的个人识别码时,向智能密钥设备发送用户输入的个人识别码;
具体的,本实施例中,终端设备接收到的个人识别码为111111;终端将接收到的个人识别码进行MD5加密运算得到的加密结果为
96e79218965eb72c92a549dd5a330112;
终端将类别字节80、指令字节F0、参数00 00、数据的长度10以及加密结果96e79218965eb72c92a549dd5a330112顺序拼接,并将拼接结果发送给智能密钥设备;
步骤306、智能密钥设备判断接收到的个人识别码是否合法,是则向终端发送验证成功响应,执行步骤307;否则向终端发送验证失败响应,启用免密认证失败,结束;
具体的,智能密钥设备从接收到的数据中获取加密结果,并对解密结果进行解密得到个人识别码,判断接收到的个人识别码与预先存储的个人识别码是否一致,是则判定接收到的个人识别码合法,否则判定接收到的个人识别码不合法;
具体的,智能密钥设备判断接收到的个人识别码是否合法,是则向终端发送验证成功响应9000,执行步骤307;否则向终端发送验证失败响应6FFX,启用免密认证失败,结束;
步骤307、终端设备接收用户输入的生物特征,通过本地认证功能验证生物特征是否合法,是则执行步骤308,否则启用免密认证失败,结束;
步骤308、终端生成索引值,将设备序列号和所述索引值对应保存,在可信执行环境中生成密钥对,设置设备序列号为密钥对的查找标识,并将密钥对中的公钥导出可信执行环境;
具体的,终端通过let attributes:[String,Any]=[kSecAttrLabel as String:D7 C2 8C 54 1D 9B 96 6A,//bind key paire with USB key]设置设备序列号为密钥对中私钥的查找标识,通过调用函数var error:NSError?let priKey=SecKeyCreateRandomKey(attributes,&error)函数生成密钥对;并通过let pubKeyData=SecKeyCopyExternalRepresentation(pubKey,&error)as Data函数导出密钥对中的公钥。
需要说明的是,当终端为IOS系统时,可信执行环境具体为keychain;当终端为android系统时,可信执行环境具体为密钥库系统。可信执行环境中生成的密钥对中的私钥不可导出,即可以使用私钥,但无法提取私钥。当通过可信执行环境存储的私钥执行签名操作时,将待签名的数据馈送到执行加密操作的系统进程。
更为详细的,终端生成的密钥对中的公钥具体为:
B0478979C641FB4229B2B52895BE7803929BEF009FE620B7732B9DA6EF4769BC9C7E2F905C26E4B3EE76DFCAF79A7870CF32B156135E4EDC6323AC5AFFFDA46C5D13F215D0EB5417B0E57FA5F600BCDBA7E45E8E8CAB47CEEC15510725584BA10CFA9FA95E4027D7A769A772E4EFDC2D55625F9E0A20714ED56AB07E057900D5;
步骤309、终端向智能密钥设备发送导出的的公钥和索引值;
具体的,本实施例中,终端将类别字节80、指令字节F3、参数0000、数据长度8C、索引值标识49、索引值的长度08、索引值B7C56421D537198E、公钥标识4E、公钥的长度80以及公钥
B0478979C641FB4229B2B52895BE7803929BEF009FE620B7732B9DA6EF4769BC9C7E2F905C26E4B3EE76DFCAF79A7870CF32B156135E4EDC6323AC5AFFFDA46C5D13F215D0EB5417B0E57FA5F600BCDBA7E45E8E8CAB47CEEC15510725584BA10CFA9FA95E4027D7A769A772E4EFDC2D55625F9E0A20714ED56AB07E057900D5顺序拼接,将拼接结果发送给智能密钥设备。
步骤310、智能密钥设备将接收到的索引值和公钥对应保存。
当终端接收到验证个人识别码信号时,执行免密认证方法;
免密认证方法,参见图4,包括:
步骤401、终端向智能密钥设备发送获取设备序列号请求;
具体的,终端将类别字节80、指令字节EA、参数00 00以及期望返回的数据长度00顺序拼接得到获取设备序列号请求,并将获取设备序列号请求发送给智能密钥设备;终端发送的获取设备序列号请求具体为:80 EA 00 00 00;
需要说明的是,步骤401之前还包括:终端设备与智能密钥设备建立连接,建立连接的方式包括但是不限于通过蓝牙方式连接。
步骤402、智能密钥设备向终端发送自身的设备序列号;
具体的,本实施例中智能密钥设备的设备序列号具体为:D7 C2 8C 54 1D 9B 966A;
具体的,本实施例中智能密钥设备将设备序列号D7 C2 8C 54 1D 9B 96 6A 和状态值9000顺序拼接,将拼接结果发送给终端;
步骤403、终端根据接收到的设备序列号判断是否已启用免密认证,是则执行步骤408,否则执行步骤404;
具体的,终端判断是否可以根据设备序列号在可信执行环境中查找到密钥对,是则判定已启用免密认证,否则判定没有启用免密认证;
步骤404、终端提示用户开启免密认证,判断是否在预设时间内接收到启用免密认证的触发信息,是则执行启用免密认证方法,结束;否则执行步骤405;
步骤404中,当终端判定在预设时间内接收到启用免密认证的触发信息时,执行步骤301至步骤310;
步骤405、终端提示用户输入个人识别码,当接收到用户输入的个人识别码时,执行步骤406;
步骤406、终端向智能密钥设备发送用户输入的个人识别码;
具体的,本实施例中,终端设备接收到的个人识别码为111111;终端将接收到的个人识别码进行MD5加密运算得到的加密结果为
96e79218965eb72c92a549dd5a330112;
终端将类别字节80、指令字节F0、参数00 00、数据的长度10以及加密结果96e79218965eb72c92a549dd5a330112顺序拼接,并将拼接结果发送给智能密钥设备;
步骤407、智能密钥设备判断接收到的个人识别码是否合法,是则向终端发送验证成功响应,结束;否则向终端发送验证失败响应,结束。
具体的,智能密钥设备从接收到的数据中获取加密结果,并对解密结果进行解密得到个人识别码,判断接收到的个人识别码与预先存储的个人识别码是否一致,是则向终端发送验证成功响应,结束;否则向终端发送验证失败响应,结束。
步骤408、终端接收用户输入的生物特征,通过本地认证验证用户输入的生物特征是否合法,是则执行步骤409,否则个人识别码验证失败,结束;
步骤409、终端向智能密钥设备发送获取待签名数据请求;
本实施例中,终端将类别字节00、指令字节84、参数00 00以及期望返回的待签名数据长度08顺序拼接得到获取待签名数据请求,具体为:00 84 00 00 08;
步骤410、智能密钥设备生成待签名数据,并向终端发送生成的待签名数据;
具体的,智能密钥设备生成随机数,将随机数作为待签名数据,并向终端发送待签名数据;
更为详细的,智能密钥设备生成的随机数具体为:D3 D9 92 2F 1F 8E 1F 55;
本实施例中,智能密钥设备将随机数D3 D9 92 2F 1F 8E 1F 55和状态值9000顺序拼接,将拼接结果发送给终端;
步骤411、终端根据设备序列号在可信执行环境中查找密钥对,使用密钥对中的私钥对待签名数据进行签名得到签名值,并根据设备序列号获取与其对应的索引值;
本实施例中,当终端的操作系统为IOS系统时,通过SecItemCopyMatching函数从可信执行环境中查找与设备序列号对应的私钥,使用查找到的私钥通过函数SecKeyCreateSignature对随机数进行签名;
当终端的操作系统为android系统时,通过KeyStore的getEntry方法从可信执行环境中查找与设备序列号对应的私钥,使用查找到的私钥通过Signature类的initSign方法对随机数进行签名;
需要说明的是,当终端的操作系统为IOS系统时,可信执行环境具体为keychain;当终端的操作系统为android系统时,可信执行环境具体为密钥库系统。保存在可信执行环境的密钥不可导出,即可以使用密钥,但无法提取密钥。当通过可信执行环境存储的密钥执行签名操作时,将待签名的数据馈送到执行加密操作的系统进程。
具体的,终端使用查找到的私钥对随机数进行签名得到的签名值具体为:67 5430 94 FE 56 47 DD A3 B7 8B CA 4F 21 56 37 8B 5C 62 0D 6C 59 8B 3D 3D B5 65 8BE2 A8 1C 62 74 88 CA 91 E5 00 89 67 EC 57 C3 04 A5 AF BC 24 06 01 63 88 49 F1B8 E2 B2 CF 2A 42 36 86 13 CA FD 37 49 45 42 38 68 99 1B BB DF 97 AB 45 62 D73F E0 70 A3 22 85 32 2F A1 65 57 2E E8 86 3A 76 3E 21 F1 E4 7A 2D A9 CD E4 F173 63 66 D0 91 28 4A 1D 5A AE 2C A0 BD 5D BC 8D 2F 98 62 E3 3E 5C。
步骤412、终端向智能密钥设备发送签名值和索引值;
具体的,本实施例中,终端将类别字节80、指令字节F4、参数0000、数据的长度8C、索引值标识49、索引值的长度08、索引值B7C56421D537198E、签名值标识53、签名值的长度80、签名值
67543094FE5647DDA3B78BCA4F2156378B5C620D6C598B3D3DB5658BE2A81C627488CA91E5008967EC57C304A5AFBC240601638849F1B8E2B2CF2A42368613CAFD374945423868991BBBDF97AB4562D73FE070A32285322FA165572EE8863A763E21F1E47A2DA9CDE4F1736366D091284A1D5AAE2CA0BD5DBC8D2F9862E33E5C顺序拼接,将拼接结果发送给智能密钥设备。
步骤413、智能密钥设备根据索引值获取公钥,使用获取到的公钥对接收到的签名值进行验签,判断是否验签通过,是则向终端发送验证成功响应,结束,否则向终端发送验证失败响应,结束。
优选的,步骤305之前还包括,终端接收用户选择的免密认证方式,将设备序列号与用户选择的免密认证方式对应保存;
步骤309具体包括:终端将免密认证方式、导出的公钥和索引值发送给智能密钥设备;
步骤310具体为:智能密钥设备将公钥、索引值以及免密认证方式对应保存;
所述方法中还包括:终端与智能密钥设备断开连接;终端根据设备序列号获取与其对应保存的免密认证方式,当免密认证方式为允许本次连接启用时,根据设备序列号在可信执行环境中查找密钥对,并删除查找到的密钥对;智能密钥设备获取与索引值对应保存的免密认证方式,当免密认证方式为允许本次连接启用时,删除与索引值对应保存的免密认证方式和公钥以及索引值。
本实施例提供一种通过生物特征实现智能密钥设备认证的方法,用户只需在启用免密认证的方法中输入一次个人识别码,在其后使用智能密钥设备进行网银登录或者交易等需要验证个人识别码的操作时,即可通过录入生物特征代替输入个人识别码,简化了用户输入个人识别码这个繁琐的过程,很好的提升了用户体验;且本实施例中还将私钥写入了可信执行环境,使得私钥不可导出,更加安全可靠。
实施例3
本实施例提供了一种基于可信执行环境的免密认证系统,参见图5,包括终端和智能密钥设备;
终端包括第一免密认证模块;智能密钥设备包括第二免密认证模块;
第一免密认证模块包括:
第一接收单元11,用于接收用户输入的生物特征;还用于接收智能密钥设备发送的待签名数据;
第一生物特征验证单元12,用于通过本地认证功能验证第一接收单元11接收到的生物特征是否合法;
第一发送单元13,用于当第一生物特征验证单元12验证生物特征合法之后向智能密钥设备发送获取待签名数据请求;还用于向智能密钥设备发送签名单元14生成的签名值;
签名单元14,用于当第一接收单元11接收到待签名数据时,在可信执行环境中查找私钥,使用查找到的私钥对待签名数据进行签名得到签名值;
第二免密认证模块包括:
第二接收单元21,用于接收终端发送的获取待签名数据请求;还用于接收终端发送的签名值;
待签名数据生成单元22,用于当第二接收单元21接收到获取待签名数据请求时生成待签名数据;
更为详细的,待签名数据生成单元22,具体用于生成随机数,将随机数作为待签名数据。
第二发送单元23,用于将待签名数据生成单元22生成待签名数据发送给终端;还用于当验签单元判定验签通过时,向终端发送验签通过响应;还用于当验签单元24判定验签未通过时,向终端发送验签失败响应;
验签单元24,用于当第二接收单元21接收到的签名值时,使用公钥对签名值进行验签,判断是否验签通过。
优选的,第一免密认证模块还包括:第一判断单元,用于判断是否已启用免密认证;
第一接收单元11,具体用于当第一判断单元判定已启用免密认证时,接收用户输入的生物特征。
优选的,第一免密认证模块还包括:第一提示单元,用于当第一判断单元判定没有启用免密认证时,提示用户输入个人识别码;
第一接收单元11,还用于接收用户输入的个人识别码;
第一发送单元13,还用于将第一接收单元11接收到的个人识别码发送给智能密钥设备;
第二接收单元21,还用于接收终端发送的个人识别码;
第二免密认证模块还包括:第二判断单元,用于判断第二接收单元21接收到的个人识别码是否合法;
第二发送单元23,还用于当第二判断单元判定个人识别码合法时,向终端发送验证成功响应;还用于当第二判断单元判定个人识别码不合法时,向终端发送验证失败响应。
优选的,第一免密认证模块还包括:第三判断单元,用于判断是否支持本地认证功能;
第一接收单元11,具体用于当第三判断单元判定支持本地认证功能时接收用户输入的生物特征;
第一免密认证模块还包括:第二提示单元,用于当第三判断单元判定不支持本地认证功能时,提示用户不支持免密认证。
优选的,第一免密认证模块还包括第一删除单元,用于当与智能密钥设备断开连接之后,终端从可信执行环境中删除密钥对;第二免密认证模块还包括:第二删除单元,用于当与终端断开连接之后,删除自身保存的公钥。
更进一步的,终端还包括:第一启用免密认证模块;
第一启用免密认证模块包括:第三接收单元、第二生物特征生成单元、第三发送单元、密钥对生成单元;
智能密钥设备还包括:第二启用免密认证模块;
第二启用免密认证模块包括:第四判断单元、第四发送单元、第四接收单元、保存单元;
第三接收单元,用于接收用户输入的个人识别码;还用于当接收到智能密钥设备发送的个人识别码验证成功响应时,接收用户输入的生物特征;
第二生物特征验证单元,用于通过本地认证功能验证第三接收单元接收到的生物特是否合法;
密钥对生成单元,用于当第二生物特征验证单元验证生物特征合法时,在可信执行环境中生成密钥对,并将密钥对中的公钥导出可信执行环境;
第三发送单元,还用于将第三接收单元接收到的个人识别码发送给智能密钥设备;还用于将密钥对生成单元导出的公钥发送给智能密钥设备;
第四接收单元,用于接收终端发送的个人识别码,还用于接收终端发送的公钥;
第四判断单元,用于判断第四接收单元接收到的个人识别码是否合法;
第四发送单元,还用于当第四判断单元判定个人识别码合法时,向终端发送个人识别码验证成功响应;当第四判断单元判定个人识别码不合法时,向终端发送个人识别码验证失败响应;
第一保存单元,用于保存第四接收单元接收到的公钥。
更为详细的,第一保存单元,具体用于将第四接收单元接收到的公钥保存到随机存取存储器;
相应的,第一免密认证模块还包括:第三删除单元,用于从可信执行环境中删除密钥对。
优选的,第一启用免密认证模块还包括:
第一获取单元,用于从智能密钥设备中获取设备序列号;
索引值生成单元,用于当第二生物特征验证单元验证生物特征合法之后,生成索引值;
第二保存单元,用于将获取单元获取到的设备序列号和索引值生成单元生成的索引值对应保存;
密钥对生成单元,具体用于在可信执行环境中生成密钥对,设置获取单元获取到的设备序列号为密钥对的查找标识,并将密钥对中的公钥导出可信执行环境;
第三发送单元,具体用于将密钥对生成单元导出的公钥和密钥对生成单元生成的索引值发送给智能密钥设备;
第四接收单元,具体用于接收终端发送的公钥和索引值;
第一保存单元,具体用于将第四接收单元接收到的公钥和索引值对应保存;
第一免密认证模块,还包括:
第二获取单元,用于从智能密钥设备中获取设备序列号;
签名单元14,具体用于当第一接收单元11接收到待签名数据时,根据第二获取单元获取到的设备序列号在可信执行环境中查找私钥,使用查找到的私钥对待签名数据进行签名得到签名值;
第三获取单元,用于根据第二获取单元获取到的设备序列号获取与其对应的索引值;
第一发送单元13,还用于将第三获取单元获取到的索引值和签名单元14签名得到的签名值发送给智能密钥设备;
第二接收单元21,具体用于接收终端发送的索引值和签名值;
验签单元24,具体用于当第二接收单元21接收到的签名值时,根据第二接收单元21接收到的索引值获取公钥,使用获取到的公钥对签名值进行验签,判断是否验签通过。
优选的,第三接收单元,还用于接收用户选择的免密认证方式;
第一启用免密认证模块还包括:第三保存单元,用于将第一获取单元获取到的设备序列号与第三接收单元接收到的免密认证方式对应保存;
第三发送单元,具体用于体用于将第三接收单元接收到的免密认证方式、密钥对生成单元导出的公钥和密钥对生成单元生成的索引值发送给智能密钥设备;
第四接收单元,具体用于接收终端发送的免密认证方式、公钥和索引值;
第一保存单元,具体用于将第四接收单元接收到的免密认证方式、公钥和索引值对应保存;
第一免密认证模块,还包括:第四删除单元,用于与智能密钥设备断开连接之后,根据设备序列号获取与其对应保存的免密认证方式,当免密认证方式为允许本次连接启用时,根据设备序列号在可信执行环境中查找密钥对,并删除查找到的密钥对;
第二免密认证模块,还包括:第五删除单元,用于与终端断开连接之后,根据索引值对应保存的免密认证方式,当免密认证方式为允许本次连接启用时,删除与索引值对应保存的免密认证方式和公钥以及索引值。
优选的,第一启用免密认证模块还包括:第五判断单元,用于判断是否已启用免密认证;
第三接收单元,具体用于当第五判断单元判定没有启用免密认证之后,接收用户输入的个人识别码;
第三提示单元,用于当第五判断单元判定启用免密认证之后,提示用户已开启免密认证。
优选的,第一免密认证模块还包括:第六判断单元,用于判断是否已启用免密认证;
第一接收单元11,具体用于当第六判断单元判定已启用免密认证之后,接收用户输入的生物特征;
第四提示单元,用于当第六判断单元判定没有开启免密认证之后,提示用户开启免密认证;
第六判断单元,用于当第四提示单元提示用户开启免密认证之后,判断是否在预设时间内接收到启用免密认证的触发信息;
触发单元,用于当第六判断单元判定在预设时间内接收到启用免密认证的触发信息之后,触发第一启用免密认证模块。
优选的,第一接收单元11,还用于当第六判断单元判定在预设时间内没有接收到启用免密认证的触发信息之后,接收用户输入的个人识别码;
第一发送单元13,还用于将第一接收单元11接收到的个人识别码发送给智能密钥设备;
第二接收单元21,还用于接收终端发送的个人识别码;
第二免密认证模块还包括:第七判断单元,用于判断第二接收单元21接收到的个人识别码是否合法;
第二发送单元23,还用于当第七判断单元判定个人识别码合法时向终端发送验证成功响应;还用于当第七判断单元判定个人识别码不合法时向终端发送验证失败响应。
优选的,第一启用免密认证模块还包括第八判断单元,用于判断是否支持本地认证功能;
第三接收单元,具体用于当第八判断单元判定支持本次认证功能时,接收用户输入的个人识别码;
第五提示单元,用于当第八判断单元判定不支持本次认证功能时,提示用户不支持免密认证。
需要说明的是,第三接收单元,具体用于当接收到启用免密认证信号时,接收用户输入的个人识别码;第一接收单元11,具体用于当接收到验证个人识别码的信号时,接收用户输入生物特征。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (30)

1.一种基于可信执行环境的免密认证方法,其特征在于,包括:
步骤S1、终端接收用户输入的生物特征,并通过本地认证功能验证所述生物特征是否合法,是则向智能密钥设备发送获取待签名数据请求,执行步骤S2;否则免密认证失败,结束;
步骤S2、所述智能密钥设备生成待签名数据,并将所述待签名数据发送给所述终端;
步骤S3、所述终端在可信执行环境中查找私钥,使用查找到的私钥对所述待签名数据进行签名得到签名值,并将所述签名值发送给所述智能密钥设备;
步骤S4、所述智能密钥设备使用公钥对签名值进行验签,判断是否验签通过,是则向所述终端发送验签通过响应,结束;否则向所述终端发送验签失败响应,结束。
2.如权利要求1所述的方法,其特征在于,所述步骤S1之前还包括:所述终端判断是否已启用免密认证,是则执行所述步骤S1,否则结束。
3.如权利要求2所述的方法,其特征在于,当所述终端判定没有启用免密认证之后还包括:
步骤A1、所述终端提示用户输入个人识别码,当接收到用户输入的个人识别码后,将所述个人识别码发送给智能密钥设备;
步骤A2、所述智能密钥设备判断接收到的个人识别码是否合法,是则向所述终端发送验证成功响应,结束,否则向所述终端发送验证失败响应,结束。
4.如权利要求1所述的方法,其特征在于,所述步骤S1之前还包括:所述终端判断是否支持本地认证功能,是则执行步骤S1,否则提示用户不支持免密认证,结束。
5.如权利要求1所述的方法,其特征在于,所述步骤S2具体为:所述智能密钥设备生成随机数,将所述随机数作为待签名数据,并将所述待签名数据发送给终端。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:当所述终端与智能密钥设备断开连接之后,所述终端从可信执行环境中删除密钥对;所述智能密钥设备删除自身保存的公钥。
7.如权利要求1所述的方法,其特征在于,还包括:启用免密认证方法;
所述启用免密认证方法包括:
步骤R1、所述终端接收用户输入个人识别码,并将所述个人识别码发送给所述智能密钥设备;
步骤R2、所述智能密钥设备判断接收到的个人识别码是否合法,是则向所述终端发送个人识别码验证成功响应,执行步骤R3;否则向所述终端发送个人识别码验证失败响应,结束;
步骤R3、所述终端接收用户输入的生物特征,通过本地认证功能验证所述生物特征是否合法,是则在可信执行环境中生成密钥对,并将密钥对中的公钥导出可信执行环境,将导出的公钥发送给智能密钥设备,执行步骤R4;否则启用免密认证失败,结束;
步骤R4、所述智能密钥设备保存所述公钥。
8.如权利要求7所述的方法,其特征在于,所述步骤R4具体为:所述智能密钥设备将所述公钥保存到随机存取存储器;
所述方法还包括:当所述终端与智能密钥设备断开连接之后,所述终端从可信执行环境中删除密钥对。
9.如权利要求7所述的方法,其特征在于,
所述步骤R3之前还包括:所述终端从所述智能密钥设备中获取设备序列号;
所述步骤R3中,当所述终端验证所述生物特征合法之后,具体包括:生成索引值,将所述设备序列号和所述索引值对应保存,在可信执行环境中生成密钥对,设置所述设备序列号为所述密钥对的查找标识,并将所述密钥对中的公钥导出可信执行环境,将导出的公钥和所述索引值发送给智能密钥设备;
所述步骤R4具体为:所述智能密钥设备将所述公钥和所述索引值对应保存;
所述步骤S3之前还包括:所述终端从所述智能密钥设备中获取设备序列号;
所述步骤S3具体为:所述终端根据所述设备序列号在可信执行环境中查找密钥对,使用所述密钥对中的私钥对所述待签名数据进行签名得到签名值,并根据设备序列号获取与其对应的索引值,将所述签名值和所述索引值发送给智能密钥设备;
所述步骤S4中,所述智能密钥设备使用所述公钥对签名值进行验签具体为:所述智能密钥设备根据所述索引值获取公钥,使用获取到的所述公钥对签名值进行验签。
10.如权利要求9所述的方法,其特征在于,所述步骤R3中还包括:所述终端接收用户选择的免密认证方式,将所述设备序列号与用户选择的免密认证方式对应保存;
所述将密钥对中的公钥导出可信执行环境之后,具体包括:将所述免密认证方式、导出的公钥和索引值发送给智能密钥设备;
所述步骤R4具体为:所述智能密钥设备将所述公钥、所述索引值以及所述免密认证方式对应保存;
所述步骤S4之后还包括:所述终端与所述智能密钥设备断开连接;所述终端根据所述设备序列号获取与其对应保存的免密认证方式,当所述免密认证方式为允许本次连接启用时,根据所述设备序列号在可信执行环境中查找密钥对,并删除查找到的密钥对;所述智能密钥设备获取与所述索引值对应保存的免密认证方式,当所述免密认证方式为允许本次连接启用时,删除与索引值对应保存的免密认证方式和公钥以及所述索引值。
11.如权利要求7所述的方法,其特征在于,所述启用免密认证方法中,所述步骤R1之前还包括:所述终端判断是否已启用免密认证,是则提示用户已开启免密认证,结束;否则执行步骤R1。
12.如权利要求7所述的方法,其特征在于,所述步骤S1之前还包括:
步骤A1、所述终端判断是否已启用免密认证,是则执行所述步骤S1,否则执行步骤A2;
步骤A2、所述终端提示用户开启免密认证,判断是否在预设时间内接收到启用免密认证的触发信息,是则执行所述启用免密认证方法,结束,否则结束。
13.如权利要求12所述的方法,其特征在于,当所述终端判定没有在预设时间内接收到启用免密认证的触发信息之后还包括:
步骤B1、所述终端提接收到用户输入的个人识别码,将所述个人识别码发送给智能密钥设备;
步骤B2、所述智能密钥设备判断接收到的所述个人识别码是否合法,是则向所述终端发送验证成功响应,结束,否则向所述终端发送验证失败响应,结束。
14.如权利要求7所述的方法,其特征在于,所述步骤R1之前还包括:所述终端判断是否支持本地认证功能,是则执行步骤R1,否则提示用户不支持免密认证,结束。
15.如权利要求7所述的方法,其特征在于,当所述终端接收到启用免密认证信号时,执行所述步骤S1;当所述终端接收到验证个人识别码的信号时,执行所述步骤R1。
16.一种基于可信执行环境的免密认证系统,其特征在于,包括终端和智能密钥设备;
所述终端包括第一免密认证模块;所述智能密钥设备包括第二免密认证模块;
所述第一免密认证模块包括:
第一接收单元,用于接收用户输入的生物特征;还用于接收所述智能密钥设备发送的待签名数据;
第一生物特征验证单元,用于通过本地认证功能验证所述第一接收单元接收到的所述生物特征是否合法;
第一发送单元,用于当所述第一生物特征验证单元验证所述生物特征合法之后向智能密钥设备发送获取待签名数据请求;还用于向智能密钥设备发送签名单元生成的所述签名值;
签名单元,用于当所述第一接收单元接收到待签名数据时,在可信执行环境中查找私钥,使用查找到的私钥对所述待签名数据进行签名得到签名值;
所述第二免密认证模块包括:
第二接收单元,用于接收所述终端发送的获取待签名数据请求;还用于接收所述终端发送的签名值;
待签名数据生成单元,用于当所述第二接收单元接收到所述获取待签名数据请求时生成待签名数据;
第二发送单元,用于将所述待签名数据生成单元生成所述待签名数据发送给所述终端;还用于当所述验签单元判定验签通过时,向终端发送验签通过响应;还用于当所述验签单元判定验签未通过时,向终端发送验签失败响应;
验签单元,用于当所述第二接收单元接收到的签名值时,使用所述公钥对签名值进行验签,判断是否验签通过。
17.如权利要求16所述的系统,其特征在于,所述第一免密认证模块还包括:第一判断单元,用于判断是否已启用免密认证;
所述第一接收单元,具体用于当所述第一判断单元判定已启用免密认证时,接收用户输入的生物特征。
18.如权利要求17所述的系统,其特征在于,所述第一免密认证模块还包括:第一提示单元,用于当所述第一判断单元判定没有启用免密认证时,提示用户输入个人识别码;
所述第一接收单元,还用于接收用户输入的个人识别码;
所述第一发送单元,还用于将所述第一接收单元接收到的所述个人识别码发送给智能密钥设备;
所述第二接收单元,还用于接收所述终端发送的个人识别码;
所述第二免密认证模块还包括:第二判断单元,用于判断所述第二接收单元接收到的所述个人识别码是否合法;
所述第二发送单元,还用于当所述第二判断单元判定所述个人识别码合法时,向所述终端发送验证成功响应;还用于当所述第二判断单元判定所述个人识别码不合法时,向所述终端发送验证失败响应。
19.如权利要求16所述的系统,其特征在于,所述第一免密认证模块还包括:第三判断单元,用于判断是否支持本地认证功能;
所述第一接收单元,具体用于当所述第三判断单元判定支持本地认证功能时接收用户输入的生物特征;
所述第一免密认证模块还包括:第二提示单元,用于当所述第三判断单元判定不支持本地认证功能时,提示用户不支持免密认证。
20.如权利要求16所述的系统,其特征在于,所述待签名数据生成单元,具体用于生成随机数,将所述随机数作为待签名数据。
21.如权利要求16所述的系统,其特征在于,所述第一免密认证模块还包括第一删除单元,用于当与智能密钥设备断开连接之后,所述终端从可信执行环境中删除密钥对;所述第二免密认证模块还包括:第二删除单元,用于当与终端断开连接之后,删除自身保存的公钥。
22.如权利要求16所述的系统,其特征在于,
所述终端还包括:第一启用免密认证模块;
所述第一启用免密认证模块包括:第三接收单元、第二生物特征生成单元、第三发送单元、密钥对生成单元;
所述智能密钥设备还包括:第二启用免密认证模块;
所述第二启用免密认证模块包括:第四判断单元、第四发送单元、第四接收单元、保存单元;
所述第三接收单元,用于接收用户输入的个人识别码;还用于当接收到所述智能密钥设备发送的个人识别码验证成功响应时,接收用户输入的生物特征;
所述第二生物特征验证单元,用于通过本地认证功能验证所述第三接收单元接收到的所述生物特是否合法;
所述密钥对生成单元,用于当所述第二生物特征验证单元验证所述生物特征合法时,在可信执行环境中生成密钥对,并将密钥对中的公钥导出可信执行环境;
所述第三发送单元,还用于将所述第三接收单元接收到的个人识别码发送给所述智能密钥设备;还用于将所述密钥对生成单元导出的所述公钥发送给智能密钥设备;
所述第四接收单元,用于接收所述终端发送的个人识别码,还用于接收所述终端发送的公钥;
所述第四判断单元,用于判断所述第四接收单元接收到的所述个人识别码是否合法;
所述第四发送单元,还用于当所述第四判断单元判定所述个人识别码合法时,向终端发送个人识别码验证成功响应;当所述第四判断单元判定所述个人识别码不合法时,向终端发送个人识别码验证失败响应;
所述第一保存单元,用于保存所述第四接收单元接收到的所述公钥。
23.如权利要求22所述的系统,其特征在于,所述第一保存单元,具体用于将所述第四接收单元接收到的所述公钥保存到随机存取存储器;
所述第一免密认证模块还包括:第三删除单元,用于从可信执行环境中删除密钥对。
24.如权利要求22所述的系统,其特征在于,所述第一启用免密认证模块还包括:
第一获取单元,用于从所述智能密钥设备中获取设备序列号;
索引值生成单元,用于当所述第二生物特征验证单元验证所述生物特征合法之后,生成索引值;
第二保存单元,用于将所述获取单元获取到的所述设备序列号和所述索引值生成单元生成的所述索引值对应保存;
所述密钥对生成单元,具体用于在可信执行环境中生成密钥对,设置所述获取单元获取到的所述设备序列号为所述密钥对的查找标识,并将所述密钥对中的公钥导出可信执行环境;
所述第三发送单元,具体用于将所述密钥对生成单元导出的所述公钥和所述密钥对生成单元生成的所述索引值发送给所述智能密钥设备;
所述第四接收单元,具体用于接收所述终端发送的公钥和索引值;
所述第一保存单元,具体用于将所述第四接收单元接收到的所述公钥和索引值对应保存;
所述第一免密认证模块,还包括:
第二获取单元,用于从所述智能密钥设备中获取设备序列号;
所述签名单元,具体用于当所述第一接收单元接收到待签名数据时,根据所述第二获取单元获取到的所述设备序列号在可信执行环境中查找私钥,使用查找到的私钥对所述待签名数据进行签名得到签名值;
第三获取单元,用于根据所述第二获取单元获取到的所述设备序列号获取与其对应的索引值;
所述第一发送单元,还用于将所述第三获取单元获取到的所述索引值和所述签名单元签名得到的所述签名值发送给所述智能密钥设备;
所述第二接收单元,具体用于接收所述终端发送的所述索引值和所述签名值;
所述验签单元,具体用于当所述第二接收单元接收到的签名值时,根据所述第二接收单元接收到的所述索引值获取公钥,使用获取到的所述公钥对签名值进行验签,判断是否验签通过。
25.如权利要求24所述的系统,其特征在于,所述第三接收单元,还用于接收用户选择的免密认证方式;
所述第一启用免密认证模块还包括:第三保存单元,用于将所述第一获取单元获取到的所述设备序列号与所述第三接收单元接收到的所述免密认证方式对应保存;
所述第三发送单元,具体用于体用于将所述第三接收单元接收到的所述免密认证方式、所述密钥对生成单元导出的所述公钥和所述密钥对生成单元生成的所述索引值发送给所述智能密钥设备;
所述第四接收单元,具体用于接收所述终端发送的所述免密认证方式、所述公钥和所述索引值;
所述第一保存单元,具体用于将所述第四接收单元接收到的所述免密认证方式、所述公钥和索引值对应保存;
所述第一免密认证模块,还包括:第四删除单元,用于与智能密钥设备断开连接之后,根据所述设备序列号获取与其对应保存的免密认证方式,当所述免密认证方式为允许本次连接启用时,根据所述设备序列号在可信执行环境中查找密钥对,并删除查找到的密钥对;
所述第二免密认证模块,还包括:第五删除单元,用于与终端断开连接之后,根据所述索引值对应保存的免密认证方式,当所述免密认证方式为允许本次连接启用时,删除与索引值对应保存的免密认证方式和公钥以及所述索引值。
26.如权利要求22所述的系统,其特征在于,所述第一启用免密认证模块还包括:第五判断单元,用于判断是否已启用免密认证;
所述第三接收单元,具体用于当所述第五判断单元判定没有启用免密认证之后,接收用户输入的个人识别码;
第三提示单元,用于当所述第五判断单元判定启用免密认证之后,提示用户已开启免密认证。
27.如权利要求22所述的系统,其特征在于,所述第一免密认证模块还包括:第六判断单元,用于判断是否已启用免密认证;
所述第一接收单元,具体用于当所述第六判断单元判定已启用免密认证之后,接收用户输入的生物特征;
第四提示单元,用于当所述第六判断单元判定没有开启免密认证之后,提示用户开启免密认证;
第六判断单元,用于当所述第四提示单元提示用户开启免密认证之后,判断是否在预设时间内接收到启用免密认证的触发信息;
触发单元,用于当所述第六判断单元判定在预设时间内接收到启用免密认证的触发信息之后,触发第一启用免密认证模块。
28.如权利要求27所述的系统,其特征在于,所述第一接收单元,还用于当所述第六判断单元判定在预设时间内没有接收到启用免密认证的触发信息之后,接收用户输入的个人识别码;
所述第一发送单元,还用于将所述第一接收单元接收到的个人识别码发送给智能密钥设备;
所述第二接收单元,还用于接收终端发送的个人识别码;
所述第二免密认证模块还包括:第七判断单元,用于判断所述第二接收单元接收到的所述个人识别码是否合法;
所述第二发送单元,还用于当所述第七判断单元判定所述个人识别码合法时向所述终端发送验证成功响应;还用于当所述第七判断单元判定所述个人识别码不合法时向所述终端发送验证失败响应。
29.如权利要求22所述的系统,其特征在于,所述第一启用免密认证模块还包括第八判断单元,用于判断是否支持本地认证功能;
所述第三接收单元,具体用于当所述第八判断单元判定支持本次认证功能时,接收用户输入的个人识别码;
第五提示单元,用于当所述第八判断单元判定不支持本次认证功能时,提示用户不支持免密认证。
30.如权利要求22所述的系统,其特征在于,所述第三接收单元,具体用于当接收到启用免密认证信号时,接收用户输入的个人识别码;所述第一接收单元,具体用于当接收到验证个人识别码的信号时,接收用户输入生物特征。
CN201810600579.3A 2018-06-12 2018-06-12 一种基于可信执行环境的免密认证方法及系统 Active CN108809982B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810600579.3A CN108809982B (zh) 2018-06-12 2018-06-12 一种基于可信执行环境的免密认证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810600579.3A CN108809982B (zh) 2018-06-12 2018-06-12 一种基于可信执行环境的免密认证方法及系统

Publications (2)

Publication Number Publication Date
CN108809982A true CN108809982A (zh) 2018-11-13
CN108809982B CN108809982B (zh) 2020-10-27

Family

ID=64085529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810600579.3A Active CN108809982B (zh) 2018-06-12 2018-06-12 一种基于可信执行环境的免密认证方法及系统

Country Status (1)

Country Link
CN (1) CN108809982B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109547451A (zh) * 2018-11-30 2019-03-29 四川长虹电器股份有限公司 基于tee的可信认证服务认证的方法
CN110009348A (zh) * 2019-03-25 2019-07-12 杭州秘猿科技有限公司 一种区块链的代理签名方法、系统及电子设备
CN110740043A (zh) * 2019-10-21 2020-01-31 飞天诚信科技股份有限公司 一种智能密钥设备及其验证方法
CN112242999A (zh) * 2020-09-30 2021-01-19 陈梅玉 应用于云上办公网络的业务设备处理方法及云端办公平台

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237353A (zh) * 2007-09-07 2008-08-06 北京飞天诚信科技有限公司 一种利用usbkey监控移动存储设备的方法和系统
CN101848090A (zh) * 2010-05-11 2010-09-29 武汉珞珈新世纪信息有限公司 认证装置及利用其进行网上身份认证与交易的系统与方法
CN102413146A (zh) * 2011-12-23 2012-04-11 杭州数盾信息技术有限公司 基于动态码的客户端授权登录方法
CN103516524A (zh) * 2013-10-21 2014-01-15 北京旋极信息技术股份有限公司 安全验证方法和系统
CN105515777A (zh) * 2015-12-18 2016-04-20 恒宝股份有限公司 一种usbkey设备的双重认证系统和方法
CN105790951A (zh) * 2016-02-26 2016-07-20 浙江维尔科技股份有限公司 一种身份认证的装置以及智能终端
CN106778342A (zh) * 2016-12-09 2017-05-31 北京洋浦伟业科技发展有限公司 可信执行环境安全认证方法和装置及设备
US9940614B2 (en) * 2013-04-11 2018-04-10 Mx Technologies, Inc. Syncing two separate authentication channels to the same account or data using a token or the like
US10567385B2 (en) * 2010-02-25 2020-02-18 Secureauth Corporation System and method for provisioning a security token

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237353A (zh) * 2007-09-07 2008-08-06 北京飞天诚信科技有限公司 一种利用usbkey监控移动存储设备的方法和系统
US10567385B2 (en) * 2010-02-25 2020-02-18 Secureauth Corporation System and method for provisioning a security token
CN101848090A (zh) * 2010-05-11 2010-09-29 武汉珞珈新世纪信息有限公司 认证装置及利用其进行网上身份认证与交易的系统与方法
CN102413146A (zh) * 2011-12-23 2012-04-11 杭州数盾信息技术有限公司 基于动态码的客户端授权登录方法
US9940614B2 (en) * 2013-04-11 2018-04-10 Mx Technologies, Inc. Syncing two separate authentication channels to the same account or data using a token or the like
CN103516524A (zh) * 2013-10-21 2014-01-15 北京旋极信息技术股份有限公司 安全验证方法和系统
CN105515777A (zh) * 2015-12-18 2016-04-20 恒宝股份有限公司 一种usbkey设备的双重认证系统和方法
CN105790951A (zh) * 2016-02-26 2016-07-20 浙江维尔科技股份有限公司 一种身份认证的装置以及智能终端
CN106778342A (zh) * 2016-12-09 2017-05-31 北京洋浦伟业科技发展有限公司 可信执行环境安全认证方法和装置及设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109547451A (zh) * 2018-11-30 2019-03-29 四川长虹电器股份有限公司 基于tee的可信认证服务认证的方法
CN110009348A (zh) * 2019-03-25 2019-07-12 杭州秘猿科技有限公司 一种区块链的代理签名方法、系统及电子设备
CN110740043A (zh) * 2019-10-21 2020-01-31 飞天诚信科技股份有限公司 一种智能密钥设备及其验证方法
CN112242999A (zh) * 2020-09-30 2021-01-19 陈梅玉 应用于云上办公网络的业务设备处理方法及云端办公平台
CN112242999B (zh) * 2020-09-30 2021-07-27 中鉴认证有限责任公司 应用于云上办公网络的业务设备处理方法及云端办公平台

Also Published As

Publication number Publication date
CN108809982B (zh) 2020-10-27

Similar Documents

Publication Publication Date Title
CN108809982A (zh) 一种基于可信执行环境的免密认证方法及系统
CN104331644B (zh) 一种智能终端文件的透明加解密方法
CN103795545B (zh) 一种安全通信的方法和系统
CN107196922B (zh) 身份认证方法、用户设备和服务器
CN106487511A (zh) 身份认证方法及装置
CN106230813B (zh) 鉴权方法、鉴权装置和终端
CN105898743B (zh) 一种网络连接方法、装置及系统
CN106850201A (zh) 智能终端多因子认证方法、智能终端、认证服务器及系统
CN110336788A (zh) 一种物联网设备与移动终端的数据安全交互方法
TW201729562A (zh) 伺服器、行動終端機、網路實名認證系統及方法
CN104065648B (zh) 一种语音通话的数据处理方法
CN108156601A (zh) 一种锁定sim卡的方法及装置
WO2013182103A2 (zh) 加密、解密终端及应用于终端的加密和解密方法
CN104853030B (zh) 一种信息处理的方法及移动终端
KR101792220B1 (ko) 생체 인증 결합 사용자 간편 인증 방법, 이를 위한 인증 어플리케이션이 탑재된 사용자 모바일 단말기, 인증 서비스 장치 및 컴퓨터 프로그램
CN108600176A (zh) 一种智能终端安全认证方法、设备、服务器及系统
CN106529232A (zh) 开机启动方法及装置
EP2985712B1 (en) Application encryption processing method, apparatus, and terminal
CN109841273A (zh) 一种医疗诊断软件的一站式整合方法及装置
CN109474431A (zh) 客户端认证方法及计算机可读存储介质
CN106161481B (zh) 一种移动终端物理按键隔离安全模块防范安全风险的装置
CN105120066A (zh) 一种终端产品模式与开发模式安全切换的方法及系统
CN106557708A (zh) 一种安全保护方法和系统
CN106778334A (zh) 账号信息的保护方法及移动终端
CN113055157A (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