CN114626054A - 加解密方法、装置、电子设备和可读存储介质 - Google Patents
加解密方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN114626054A CN114626054A CN202011425872.4A CN202011425872A CN114626054A CN 114626054 A CN114626054 A CN 114626054A CN 202011425872 A CN202011425872 A CN 202011425872A CN 114626054 A CN114626054 A CN 114626054A
- Authority
- CN
- China
- Prior art keywords
- password
- user
- biological
- ciphertext
- terminal device
- 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
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/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- 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/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- 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
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)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种加解密方法、装置、电子设备和可读存储介质,该方法包括:响应于用户输入的生物密码的设置请求,生成第一秘钥;输出第一提示信息,以提示用户录入生物密码;采集用户录入的第一生物密码;响应于用户输入的明文的加密请求,采用第一秘钥加密明文得到第一密文;响应于用户输入的明文的解密请求,输出第二提示信息,以提示用户输入生物密码;采集用户输入的第二生物密码;采用第一生物密码,验证第二生物密码;当第二生物密码通过验证时,根据第一秘钥解密第一密文得到明文。本申请实施例中,用户在设置明文的密码时,可以直接设置生物密码,无需预先输入第一类型的密码,简化了用户设置生物密码的步骤,能够提高用户体验。
Description
技术领域
本申请实施例涉及信息安全技术,尤其涉及一种加解密方法、装置、电子设备和可读存储介质。
背景技术
应用程序中的内容涉及用户的隐私,用户可以采用数字密码、图案密码或混合密码等第一类型的密码加密应用程序中的内容。但用户容易遗忘第一类型的密码,因此用户倾向于采用第二类型的密码,如生物密码加密应用程序中的内容。
目前,用户必须先设置第一类型的密码,才能设置生物密码,导致用户设置生物密码加密的步骤复杂,用户体验低。
发明内容
本申请实施例提供一种加解密方法、装置、电子设备和可读存储介质,简化了用户设置生物密码的步骤,能够提高用户体验。
第一方面,本申请实施例提供一种加解密方法,该加解密方法的执行主体可以为终端设备或终端设备中的处理器或芯片,下述以终端设备为例进行说明。在该加解密方法中,当终端设备接收到用户输入的生物密码的设置请求时,终端设备可以响应于用户输入的生物密码的设置请求,生成第一秘钥。终端设备输出第一提示信息,所述第一提示信息用于提示用户录入生物密码,进而终端设备可以采集所述用户录入的第一生物密码,用户录入生物密码成功。相较于目前的技术方案,用户在设置生物密码前均需要设置第一类型的密码的技术方案,本申请实施例中用户可以直接设置生物密码,且在设置生物密码时生成第一秘钥,在保证安全的前提下,可以简化用户设置生物密码的步骤,能够提高用户体验。第一类型的密码可以为数字密码、图案密码或混合密码。
在一种可能的实现方式中,终端设备可以基于第一随机数、应用程序的签名信息、系统特征信息中的至少一种信息生成所述第一秘钥。其中,因为第一随机数,如盐值,可以为随机生成的一组字符串,包括随机的大小写字母、数字、字符等,因此终端设备生成第一秘钥时增加第一随机数可以提高第一秘钥的破解难度,提高第一秘钥的安全性。
下述对终端设备采用第一生物密码执行加解密的过程进行说明:
第一种方式:在用户设置生物密码后,用户可以向终端设备输入明文的加密请求。终端设备响应于所述用户输入的明文的加密请求,可以采用所述第一秘钥加密所述明文,得到第一密文。在用户查看该明文时,可以向终端设备输入明文的解密请求,终端设备响应于所述用户输入的明文的解密请求,可以输出第二提示信息,以提示用户提示所述用户输入生物密码。终端设备采集用户输入的第二生物密码,可以采用所述第一生物密码,验证所述第二生物密码。其中,终端设备可以采用第一生物密码和第二生物密码对比验证的方式,验证第二生物密码。示例性的,终端设备可以获取第一生物密码和第二生物密码的相似度,当第一生物密码和第二生物密码的相似度大于或等于预设相似度时,第二生物密码通过验证。当第一生物密码和第二生物密码的相似度小于预设相似度时,第二生物密码未通过验证。应理解,第一生物密码和第二生物密码的相似度可以为:第一生物密码的生物特征和第二生物密码的生物特征的相似度。其中,当所述第二生物密码通过验证时,终端设备可以根据所述第一秘钥解密所述第一密文,得到所述明文。
在一种可能的实现方式中,为了提高第一生物密码的安全性,终端设备可以在终端设备的可信应用环境中存储第一生物密码,进而在该可信应用环境中采用第一生物密码验证第二生物密码,进而可以提高第一生物密码的安全性。
在第一种方式中,终端设备中需要存储第一秘钥,进而在解密时采用第一秘钥解密第一密文,第一秘钥的安全性低。在一种可能的实现方式中,终端设备中可以存储第一秘钥,而是将第一秘钥作为加解密过程的中间量,见如下第二种方式:
第二种方式:在用户设置生物密码后,用户可以向终端设备输入明文的加密请求。终端设备响应于所述用户输入的明文的加密请求,可以生成第一加密对象,进而采用所述第一加密对象加密所述第一秘钥,得到第二密文。终端设备可以采用所述第一秘钥加密所述明文,得到第一密文。终端设备在得到第一密文后,可以删除所述第一秘钥,进而不在终端设备中存储第一秘钥。在用户查看该明文时,可以向终端设备输入明文的解密请求,终端设备响应于所述用户输入的明文的解密请求,可以输出第二提示信息,以提示用户提示所述用户输入生物密码。终端设备采集用户输入的第二生物密码,可以采用所述第一生物密码,验证所述第二生物密码。其中,终端设备验证第二生物密码的方式可以参照上述第一种方式。
其中,当所述第二生物密码通过验证时,终端设备可以生成第一解密对象,采用所述第一解密对象解密所述第二密文,得到所述第一秘钥,采用所述第一秘钥解密所述第一密文,得到所述明文。
第二种方式,相较于第一种方式,终端设备中可以不存储第一秘钥。终端设备可以通过第一加密对象加密第一秘钥,且采用第一解密对象解密密文得到第一秘钥,进而可以提高第一秘钥的安全性。
在一种可能的实现方式中,终端设备中可以不存储第一加密对象和第一解密对象,以防止恶意应用采用第一加密对象和第一解密对象恢复第一秘钥,进而采用第一秘钥解密密文的问题。本申请实施例中,终端设备可以基于所述第一生物密码,生成所述第一加密对象;或者,终端设备基于系统特征信息和/或应用程序的签名信息,生成所述第一加密对象。相对应的,若终端设备可以基于所述第一生物密码,生成所述第一加密对象,则终端设备可以基于所述第一生物密码,生成所述第一解密对象。或者,终端设备基于系统特征信息和/或应用程序的签名信息,生成所述第一加密对象,则终端设备可以基于所述系统特征信息和/或应用程序的签名信息,生成所述第一解密对象。应理解,终端设备采用何种参数生成第一加密对象/第一解密对象,可以预定义设置。
该种方式中,终端设备中可以不存储第一加密对象和第一解密对象,进而可以提高加解密的安全性。
在一种可能的实现方式中,用户设置明文的生物密码后,还可以添加设置密码。用户可以向终端设备输入的添加密码的请求,终端设备响应于用户输入的添加密码的请求,输出所述第二提示信息。其中,第二提示信息用户提示用户输入生物密码,以验证用户输入的生物密码,当用户输入的生物密码通过验证时,用户可以添加设置密码。该种方式可以避免恶意用户随意添加设置明文的密码。
其中,用户输入密码为第三生物密码。终端设备可以采集所述用户输入的第三生物密码,且采用所述第一生物密码,验证所述第三生物密码;当所述第三生物密码通过验证时,生成所述第一解密对象。应理解,终端设备采用所述第一生物密码,验证所述第三生物密码可以参照验证第二生物密码的相关描述。终端设备生成第一解密对象可以参照上述第二种方式的相关描述。终端设备可以采用第一解密对象解密所述第二密文,得到所述第一秘钥,进而输出第三提示信息,以提示用户输入第一密码。该第一密码为新的密码,该第三提示信息可以用于提示用户设置新的密码。
本申请实施例中,因为第一秘钥为加解密过程中的中间量,采用第一加密对象和第一解密对象可以恢复出该第一秘钥,以解密第一密文得到明文。因此,本申请实施例中,可以采用用户添加设置的第一密码解密第一生物密码加密的第一秘钥,进而实现用户可以采用第一密码查看第一密文的目的。也就是说,用户可以采用第一密码和第一生物密码中的任意一个可以查看第一密文,用户无需记忆多个密码,提高用户体验。
下面对终端设备采用第一密码执行加解密的过程进行说明:
终端设备可以采集用户输入的第一密码,进而基于所述用户输入的第一密码的类型,加密所述第一秘钥。
第一种方式:若所述第一密码为所述第二类型的密码,则生成第二加密对象,所述第二类型的密码为生物密码;采用所述第二加密对象加密所述第一秘钥,得到第三密文。应理解,终端设备生成第二加密对象的方式可以与生成第一加密对象的方式相同。其中,终端设备可以基于系统特征信息和/或应用程序的签名信息,或者第一密码,生成第二加密对象。
终端设备可以采用第一生物密码或第一密码解密第二密文,得到第一秘钥。此处说明终端设备采用第一密码解密第二密文的过程。其中,终端设备响应于所述用户输入的所述明文的解密请求,输出第四提示信息,以提示所述用户输入密码。其中,第四提示信息可以提示用户输入生物密码。当终端设备采集到所述用户输入的第二密码时,且第二密码为第二类型的密码,终端设备可以验证所述第二密码,当所述第二密码通过验证时,生成第二解密对象;采用所述第二解密对象解密所述第三密文,得到所述第一秘钥;采用所述第一秘钥解密所述第一密文,得到所述明文。
其中,终端设备可以采用第一密码,验证第二密码。其中,因为第一密码和第二密码均为生物密码,因此终端设备可以采用第一密码和第二密码对比验证的方式,验证第二密码。示例性的,终端设备可以获取第一密码和第二密码的相似度,当第一密码和第二密码的相似度大于或等于预设相似度时,第二密码通过验证。当第一密码和第二密码的相似度小于预设相似度时,第二密码未通过验证。应理解,第一密码和第二密码的相似度可以为:第一密码的生物特征和第二密码的生物特征的相似度。
第二种方式:若所述第一密码为所述第一类型的密码,则终端设备根据所述第二密码和第二随机数,生成第二秘钥,采用该第二秘钥加密所述第一秘钥,得到第四密文。其中,终端设备响应于所述用户输入的所述明文的解密请求,输出第四提示信息,以提示所述用户输入密码。其中,第四提示信息可以提示用户输入生物密码或第一类型的密码。当终端设备采集到所述用户输入的第二密码时,且第二密码为第一类型的密码,终端设备可以根据所述第二密码和所述第四密文包括的所述第二随机数,生成所述第二秘钥;采用所述第二秘钥解密所述第四密文,得到所述第一秘钥;采用所述第一秘钥解密所述第一密文,得到所述明文。
在该第二种方式在中,在一种可能的实现方式中,终端设备响应于所述用户输入的所述明文的解密请求,可以输出第四提示信息。当终端设备采集到所述第二密码为第一类型的密码时,可以采用第一密码验证第二密码,进而在第二密码验证通过时,根据所述第二密码和所述第四密文包括的所述第二随机数,生成所述第二秘钥。其中,因为第一密码和第二密码均为第一类型的密码,终端设备验证第二密码的方式可以为对比验证第一密码和第二密码是否相同。若第一密码和第二密码相同,则第二密码通过验证,若第一密码和第二密码不同,则第二密码未通过验证。
在上述两种方式中,无论用户添加设置的第一密码是第一类型的密码,还是第二类型的密码,用户采用该第一密码均可以查看以第一生物密码加密的密文,用户无需记忆多个密码,能够提高用户体验。
第二方面,本申请实施例提供一种加解密装置,该加解密装置可以为上述第一方面所述的终端设备,或者终端设备中的芯片或处理器。加解密装置可以包括:
加密模块,用于响应于用户输入的生物密码的设置请求,生成第一秘钥;
输出模块,用于输出第一提示信息,所述第一提示信息用于提示用户录入生物密码;
第一生物密码模块,用于采集所述用户录入的第一生物密码;
所述加密模块,还用于响应于所述用户输入的明文的加密请求,采用所述第一秘钥加密所述明文,得到第一密文;
所述输出模块,还用于响应于所述用户输入的所述明文的解密请求,输出第二提示信息,所述第二提示信息用户提示所述用户输入生物密码;
所述第一生物密码模块,还用于采集所述用户输入的第二生物密码;
第二生物密码模块,用于采用所述第一生物密码,验证所述第二生物密码;
解密模块,用于当所述第二生物密码通过验证时,根据所述第一秘钥解密所述第一密文,得到所述明文。
在一种可能的实现方式中,所述第二生物密码模块,用于采用所述第一秘钥加密所述明文之前,生成第一加密对象;采用所述第一加密对象加密所述第一秘钥,得到第二密文;以及
采用所述第一秘钥加密所述明文,得到第一密文之后,删除所述第一秘钥。
在一种可能的实现方式中,所述第二生物密码模块,还用于生成第一解密对象;所述解密模块,具体用于采用所述第一解密对象解密所述第二密文,得到所述第一秘钥;采用所述第一秘钥解密所述第一密文,得到所述明文。
在一种可能的实现方式中,所述第二生物密码模块,具体用于基于所述第一生物密码,生成所述第一加密对象;基于所述第一生物密码,生成所述第一解密对象。或者,
所述第二生物密码模块,具体用于基于系统特征信息和/或应用程序的签名信息,生成所述第一加密对象;基于所述系统特征信息和/或应用程序的签名信息,生成所述第一解密对象。
在一种可能的实现方式中,所述第二生物密码模块,具体用于将所述第二生物密码和所述第一生物密码进行对比验证;当所述第二生物密码和所述第一生物密码的相似度大于或等于预设相似度时,所述第二生物密码通过验证。
在一种可能的实现方式中,该加解密装置可以包括随机数发生器,所述随机数发生器,用于生成第一随机数;所述加密模块,具体用于基于第一随机数、应用程序的签名信息、系统特征信息中的至少一种信息生成所述第一秘钥。
在一种可能的实现方式中,所述输出模块,还用于响应于所述用户输入的添加密码的请求,输出所述第二提示信息;所述第一生物密码模块,还用于采集所述用户输入的第三生物密码;所述第二生物密码模块,还用于采用所述第一生物密码,验证所述第三生物密码;当所述第三生物密码通过验证时,生成所述第一解密对象;所述解密模块,具体用于采用所述第一解密对象解密所述第二密文,得到所述第一秘钥;所述输出模块,还用于输出第三提示信息,所述第三提示信息用于提示用户输入第一密码。
在一种可能的实现方式中,所述第一生物密码模块,还用于采集所述用户输入的第一密码;所述加密模块,还用于基于所述用户输入的第一密码的类型,加密所述第一秘钥。
在一种可能的实现方式中,所述第二生物密码模块,还用于若所述第一密码为所述第二类型的密码,则生成第二加密对象,所述第二类型的密码为生物密码;所述第一生物密码模块,还用于采用所述第二加密对象加密所述第一秘钥,得到第三密文。
在一种可能的实现方式中,所述随机数发生器,还用于生成第二随机数;所述加密模块,还用于若所述第一密码为第一类型的密码,则根据所述第一密码和第二随机数,生成第二秘钥,所述第一类型的密码为数字密码、图案密码或混合密码;采用所述第二秘钥加密所述第一秘钥,得到第四密文。
在一种可能的实现方式中,第一随机数和第二随机数不同。
在一种可能的实现方式中,所述输出模块,还用于响应于所述用户输入的所述明文的解密请求,输出第四提示信息,所述第四提示信息用于提示所述用户输入密码;所述解密模块,还用于当采集到所述用户输入的第二密码时,根据所述第二密码,解密所述第一密文,得到所述明文。
在一种可能的实现方式中,所述第二生物密码模块,还用于当所述第二密码为所述第二类型的密码时,验证所述第二密码;当所述第二密码通过验证时,生成第二解密对象。所述解密模块,还用于采用所述第二解密对象解密所述第三密文,得到所述第一秘钥;采用所述第一秘钥解密所述第一密文,得到所述明文。
在一种可能的实现方式中,所述解密模块,还用于当所述第二密码为所述第一类型的密码时,根据所述第二密码和所述第四密文包括的所述第二随机数,生成所述第二秘钥;采用所述第二秘钥解密所述第四密文,得到所述第一秘钥;采用所述第一秘钥解密所述第一密文,得到所述明文。
第三方面,本申请实施例提供一种电子设备,该电子设备可以为如上第一方面所述的终端设备。所述电子设备包括:处理器、存储器、显示器;所述显示器和所述存储器均耦合至所述处理器;
其中,显示器,用于输出提示信息,所述提示信息可以包括第一提示信息、第二提示信息、第三提示信息和第四提示信息;
存储器用于存储计算机可执行程序代码,程序代码包括指令;当处理器执行指令时,指令使所述电子设备执行如第一方面或第一方面的各可能的实现方式的方法。
第四方面,本申请实施例提供一种加解密装置,包括用于执行以上第一方面或第一方面各可能的实施方式所提供的方法的单元、模块或电路。该加解密装置可以为终端设备,也可以为应用于终端设备的一个模块,例如,可以为应用于终端设备的芯片。
第五方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的各种可能的实现方式中的方法。
第六方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的各种可能的实现方式中的方法。
上述第二方面至第六方面的各可能的实现方式,其有益效果可以参见上述第一方面和第一方面的各可能的实现方式所带来的有益效果,在此不加赘述。
本申请实施例提供一种加解密方法、装置、电子设备和可读存储介质,该方法包括:响应于用户输入的生物密码的设置请求,生成第一秘钥;输出第一提示信息,以提示用户录入生物密码;采集用户录入的第一生物密码;响应于用户输入的明文的加密请求,采用第一秘钥加密明文得到第一密文;响应于用户输入的明文的解密请求,输出第二提示信息,以提示用户输入生物密码;采集用户输入的第二生物密码;采用第一生物密码,验证第二生物密码;当第二生物密码通过验证时,根据第一秘钥解密第一密文得到明文。本申请实施例中,用户在设置生物密码时可以生成第一秘钥,避免了目前设置生物密码前需要设置第一类型的密码的问题,因为第一秘钥可以作为加密的凭证信息,因此本申请实施例可以在保证安全的前提下,可以简化用户设置生物密码的步骤,提高用户体验。
附图说明
图1为本申请实施例中的终端设备的一种结构示意图;
图2为本申请实施例提供的加解密方法的一实施例的流程示意图;
图3为本申请实施例提供的终端设备的一种界面变化示意图;
图4为本申请实施例提供的终端设备的另一种界面变化示意图;
图5为本申请实施例提供的终端设备的另一种界面变化示意图;
图6为本申请实施例提供的加解密方法的另一实施例的流程示意图;
图7为首次设置生物密码时终端设备加解密的流程简图;
图8为终端设备采用第一生物密码加解密的流程简图;
图9为本申请实施例提供的加解密方法的另一实施例的流程示意图;
图10为设置第一密码和采用第一密码加解密的一种流程简图;
图11为本申请实施例提供的终端设备的另一种界面变化示意图;
图12为终端设备的密码设置界面的一种示意图;
图13为本申请实施例提供的终端设备的另一种界面变化示意图;
图14为本申请实施例提供的加解密方法的另一实施例的流程示意图;
图15为设置第一密码和采用第一密码加解密的另一种流程简图;
图16为本申请实施例提供的终端设备的另一种界面变化示意图;
图17为本申请实施例提供的终端设备的另一种界面变化示意图;
图18为本申请实施例中的终端设备的另一种结构示意图;
图19为本申请实施例提供的加解密方法适用的系统架构示意图;
图20为本申请实施例提供的加解密方法的另一实施例的流程示意图。
具体实施方式
随着用户隐私意识的崛起,用户对终端设备的加密需求日益增多。信息、通讯录、备忘录、社交软件等应用程序中的内容包含用户的隐私信息,用户需要对应用程序中的内容进行加密。目前终端设备对应用程序中的内容进行加密的方式包括两种:一种是对应用程序中的所有内容进行加密。另一种方式是对应用程序中用户指定的内容进行加密。因为应用程序中包括一些不需要加密的内容,若对应用程序中所有的内容进行加密,用户在查看不需要加密的内容时也需要输入密码进行验证,导致用户体验差。因此目前多采用对用户指定的内容进行加密的方式。
终端设备可以采用系统账号的密码,对应用程序中用户指定的内容进行加密。其中,用户可以在应用程序的设置界面上设置密码,该密码为系统账号对应的密码(下述称为系统密码)。该系统密码的密码类型可以为数字密码、图案密码或混合密码,混合密码是由字母、数字和符号等组成的密码。终端设备可以根据用户设置的系统密码生成秘钥,采用系统密码生成的秘钥对用户指定的内容进行加密。在用户查看加密的内容时,终端设备提示用户输入系统密码,以对加密的内容进行解密。下述将数字密码、图案密码或混合密码等类型的密码称为第一类型的密码。
其中,用户还可以在应用程序的设置界面上添加设置其他类型的密码,如生物密码。生物密码可以为指纹、虹膜、人脸、声纹等。下述将生物密码称为第二类型的密码。此处以用户添加指纹为例进行说明,用户在应用程序的设置界面上添加指纹时,终端设备提示用户输入系统密码进行验证,在验证通过时用户可以录入指纹,终端设备会采集并存储用户的指纹。在用户查看加密的内容时,终端设备提示用户输入系统密码或输入指纹。其中,用户可以输入系统密码,以使终端设备根据该系统密码对加密的内容进行解密。或者用户可以输入指纹,终端设备验证已存储的指纹和用户输入的指纹是否一致,在指纹一致时终端设备显示加密的内容。
该种加解密方式中,在用户设置生物密码之前,用户需要设置第一类型的密码(如系统密码),终端设备根据第一类型的密码生成秘钥,并以该秘钥作为加密的凭证信息,该种方式可以避免恶意设备直接采用生物密码查看加密的内容,能够提高加解密的安全性。另外,若用户修改了系统密码,则终端设备删除以旧的系统密码加密的内容,导致用户无法查看以旧的系统密码加密的内容,用户体验差。
终端设备可以不采用系统密码,而是采用用户设置的第一类型的密码(非系统密码),如称为应用密码,对应用程序中用户指定的内容进行加密。与上述方式类似的,用户可以在应用程序的设置界面上设置应用密码,终端设备可以根据应用密码生成作为加密的凭证信息的秘钥,进而采用该秘钥对用户指定的内容进行加密。在用户查看加密的内容时,终端设备提示用户输入应用密码,以对加密的内容进行解密。该种方式中,若用户修改应用密码,终端设备不会删除以旧的应用密码加密的内容,因此用户可以采用旧的密码查看以旧的系统密码加密的内容,进而解决了用户无法查看以旧的系统密码加密的内容的问题。但在该种加解密方式中,为了保证加解密的安全性,与上述的方式相同的,用户在设置生物密码前仍需要先设置第一类型的密码,导致用户无法直接设置生物密码,生物密码的设置步骤复杂。
本申请实施例提供了一种加解密方法,在用户设置生物密码时,终端设备可以随机生成作为加密的凭证信息的秘钥,避免了用户手动设置密码的步骤,用户可以直接设置生物密码对应用程序中的内容进行加密,本申请实施例的加解密方法可以在保证加解密安全性的前提下,简化了生物密码的设置步骤,提高了用户体验。
应理解,本申请实施例中,执行加解密方法的执行主体可以为终端设备,或者终端设备中的芯片或处理器等。应理解,本申请实施例中的终端设备可以称为用户设备(userequipment,UE)、移动终端(mobile terminal)、终端(terminal)等。终端设备可以为个人数字处理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备、车载设备或可穿戴设备,虚拟现实(virtual reality,VR)终端设备、增强现实(augmentedreality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(selfdriving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smartgrid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smartcity)中的无线终端、智慧家庭(smart home)中的无线终端等。本申请实施例中对终端设备的形态不做具体限定。
图1为本申请实施例中的终端设备的一种结构示意图。如图1所示,该终端设备100可以包括:处理器110,存储器120,通信模块130,摄像头140、显示屏150和传感器160。可以理解的是,本实施例示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件,或软件和硬件的组合实现。可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端设备100的结构限定。在本申请另一些实施例中,终端设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
其中,处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,显示处理单元(displayprocess unit,DPU),和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在一些实施例中,终端设备100也可以包括一个或多个处理器110。其中,处理器可以是终端设备100的神经中枢和指挥中心。处理器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环采用的指令或数据。如果处理器110需要再次采用该指令或数据,可从所述存储器中直接调用。这就避免了重复存取,减少了处理器110的等待时间,因而提高了终端设备100的效率。在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。其中,USB接口可以是符合USB标准规范的接口,如Mini USB接口,Micro USB接口,USB Type C接口等。USB接口可以用于连接充电器为终端设备100充电,也可以用于终端设备100与外围设备之间传输数据,或者也可以用于连接耳机,通过耳机播放音频。
存储器120可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器120的上述指令,从而使得终端设备100执行各种功能应用以及数据处理等。内部存储器120可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用程序(比如图库、联系人等)等。存储数据区可存储终端设备100采用过程中所创建的数据(比如照片,联系人等)等。此外,内部存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。在一些实施例中,处理器110可以通过运行存储在内部存储器120的指令,和/或存储在设置于处理器110中的存储器的指令,来使得终端设备100执行各种功能应用及数据处理。
通信模块130可以提供应用在终端设备100上的包括2G/3G/4G/5G等通信模块,和/或应用在终端设备100上的包括无线局域网(wireless local area networks,WLAN),蓝牙,全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),NFC,红外技术(infrared,IR)等通信模块。通信模块130用于实现终端设备100与其他设备之间的通信。
终端设备100可以通过一个或多个摄像头140,视频编解码器,GPU,以及应用处理器等实现拍摄功能。其中,摄像头140,可以用于采集人脸图像,以识别人脸,可以利用采集的人脸实现解锁,访问和设置应用锁等功能。
终端设备100通过GPU,显示屏150,以及应用处理器等可以实现显示功能。GPU为图像处理的微处理器,连接显示屏150和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行指令以生成或改变显示信息。应用处理器可以包括神经网络(neural-network,NN)计算处理器、显示子系统(Display Sub-System,DSS)等。
显示屏150用于显示图像,视频等。显示屏150包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,终端设备100可以包括1个或N个显示屏150,N为大于1的正整数。
神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。显示子系统(Display Sub-System,DSS),也称为DPU。DPU用于对显示屏150的色彩进行调整,DPU可以通过三维查找表(3D look up table,3D LUT)对显示屏的色彩进行调整。DPU还可以对画面进行缩放、降噪、对比度增强、背光亮度管理、hdr处理、显示器参数Gamma调整等处理。
本申请实施例中的传感器160可以包括压力传感器160A,陀螺仪传感器160B,距离传感器160C,环境光传感器160D,触摸传感器160E,指纹传感器160F,虹膜传感器160G、声纹传感器160H、掌静纹传感器160I、人脸识别传感器160J等。应理解,终端设备100中包括的传感器的种类与本申请实施例中终端设备100采集的生物密码的种类对应。
其中,压力传感器160A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器160A可以设置于显示屏150。压力传感器160A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器160A,电极之间的电容改变。终端设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏150,终端设备100根据压力传感器160A检测所述触摸操作强度。终端设备100也可以根据压力传感器160A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器160B可以用于确定终端设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器160B确定终端设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器160B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器160B检测终端设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端设备100的抖动,实现防抖。
距离传感器160C,用于测量距离。终端设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,终端设备100可以利用距离传感器160C测距以实现快速对焦。
环境光传感器160D用于感知环境光亮度。终端设备100可以根据感知的环境光亮度自适应调节显示屏150亮度。环境光传感器160D也可用于拍照时自动调节白平衡。
触摸传感器160E,也可称触控面板。触摸传感器160E可以设置于显示屏150,由触摸传感器160E与显示屏150组成触摸屏,也称触控屏。触摸传感器160E用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏150提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器160E也可以设置于终端设备100的表面,与显示屏150所处的位置不同。
指纹传感器160F,也称为指纹识别器,用于采集指纹。终端设备100可以利用采集的指纹特性实现指纹解锁,访问和设置应用锁,指纹拍照,指纹接听来电等。虹膜传感器160G,也称为虹膜识别传感器,用于采集虹膜。终端设备100可以利用采集的虹膜实现虹膜解锁,访问和设置应用锁,接听来电等。声纹传感器160H,也称为声音检测传感器,用于采集用户的声音,以确定用户的声纹。掌静纹传感器160I,可以用于采集用户的掌静纹。人脸识别传感器160J可以包括红外人脸识别传感器和/或可见光人脸识别传感器,用于采集人脸图像,以识别人脸。应理解,声纹、掌静纹、人脸图像等也可以用户实现终端设备100的解锁、访问和设置应用锁等功能。
下面结合具体的实施例对本申请实施例提供的加解密方法进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。图2为本申请实施例提供的加解密方法的一实施例的流程示意图。如图2所示,本申请实施例提供的加解密方法可以包括:
S201,当接收到用户输入的生物密码的设置请求时,随机生成第一秘钥,且输出第一提示信息,第一提示信息用于提示用户录入生物密码。
应理解,生物密码为第二类型的密码,S201中的“用户输入的生物密码的设置请求”可以替换为“用户输入的第二类型的密码的设置请求”。生物密码可以为指纹、虹膜、声纹、人脸等用户的生物特征。本申请实施例中,当用户需要设置明文(plain text)的生物密码时,可以在终端设备上通过点击或其他操作,以触发向终端设备输入第二类型的密码的设置请求。其中,明文为用户可见的内容,也可以称为待加密的内容,如消息、邮件、备忘录或聊天内容等。当终端设备接收用户输入的第二类型的密码的设置请求时,可以随机生成第一秘钥,该第一秘钥可以作为加密的凭证信息。因此,用户无需输入手动输入第一类型的密码,以第一秘钥作为加密的凭证信息,用户可以直接设置第二类型的密码,如第一生物密码。
在一种可能的实现方式中,终端设备可以采用如下至少一种信息随机生成第一秘钥SK_ap:第一随机数、应用程序的签名信息、系统特征信息。其中,第一随机数可以为盐值(salt值)、数值、二进制数等。应用程序的签名信息,可以理解为是应用程序的开发者对应用程序的签名。系统特征信息可以包括系统版本、终端设备的型号、终端设备的移动设备国际识别码(international mobile equipment identity,IMEI)等。应理解的是,终端设备生成第一秘钥时采用的信息越多,第一秘钥越复杂,加解密的安全性越高。本申请实施例中,终端设备可以采用哈希(hash)算法或MD5信息摘要算法(MD5 message digestalgorithm)等,根据第一随机数、应用程序的签名信息或系统特征信息生成第一秘钥。其中,因为第一随机数,如盐值,可以为随机生成的一组字符串,包括随机的大小写字母、数字、字符等,因此终端设备生成第一秘钥时增加第一随机数可以提高第一秘钥的破解难度,提高第一秘钥的安全性。
终端设备生成第一秘钥后,可以输出第一提示信息,该第一提示信息用于提示用户录入生物密码。可选的,终端设备可以显示录入生物密码的界面,引导用户录入第一生物密码。或者,终端设备还可以以语音等方式提示用户录入第一生物密码,本申请实施例对终端设备的提示方式不做限制。
图3为本申请实施例提供的终端设备的一种界面变化示意图。图3中以应用程序为备忘录,对备忘录中的笔记进行加密为例进行说明。如图3所示,界面301为备忘录的主页面,该主页面上显示有用户记录的3条笔记。在用户需要对“笔记1”加密时,可以点击界面301上的“┆”控件,获取“┆”控件的下拉菜单。如界面302所示,下拉菜单中包括“设置”控件,用户点击“设置”控件,界面302跳转至界面303,该界面303为备忘录的设置页面。界面303上显示有“加密隐私”控件,用户点击该“加密隐私”控件,界面303跳转至界面304,该界面304为密码设置页面。界面304上显示有密码的设置区域,该密码的设置区域为界面304中的虚线框指示的区域。密码的设置区域中包括设置密码的选项,如指纹选项、人脸选项、虹膜选项、数字密码选项以及图案密码等。若用户点击“指纹选项”,则可以触发向终端设备输入第二类型的密码的设置请求,终端设备生成第一秘钥,且界面304跳转至界面305。该界面305用于提示用户录入指纹,指纹为第一生物密码。如,界面305上可以显示有“请录入指纹”的提示信息。
S202,采集用户录入的第一生物密码。
用户可以根据终端设备的引导界面录入第一生物密码,相应的,终端设备可以采集用户录入的第一生物密码,如指纹。本申请实施例中对用户录入指纹的界面不做赘述,当用户录入指纹后,界面305可以跳转至界面306。界面306为指纹录入成功的提示页面,以提示用户终端设备已成功采集用户的指纹。本申请实施例中,终端设备可以存储第一生物密码,且为了保证第一生物密码的安全性,终端设备可以将第一生物密码存储在可信执行环境(trusted execution environment,TEE)中。
S203,当接收到用户输入的明文的加密请求时,采用第一秘钥加密明文,得到第一密文。
密文(cipher text)为对明文加密后用户不可见的内容。图4为本申请实施例提供的终端设备的另一种界面变化示意图。应理解,图4所示的终端设备的界面晚于图3所示的界面。用户需要对备忘录中的笔记进行加密时,触发终端设备显示备忘录的主页面,如界面401,界面401与上述界面301相同。若用户需要对“笔记1”进行加密,则用户可以通过长按或者其他操作方式选择“笔记1”。用户选择“笔记1”后,界面401可以跳转至界面402,界面402上可以在“笔记1”的右侧显示选择标记,如对勾,指示用户已选择“笔记1”。应注意的是,界面402上显示“加密”控件,用户点击该“加密”控件,可以触发向终端设备输入明文(笔记1)的加密请求。终端设备在接收到用户输入的对“笔记1”加密请求时,可以采用第一秘钥对“笔记1”加密,得到第一密文。其中,在终端设备完成对“笔记1”的加密后,界面402可以跳转至界面403,该界面403上可以显示“笔记1”已经被加密的提示信息,如“该内容已经加密,请输入密码查看”。可选的,界面403上还可以显示有“笔记1”的加密时间等信息。
本申请实施例中,终端设备采用第一秘钥加密明文的方式可以但不限于为:高级加密标准和密文分组链接算法结合公钥密码学标准算法(advanced encryptionstandard-cipher block chaining with public key cryptography standards withPadding,AES-CBC with PKCS padding)。
S204,当接收到用户输入的明文的解密请求时,输出第二提示信息,第二提示信息用于提示用户输入生物密码。
当用户查看加密的明文时,终端设备可以输出第二提示信息,以提示用户输入生物密码。示例性的,图5为本申请实施例提供的终端设备的另一种界面变化示意图。界面501与上述界面403相同,当用户点击、长按或者以其他操作方式选择界面501上显示的“笔记1”时,可以触发向终端设备输入对明文的解密请求。上述界面501可以跳转至界面502,界面502为提示用户输入指纹的界面,如界面502可以显示有“输入指纹查看笔记”的提示信息。应理解,上述S204可以替换为:当接收到用户输入的明文的解密请求时,输出第二提示信息,第二提示信息用于提示用户输入第一生物密码。
S205,采集用户输入的第二生物密码,采用第一生物密码,验证第二生物密码,当第二生物密码通过验证时,采用第一秘钥解密第一密文,得到明文。
用户输入的生物密码为第二生物密码,终端设备可以采用第一生物密码,验证第二生物密码。如终端设备可以将第一生物密码和第二生物密码进行对比验证。若第一生物密码和第二生物密码的相似度大于或等于预设相似度,则确定第二生物密码通过验证。若第一生物密码和第二生物密码的相似度小于预设相似度,则确定第二生物密码未通过验证。
本申请实施例中,终端设备在生成第一秘钥后,可以存储第一秘钥。当第二生物密码通过验证时,终端设备可以采用存储的第一秘钥对第一密文解密得到明文。与上述加密方式相对应的,终端设备AES-CBC with PKCS padding算法解密第一密文,得到明文。如图5所示,当用户在界面502中输入指纹时,终端设备可以采集用户输入的指纹,在指纹验证通过时,终端设备可以采用第一秘钥对第一密文进行解密,得到明文。界面502跳转至界面503,界面503上显示有“笔记1”的内容。
本申请实施例中,终端设备可以在用户设置生物密码时,随机生成作为加密的凭证信息的第一秘钥,因此可以避免用户需要预先手动输入第一类型的密码的复杂步骤,用户可以直接设置生物密码。本申请实施例中的加解密方法可以在保证安全性的前提下,简化设置生物密码的步骤,提高了用户体验。
上述实施例虽然能够达到简化设置生物密码的步骤的目的,但上述实施例中终端设备需要存储第一秘钥以对第一密文解密,第一秘钥的安全性低。本申请实施例中,终端设备可以不存储第一秘钥,可以提高第一秘钥的安全性。图6为本申请实施例提供的加解密方法的另一实施例的流程示意图。图7为首次设置生物密码时终端设备加解密的流程简图。图8为终端设备采用第一生物密码加解密的流程简图。下述结合图6-图8对本申请实施例提供的加解密方法进行说明。如图6所示,上述S203可以替换为:
S2031,当接收到用户输入的明文的加密请求时,生成第一加密对象。
本申请实施例中,在一种可能的实现方式中,当终端设备接收到用户输入的明文的加密请求时,终端设备可以基于系统特征信息和/或应用程序的签名信息,生成第一加密对象EO1。其中,加密对象(encrypt object,EO)为具备加密能力的对象,用于对秘钥进行加密。可选的,加密对象可以为key factory对象、key对象或cipher对象等。在一种可能的实现方式中,当终端设备接收到用户输入的明文的加密请求时,可以基于第一生物密码,生成第一加密对象EO1。如图7所示,终端设备可以基于第一生物密码,如指纹,生成第一加密对象。
本申请实施例中,终端设备生成第一加密对象的方式可以但不限于为:高级加密标准(advanced encryption standard,AES)算法、密文分组链接(cipher blockchaining,CBC)算法、或者AES算法结合公钥密码学标准(public key cryptographystandards with Padding,PKCS Padding)算法、或者CBC算法结合PKCS Padding算法。
S2032,采用第一加密对象对第一秘钥进行加密,得到第二密文。
终端设备采用第一加密对象EO1对第一秘钥SK_ap进行加密,得到第二密文CT_sk_u1,该第二密文CT_sk_u1可以称为秘钥密文。终端设备采用EO1对SK_ap加密的方式可以但不限于为:AES算法、CBC算法、或者AES with PKCS Padding算法、或者CBC with PKCSPadding算法。其中,终端设备生成第二密文CT_sk_u1后,可以存储第二密文CT_sk_u1。
S2033,采用第一秘钥对明文进行加密,得到第一密文。
终端设备采用第一秘钥SK_ap对明文PT_ap进行加密,得到明文对应的第一密文CT_ap。终端设备采用SK_ap对PT_ap加密的方式可以但不限于为:AES-CBC with PKCSpadding。
其中,在终端设备生成第一密文CT_ap后,可以存储第一密文CT_ap。应理解,本申请实施例中,终端设备可以在得到第一密文后,删除其中存储的第一秘钥SK_ap,进而可以避免终端设备被恶意应用破解后,恶意应用根据存储的第一秘钥SK_ap解密第一密文CT_ap的问题,进而提高加解密的安全性。
本申请实施例中不限制S2032和S2033的先后顺序。其中,若终端设备先执行S2032,则终端设备可以在执行S2033之后删除第一秘钥SK_ap。若终端设备先执行S2033,则终端设备可以在执行S2032之后删除第一秘钥SK_ap。若终端设备同时执行S2032和S2033,则终端设备可以在执行S2032和S2033之后,删除第一秘钥SK_ap。
与上述S203的加密过程对应的,上述解密过程S205可以替换为:
S2051,采集用户输入的第二生物密码,采用第一生物密码,验证第二生物密码,当第二生物密码通过验证时,生成第一解密对象。
本申请实施例中,终端设备采用第一生物密码,验证第二生物密码可以参照S205中的相关描述。在一种可能的实现方式中,当终端设备基于系统特征信息和/或应用的签名信息生成第一加密对象时,当第二生物密码通过验证时,终端设备可以基于系统特征信息和/或应用的签名信息,生成第一解密对象DO1。其中,解密对象(decrypt object,DO)为具备解密能力的对象,解密对象可以为key factory对象、key对象或cipher对象等。终端设备生成第一解密对象的方式可以但不限于为DES算法。在一种可能的实现方式中,当终端设备采用第一生物密码生成第一加密对象时,当第二生物密码通过验证时,终端设备可以基于第一生物密码,生成第一解密对象DO1。如图8所示,终端设备可以基于该第一生物密码,生成第一解密对象DO1。
本申请实施例中,终端设备可以采用相同的参数(如相同的系统特征信息和/或应用的签名信息,或者第一生物密码),因此终端设备生成的第一加密对象和第一解密对象相同,进而终端设备可以采用第一解密对象解密第二密文,得到第一秘钥。在一种可能的实现方式中,终端设备可以不存储第一加密对象和第一解密对象,以避免终端设备被恶意应用破解后,恶意应用得到根据第一加密对象和第一解密对象解密第二密文得到第一秘钥SK_ap,能够提高加解密的安全性。
应理解,上述第一加密对象和第一解密对象可以相同,之所以第一加密对象可以用于加密第一秘钥,而第一解密对象用于解密第二密文,得到第一秘钥。是因为终端设备中预先设置有加密流程和解密流程,如当终端设备接收到用户输入的明文的加密请求时,可以执行加密流程,该加密流程中,终端设备采用第一加密对象加密第一秘钥。当终端设备接收到用户输入的明文的解密请求时,可以执行解密流程,该解密流程中,终端设备采用第一解密对象解密第二密文,得到第一秘钥。
S2052,采用第一解密对象对第二密文解密,得到第一秘钥。
因为终端设备中存储有第二密文CT_sk_u1,且该第二密文CT_sk_u1为第一加密对象ED1对第一秘钥SK_ap加密得到的,因此终端设备可以采用第一解密对象DO1对第二密文CT_sk_u1解密,得到第一秘钥SK_ap。终端设备对第二密文解密的方式可以但不限于为:AES算法、CBC算法、或者AES with PKCS Padding算法、或者CBC with PKCS Padding算法。
S2053,采用第一秘钥对第一密文解密,得到明文。
因为终端设备中存储有第一密文CT_ap,且该第一密文CT_ap为第一秘钥SK_ap对明文PT_ap加密得到的,因此终端设备可以采用解密得到的第一秘钥SK_ap对第一密文CT_ap进行解密,得到明文PT_ap。终端设备对第一密文解密的方式可以与上述终端设备对第二密文解密的方式相同。
综上,本申请实施例中终端设备中可以不存储作为加密的凭证信息的第一秘钥,该第一秘钥可以作为对明文加解密的中间数据。即便终端设备中不存储第一秘钥,终端设备仍然可以解密由该第一秘钥加密得到的第一密文,原因在于:终端设备可以根据用户设置的第一生物密码解密加密后的第一秘钥,进而可以恢复出第一秘钥,以解密第一密文。
在一种实施例中,用户在设置第一生物密码的基础上,可以添加新的密码,终端设备可以采用上述图6-图8中的加解密方法,采用用户添加的新的密码加密第一秘钥、解密第一秘钥,进而终端设备可以以第一秘钥解密第一密文。因此,当用户添加新的密码后,本申请实施例中,终端设备可以采用新的密码或第一生物密码解密以第一秘钥加密的密文,用户不用记忆多个密码,能够提高用户体验。
为了更为清楚地说明终端设备采用新的密码解密以第一秘钥加密的密文的方法,下述结合图9-图13对用户添加新的密码查看加密的内容的过程进行说明。下述实施例中以新的密码为第一密码进行说明,第一密码可以为第一类型的密码或者第二类型的密码。下述先以第一密码为第二类型的密码,如第四生物密码为例进行说明。图9为本申请实施例提供的加解密方法的另一实施例的流程示意图。图10为设置第一密码和采用第一密码加解密的一种流程简图。如图9所示,本申请实施例提供的加解密方法可以包括:
S901,当接收到用户输入的添加密码的请求时,输出第二提示信息。
用户可以在应用程序的设置界面添加第一密码,当终端设备接收到用户输入的添加密码的请求时,终端设备可以输出第二提示信息,该第二提示信息用于提示用户输入生物密码,以验证生物密码。当用户输入的生物密码通过验证时,用户可以添加设置密码,这样可以避免恶意用户私自添加密码。图11为本申请实施例提供的终端设备的另一种界面变化示意图。如图11所示,界面1101为备忘录的密码设置页面,界面1101上可以显示添加密码的区域,以及用户已经设置的指纹,如指纹1,该添加密码的区域可以包括“添加密码”的选项。示例性的,当用户点击“添加密码”的选项,可以触发向终端设备输入添加密码的请求,界面1101跳转至界面1102,界面1102提示用户输入第一生物密码,界面1102与上述界面502相同。
界面1101与上述界面304不同的是,界面304是用户首次设置密码的页面,用户还未设置第一生物密码,因此界面304上不显示添加密码的区域。应理解,本申请实施例中,用户可以在界面1101上显示的密码的设置区域中添加密码。如用户点击密码的设置区域中的人脸选项,可以添加人脸密码。当用户在界面1101上点击人脸选项时,界面1101可以直接跳转至界面1105,以提示用户录入人脸。本申请实施例中对终端设备添加设置密码的界面不做限制。
S902,采集用户输入的第三生物密码,采用第一生物密码,验证第三生物密码,当第三生物密码通过验证时,生成第一解密对象。
应理解,终端设备采用第一生物密码,验证第三生物密码,以及生成第一解密对象可以参照S205中的相关描述。
S903,采用第一解密对象解密第二密文,得到第一秘钥。
如图10所示,本申请实施例中S903可以参照上述S2052中的相关描述。
S904,输出第三提示信息,第三提示信息用于提示用户输入第一密码。
当用户输入第三生物密码验证通过后,终端设备可以输出第三提示信息,第三提示信息用于提示用户输入第一密码,即提示用户输入新的密码。该第一密码可以为第一类型的密码或第二类型的密码。示例性的,用户输入指纹后,界面1102可以跳转至界面1103,界面1103上可以显示有输入第一类型的密码的控件,以及输入第二类型的密码的控件。用户可以选择输入第一类型的第一密码,或者选择输入第二类型的第一密码。
S905,采集用户输入的第一密码,当第一密码为第二类型的密码时,生成第二加密对象。
因为终端设备对第一类型的密码和第二类型的密码的加解密方式不同,因此本申请实施例中,终端设备可以基于用户输入的第一密码的类型,加密第一秘钥。其中,若用户输入的第一密码为第二类型的密码,如第四生物密码。该第四生物密码可以与第一生物密码不同。示例性的,如第一生物密码为指纹,则第四生物密码可以为人脸、虹膜、声纹、或者不同于第一生物密码的指纹的其他指纹等,本申请实施例中以第四生物密码为人脸为例进行说明。示例性的,用户可以选择界面1103上的第二类型的密码的控件,界面1103跳转至界面1104,该界面1104上可以显示有人脸、虹膜、声纹、指纹等生物密码的选择控件,当用户点击“人脸”控件时,界面1104跳转至界面1105。界面1105提示用户录入人脸,用户可以根据终端设备的引导录入人脸。
终端设备采集第四生物密码后,可以生成第二加密对象EO2。本申请实施例中终端设备可以基于系统特征信息和/或应用的签名信息,或者基于第四生物密码,生成第二加密对象,该过程可以参照终端设备生成第一加密对象EO1的描述。应注意的是,当终端设备基于系统特征信息和/或应用的签名信息生成第二加密对象时,终端设备采用的系统特征信息和/或应用的签名信息可以相同或不同。图10示例性的以终端设备基于第四生物密码,生成第二加密对象EO2进行说明。示例性的,终端设备采集到用户输入的人脸时,终端设备可以基于人脸,生成第二加密对象EO2。
S906,采用第二加密对象对第一秘钥进行加密,得到第三密文。
与上述第一生物密码的加密过程类似的,终端设备采用第二加密对象EO2对第一秘钥SK_ap进行加密,得到第三密文CT_sk_u2。其中,终端设备可以存储第三密文CT_sk_u2。应注意,在用户添加第四生物密码后,上述密码设置界面可以从界面1101转变为如图12所示的界面1201,界面1201相较于界面1101,还可以显示有用户设置的第四生物密码“人脸”。可选的,界面1201上可以显示删除控件,用户可以删除已设置的密码,如界面1201上在指纹和人脸的右侧可以分别显示删除控件。示例性的,如用户点击指纹右侧的删除控件,则界面1201跳转至界面1202,界面1202上显示用户设置的人脸。在该种情况下,用户在查看加密的笔记1时,只能输入人脸查看。
在用户设置第一密码后,用户可以采用第一密码对笔记2或笔记3进行加密和解密,该过程可以参照上述用户采用第一生物密码对笔记1进行加密、解密的过程。此处主要讲述用户可以采用第一密码(新的密码)查看采用旧的密码(第一生物密码)加密的内容(笔记1)的过程。
S907,当接收到用户输入的明文的解密请求时,输出第四提示信息,第四提示信息用于提示用户输入密码。
其中,第四提示信息可以用户提示用户输入生物密码,如人脸或指纹。图13为本申请实施例提供的终端设备的另一种界面变化示意图。如图13所示,界面1301与上述界面403相同。当用户设置第一密码“人脸”后,若用户需要查看加密的笔记1,则用户可以在界面1301上点击“笔记1”,触发向终端设备输入对明文的解密请求。界面1301跳转至界面1302,该界面1302为提示用户输入指纹或人脸的界面。
在一种可能的实现方式中,本申请实施例中可以对用户设置的第一生物密码和第四生物密码设置优先级。因为用户后设置的第四生物密码可能用户近期偏好的密码,因此可以将用户后设置的第四生物密码设置为高优先级。当终端设备接收到用户输入的明文的解密请求时,终端设备提示用户输入具有高优先级的第四生物密码。应理解,若用户设置了三个或更多的密码,则终端设备接收到用户输入的明文的解密请求时,可以提示用户输入具有最高优先级的密码。
S908,若采集到用户输入的第二密码为第二类型的密码,则验证第二密码,当第二密码通过验证时,生成第二解密对象。
终端设备可以采集用户输入的第二密码,当第二密码为第二类型的密码时,第二密码可以为人脸或指纹。
在一种可能的实现方式中,终端设备可以根据第二密码的生物类型,采用第一生物密码或第四生物密码验证该第二密码。应理解,生物类型可以为用户设置的生物密码的生物类型,如指纹或人脸。其中,若第二密码的类型与第一生物密码的生物类型相同,则终端设备可以根据第一生物密码验证第二密码。若第二密码的类型与第四生物密码的生物类型相同,则终端设备可以根据第四生物密码验证第二密码。示例性的,如第二密码为人脸,则终端设备可以根据用户录入的人脸(第四生物密码)验证用户输入的人脸(第二密码)。应理解,终端设备可以根据第四生物密码验证第二密码可以参照上述S205中的相关描述。
在一种可能的实现方式中,终端设备可以采用第一生物密码或第四生物密码分别验证第二密码,只要有一个通过验证,则第二密码通过验证。如,第二密码与第一生物密码的相似度大于预设相似度,或者第二密码与第四生物密码的相似度大于预设相似度,则第二密码通过验证。其中,若用户设置了两个不同的指纹密码,则终端设备可以采用该两个指纹密码验证第二密码。
下述实施例中以用户输入的第二密码为人脸,终端设备采用第四生物密码验证第二密码,且第二密码通过验证为例进行说明。
当第二密码通过验证时,终端设备可以生成第二解密对象DO2。本申请实施例中终端设备可以基于系统特征信息和/或应用的签名信息,或者基于第四生物密码,生成第二解密对象,该过程可以参照终端设备生成第一解密对象的描述。图10示例性的以终端设备基于第四生物密码,生成第二解密对象DO2为例进行说明。终端设备生成第二解密对象DO2的过程可以参照上述终端设备生成第一解密对象DO1的描述。
应理解,用户也可以输入指纹查看第一密文,该过程可以参考上述图7中的相关描述。本申请实施例中以用户采用人脸查看第一密文为例进行说明。
S909,采用第二解密对象对第三密文解密,得到第一秘钥。
因为终端设备中存储有第三密文CT_sk_u2,且该第三密文CT_sk_u2是由第二加密对象EO2对第一秘钥SK_ap加密得到的,因此终端设备可以采用第二解密对象DO2对存储的第三密文CT_sk_u2解密,得到第一秘钥SK_ap。
S910,采用第一秘钥对第一密文解密,得到明文。
终端设备中存储有第一密文CT_ap,该第一密文CT_ap为第一秘钥SK_ap对明文PT_ap加密得到的,因此终端设备可以采用解密得到的第一秘钥SK_ap对第一密文CT_ap解密,以得到明文。示例性的,终端设备若采用人脸可以查看笔记1,上述界面1302可以跳转至界面如上界面503,以显示有笔记1中的内容。
本申请实施例中,若用户添加设置第四生物密码,则用户可以采用第四生物密码解密以第一生物密码加密的第一秘钥,进而查看以第一秘钥加密的明文,即用户可以采用第四生物密码查看加密的明文,用户无需记忆多个密码,提高用户体验。
下述以第一密码为第一类型的密码为例进行说明,其中,第一类型的密码可以为数字密码、图案密码或混合密码等。图14为本申请实施例提供的加解密方法的另一实施例的流程示意图。图15为设置第一密码和采用第一密码加解密的另一种流程简图。如图14所示,本申请实施例提供的加解密方法可以包括:
S1401,当接收到用户输入的添加密码的请求时,输出第一提示信息。
S1402,采集用户输入的第三生物密码,采用第一生物密码,验证第三生物密码,当第三生物密码通过验证时,生成第一解密对象。
S1403,采用第一解密对象解密第二密文,得到第一秘钥。
S1404,输出第三提示信息。
本申请实施例中的S1401-S1404可以参照上述S901-1004中的相关描述。
S1405,采集用户输入的第一密码,当第一密码为第一类型的密码时,根据第一密码和第二随机数,生成第二秘钥。
图16为本申请实施例提供的终端设备的另一种界面变化示意图。图16中的界面1601、1602、界面1603可以分别与上述的界面1101、1102、界面1103相同。本申请实施例中,用户可以选择输入第一类型的密码以设置第一密码。如,用户可以点击界面1603上的第一类型的密码的控件,界面1603跳转至界面1604,该界面1604上可以显示有数字密码(如6位)、图案密码、混合密码或其他位数的数字密码等选择控件。当用户点击6位数字密码的控件时,界面1604跳转至界面1605。界面1605提示用户输入6位数字密码。相对应的,在用户输入6位数字密码时,终端设备可以采集该6位数字密码。本申请实施例对终端设备引导用户设置6位数字密码的界面不做赘述。
在一种可能的实现方式中,本申请实施例中,用户可以在界面1601上显示的密码的设置区域中添加密码。如当用户在界面1601上点击数字密码选项时,界面1601可以直接跳转至界面1605,以提示用户输入数字密码。
应理解,第一类型的密码与上述第二类型的密码对第一秘钥的加解密过程不同。如图15所示,当第一密码为第一类型的密码时,终端设备可以根据第一密码生成对第一秘钥加密的第二秘钥。但为了增加破解难度,提高第一秘钥的安全性,本申请实施例中可以增加第二随机数,终端设备可以根据第一密码和第二随机数,生成对第一秘钥SK_ap加密的第二秘钥SK_u。终端设备采用第一密码和第二随机数生成第二秘钥的方式可以但不限于为hash算法或MD5算法。
示例性的,当用户添加设置6位数字密码后,界面1605可以跳转至界面1606,该界面1606上可以显示用户设置的密码,如指纹和6位数字密码。应理解,图16中省略了第一密码设置成功的界面以及返回密码设置页面的过程。可选的,界面1106上可以显示删除控件,用户可以删除已设置的密码,可以参照上述的相关描述。可选的,本申请实施例中,界面1606上的6位数字密码可以对应显示有修改控件,用户点击该修改控件,可以对6位数字密码进行修改,以修改成新的6位数字密码。
S1406,采用第二秘钥对第一秘钥进行加密,得到第四密文。
终端设备可以采用第二秘钥SK_u对第一秘钥SK_ap进行加密,得到第四密文CT_sk_u3。应理解,终端设备可以存储第四密文CT_sk_u3,该第四密文CT_sk_u3包括第二随机数。示例性的,如第四密文由一串数字和字母组成,该一串数字和字母中的第1位至第3位为第二随机数。与上述实施例中类似的,终端设备可以不存储该第二秘钥SK_u,以避免终端设备被恶意应用破解后,恶意应用根据该第二秘钥SK_u解密第四密文CT_sk_u3获得第一秘钥SK_ap,可以提高加解密的安全性。
与上述设置第一密码对应的,当用户采用第一密码查看明文时,终端设备可以执行如下步骤:
S1407,当接收到用户输入的明文的解密请求时,输出第四提示信息。
其中,第四提示信息可以用户提示用户输入生物密码或第一类型的密码,如指纹或6位数字密码。本申请实施例中的S1407可以参照上述S907的相关描述。图17为本申请实施例提供的终端设备的另一种界面变化示意图。如图17所示,界面1701与上述界面403相同。当用户设置第一密码(6位数字密码)后,若用户需要查看加密的笔记1,用户可以在界面1701上点击“笔记1”,触发向终端设备输入对明文的解密请求,界面1701跳转至界面1702。界面1702为提示用户输入6位数字密码或指纹的界面,以引导用户输入第一生物密码或第一密码。
S1408,若用户输入的第二密码为第一类型的密码,则根据第二密码和第四密文包括的第二随机数,生成第二秘钥。
如图15所示,终端设备可以采集用户输入的第一密码,且根据该第一密码和第四密文CT_sk_u3包括的第二随机数,生成第二秘钥SK_u。应理解,用户也可以输入第一生物密码查看第一密文,该过程可以参考上述图7中的相关描述。本申请实施例中以用户采用第一密码查看第一密文为例进行说明。
在一种可能的实现方式中,上述S1408可以替换为:若用户输入的第二密码为第一类型的密码,则采用第一密码验证第二密码,当第二密码验证通过时,根据第二密码和第四密文包括的第二随机数,生成第二秘钥。
其中,因为第一密码和第二密码均为第一类型的密码,终端设备可以对比验证第一密码和第二密码是否相同来验证第二密码。若第一密码和第二密码相同,则第二密码通过验证,若第一密码和第二密码不同,则第二密码未通过验证。示例性的,如第一密码为1234,而用户输入的第二密码为2345,则终端设备确定第一密码和第二密码不同,则该第二密码未通过验证。若用户输入的第二密码为1234,则第一密码和第二密码相同,该第二密码通过验证。
可选的,当第二密码未通过验证时,终端设备可以输出第五提示信息,该第五提示信息用于提示用户输入的密码错误。
S1409,采用第二秘钥对第四密文解密,得到第一秘钥。
因为终端设备中存储有第四密文CT_sk_u3,且该第四密文CT_sk_u3是由第二秘钥SK_u对第一秘钥SK_ap加密得到的,因此终端设备可以采用解密得到的第二秘钥SK_u对存储的第四密文CT_sk_u3进行解密,得到第一秘钥SK_ap。
其中,若用户输入的第二密码与用户设置的第一密码不同,则终端设备生成的第二秘钥无法解密第四密文。可选的,终端设备可以输出第五提示信息。
S1410,采用第一秘钥对第一密文解密,得到明文。
本申请实施例中的S1410可以参照上述S910的相关描述。示例性的,终端设备采用6位数字密码可以解密笔记1,上述界面1702可以跳转至界面503,以显示有笔记1中的内容。本申请实施例中,若用户添加第一类型的密码,则用户可以采用第一该类型的密码解密得到第一秘钥,进而以第一秘钥解密加密的明文,提高用户体验。
本申请实施例中,用户可以添加第一类型的密码,且用户可以采用添加的第一类型的密码解密以第一生物密码加密的明文,用户无需记忆不同的明文对应的密码,方便了用户,提高了用户体验。
图18为本申请实施例中的终端设备的另一种结构示意图。此处先结合图18对终端设备中的执行环境进行说明。终端设备中的执行环境包括应用执行环境和可信执行环境(trusted execution environment,TEE)。可信执行环境是与应用执行环境并存的执行环境,可以为终端设备中的加解密过程提供安全服务。应理解,可信执行环境是终端设备中一块独立的安全区域,终端设备可以通过硬件和软件来保护可信执行环境数据,进而确保可信执行环境中的数据的机密性和完整性,总之,运行在可信执行环境中的数据,是保密且不可篡改的。应用执行环境中可以运行至少一个应用程序,如备忘录、信息、通讯录等应用程序。
如图18所示,终端设备可以包括随机数发生器、加密模块、解密模块、第一生物密码模块、第二生物密码模块。其中,随机数发生器、加密模块、解密模块、第一生物密码模块运行在应用执行环境中,第二生物密码模块运行在可信执行环境中。
随机数发生器,用于生成第一随机数和第二随机数。第一生物密码模块,用于采集生物密码。其中,第一生物密码模块可以包括指纹单元、人脸单元、虹膜单元等采集生物密码的单元。在终端设备对明文的加密过程中,第一生物密码模块可以将采集到的用户的生物密码发送至第二生物密码模块,进而由第二生物密码模块执行上述实施例中S2031、S905中的步骤,生成第一加密对象或第二加密对象,且将第一加密对象或第二加密对象发送至加密模块。加密模块,用于执行上述实施例中S2032、S2033、S906、S1405、S1406的步骤,以对明文进行加密。同理的,在终端设备对密文解密过程中,第一生物密码模块可以将采集到用户的生物密码发送至第二生物密码模块,由第二生物模块对用户的生物密码进行验证,或者根据用户的生物密码生成第一解密对象或第二解密对象,即执行上述实施例中S2051、S902、S908、S1402的步骤,且将生成的第一解密对象或第二解密对象发送至解密模块。解密模块,用于执行上述实施例中S2052、S903、S909、S910、S1403、S1408、S1409、S1410中的步骤,以对密文进行解密。
应理解,本申请实施例中,由运行在可信执行环境中第二生物密码模块对生物密码进行验证,或者执行上述实施例中生成第一加密对象、第一解密对象、第一加密对象或第二解密对象的步骤,可以保证第一加密对象、第一解密对象、第一加密对象或第二解密对象不被篡改,进而提高加解密的安全性。
上述实施例中说明了由终端设备执行本申请实施例中的加解密的方法,本申请实施例中也可以由终端设备和服务器交互实现加解密方法。图19为本申请实施例提供的加解密方法适用的系统架构示意图。如图19所示,该系统架构中可以包括终端设备和服务器。服务器可以为应用程序对应的服务器,或者账号服务器或者秘钥服务器,本申请实施例对服务器的类型不做限制。其中,在明文的加密过程,终端设备可以与服务器交互,由服务器生成第一秘钥,且将第一秘钥返回给终端设备,进而终端设备采用第一秘钥执行对明文进行加密。
图20为本申请实施例提供的加解密方法的另一实施例的流程示意图。如图20所示,上述实施例中的S201可以替换为:
S2011,当接收到用户输入的生物密码的设置请求时,向服务器发送秘钥请求。
S2012,接收来自服务器的第一秘钥,且输出第一提示信息。
在该种方式中,若用户同时持有多台终端设备,用户可以在多台终端设备之间发送密文时,用户可以采用不同的密码解密,进而提高用户体验。示例性的,用户有设备1和设备2,第一秘钥是终端设备根据第一随机数、应用程序的签名信息或系统特征信息生成的,因为第一随机数是随机生成的,因此设备1和设备2生成的第一随机数不同。另外,若设备1和设备2应用的系统不同,则设备1和设备2的系统特征信息不同。因此,在用户在设备1和设备2上设置第一生物密码时,会造成设备1和设备2上的第一秘钥不同。若用户采用指纹对设备1上的备忘录1加密,采用人脸对设备2上的备忘录1加密,则在设备1向设备2发送设备1中的备忘录1的密文时,用户只能采用指纹对备忘录1的密文解密,因此,用户需要记住多个密码。
但本申请实施例中,由服务器生成第一秘钥,用户在设置设备1和设备2的密码时,设备1和设备2向服务器请求的第一秘钥是相同的。因此,若用户采用指纹对设备1上的备忘录1加密,采用人脸对设备2上的备忘录1加密,则在设备1向设备2发送设备1中的备忘录1的密文时,依据上述加解密方法的原理,用户可以采用指纹或人脸对备忘录1的密文解密。可选的,当服务器为账号服务器时,设备1和设备2可以登录相同的账号,以向该账号服务器请求相同的第一秘钥。
该种方式中,用户的多个设备之间传输密文时,用户可以采用任意一个设备中设置的密码解密密文,用户无需记忆多个设备中的密码,可以提高用户体验。
需要说明的是,上述图18所示的这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specific integratedcircuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本文中的术语“多个”是指两个或两个以上。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。在本申请的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
Claims (17)
1.一种加解密方法,其特征在于,包括:
响应于用户输入的生物密码的设置请求,生成第一秘钥;
输出第一提示信息,所述第一提示信息用于提示用户录入生物密码;
采集所述用户录入的第一生物密码;
响应于所述用户输入的明文的加密请求,采用所述第一秘钥加密所述明文,得到第一密文;
响应于所述用户输入的所述明文的解密请求,输出第二提示信息,所述第二提示信息用户提示所述用户输入生物密码;
采集所述用户输入的第二生物密码;
采用所述第一生物密码,验证所述第二生物密码;
当所述第二生物密码通过验证时,根据所述第一秘钥解密所述第一密文,得到所述明文。
2.根据权利要求1所述的方法,其特征在于,所述采用所述第一秘钥加密所述明文之前,还包括:
生成第一加密对象;
采用所述第一加密对象加密所述第一秘钥,得到第二密文;
所述采用所述第一秘钥加密所述明文,得到第一密文之后,所述方法还包括:
删除所述第一秘钥。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一秘钥解密所述第一密文,得到所述明文,包括:
生成第一解密对象;
采用所述第一解密对象解密所述第二密文,得到所述第一秘钥;
采用所述第一秘钥解密所述第一密文,得到所述明文。
4.根据权利要求3所述的方法,其特征在于,所述生成第一加密对象,包括:
基于所述第一生物密码,生成所述第一加密对象;
所述生成第一解密对象,包括:
基于所述第一生物密码,生成所述第一解密对象。
5.根据权利要求3所述的方法,其特征在于,所述生成第一加密对象,包括:
基于系统特征信息和/或应用程序的签名信息,生成所述第一加密对象;
所述生成第一解密对象,包括:
基于所述系统特征信息和/或应用程序的签名信息,生成所述第一解密对象。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述采用所述第一生物密码,验证所述第二生物密码,包括:
将所述第二生物密码和所述第一生物密码进行对比验证;
当所述第二生物密码和所述第一生物密码的相似度大于或等于预设相似度时,所述第二生物密码通过验证。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述生成第一秘钥,包括:
基于第一随机数、应用程序的签名信息、系统特征信息中的至少一种信息生成所述第一秘钥。
8.根据权利要求3-5中任一项所述的方法,其特征在于,所述方法还包括:
响应于所述用户输入的添加密码的请求,输出所述第二提示信息;
采集所述用户输入的第三生物密码;
采用所述第一生物密码,验证所述第三生物密码;
当所述第三生物密码通过验证时,生成所述第一解密对象;
采用所述第一解密对象解密所述第二密文,得到所述第一秘钥;
输出第三提示信息,所述第三提示信息用于提示用户输入密码。
9.根据权利要求8所述的方法,其特征在于,所述输出第三提示信息之后,还包括:
采集所述用户输入的第一密码;
基于所述用户输入的所述第一密码的类型,加密所述第一秘钥。
10.根据权利要求9所述的方法,其特征在于,所述基于所述用户输入的第一密码的类型,加密所述第一秘钥,包括:
若所述第一密码为第二类型的密码,则生成第二加密对象,所述第二类型的密码为生物密码;
采用所述第二加密对象加密所述第一秘钥,得到第三密文。
11.根据权利要求9所述的方法,其特征在于,所述基于所述用户输入的第一密码的类型,加密所述第一秘钥,包括:
若所述第一密码为第一类型的密码,则根据所述第一密码和第二随机数,生成第二秘钥,所述第一类型的密码为数字密码、图案密码或混合密码;
采用所述第二秘钥加密所述第一秘钥,得到第四密文。
12.根据权利要求10或11所述的方法,其特征在于,所述方法还包括:
响应于所述用户输入的所述明文的解密请求,输出第四提示信息,所述第四提示信息用于提示所述用户输入密码;
当采集到所述用户输入的第二密码时,根据所述第二密码,解密所述第一密文,得到所述明文。
13.根据权利要求12所述的方法,其特征在于,所述根据所述第二密码,解密所述第一密文,得到所述明文,包括:
当所述第二密码为第二类型的密码时,验证所述第二密码;
当所述第二密码通过验证时,生成第二解密对象;
采用所述第二解密对象解密第三密文,得到所述第一秘钥;
采用所述第一秘钥解密所述第一密文,得到所述明文。
14.根据权利要求12所述的方法,其特征在于,第四密文包括第二随机数,所述根据所述第二密码,解密所述第一密文,得到所述明文,包括:
当所述第二密码为第一类型的密码时,根据所述第二密码和所述第四密文包括的所述第二随机数,生成第二秘钥;
采用所述第二秘钥解密所述第四密文,得到所述第一秘钥;
采用所述第一秘钥解密所述第一密文,得到所述明文。
15.一种加解密装置,其特征在于,包括:
加密模块,用于响应于用户输入的生物密码的设置请求,生成第一秘钥;
输出模块,用于输出第一提示信息,所述第一提示信息用于提示用户录入生物密码;
第一生物密码模块,用于采集所述用户录入的第一生物密码;
所述加密模块,还用于响应于所述用户输入的明文的加密请求,采用所述第一秘钥加密所述明文,得到第一密文;
输出模块,还用于响应于所述用户输入的所述明文的解密请求,输出第二提示信息,所述第二提示信息用户提示所述用户输入生物密码;
第一生物密码模块,还用于采集所述用户输入的第二生物密码;
第二生物密码模块,用于采用所述第一生物密码,验证所述第二生物密码;
解密模块,用于当所述第二生物密码通过验证时,根据所述第一秘钥解密所述第一密文,得到所述明文。
16.一种电子设备,其特征在于,包括:存储器、处理器和显示器;其中,所述处理器用于与所述存储器、所述显示器耦合;
所述显示器,用于输出提示信息;
所述存储器用于存储计算机可执行程序代码,程序代码包括指令;
所述处理器用于读取并执行所述存储器中的指令,以实现权利要求1-14中任一项所述的方法。
17.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行权利要求1-14中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011425872.4A CN114626054A (zh) | 2020-12-08 | 2020-12-08 | 加解密方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011425872.4A CN114626054A (zh) | 2020-12-08 | 2020-12-08 | 加解密方法、装置、电子设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114626054A true CN114626054A (zh) | 2022-06-14 |
Family
ID=81895085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011425872.4A Pending CN114626054A (zh) | 2020-12-08 | 2020-12-08 | 加解密方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114626054A (zh) |
-
2020
- 2020-12-08 CN CN202011425872.4A patent/CN114626054A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ometov et al. | Challenges of multi-factor authentication for securing advanced IoT applications | |
US11057378B2 (en) | Device and method of setting or removing security on content | |
EP3657370B1 (en) | Methods and devices for authenticating smart card | |
CN105848134B (zh) | 虚拟sim卡管理装置、通信终端、访问控制及管理方法 | |
KR101832544B1 (ko) | 픽처 제스처 인증 기법 | |
US20190392422A1 (en) | Mobile terminal and control method therefor | |
KR20180048429A (ko) | 비-보안 단말에 의해 사용자를 인증하는 방법 | |
KR20140054172A (ko) | 디바이스에 관한 강화된 보안을 위해 다중-팩터 패스워드 또는 동적인 패스워드를 이용하기 위한 방법 및 장치 | |
CN105281907B (zh) | 加密数据的处理方法及装置 | |
CN111506884A (zh) | 用户邀请方法、装置、计算机设备及计算机可读存储介质 | |
US20150332038A1 (en) | Secure entry of secrets | |
JP2015194947A (ja) | 情報処理装置及びコンピュータプログラム | |
Guerar et al. | Securing PIN‐based authentication in smartwatches with just two gestures | |
KR101052294B1 (ko) | 콘텐츠 보안 장치 및 콘텐츠 보안 방법 | |
KR20120042684A (ko) | 지문 정보를 통한 데이터 송/수신 장치 및 시스템 | |
KR101435487B1 (ko) | 사용자 단말기, 사용자 단말기의 숨김 페이지 사용 방법 및 컴퓨터 판독 가능한 기록 매체 | |
US11868457B2 (en) | Device and method for authenticating user and obtaining user signature using user's biometrics | |
CN112243000A (zh) | 应用数据的处理方法,装置、计算机设备及存储介质 | |
KR102657388B1 (ko) | 암호화될 데이터의 정보량에 기반하여 암호화에 사용될 키를 선택하는 전자 장치 및 전자 장치의 동작 방법 | |
CN115544586A (zh) | 用户数据的安全存储方法、电子设备及存储介质 | |
CN114626054A (zh) | 加解密方法、装置、电子设备和可读存储介质 | |
KR20180048423A (ko) | 비-보안 단말에서 수행되는 트랜잭션을 안전하게 보호하는 방법 | |
CN113904850A (zh) | 基于区块链私钥keystore安全登录方法、生成方法、系统及电子设备 | |
KR20180048424A (ko) | 비-보호 단말에 의해 사용자를 인증하는 방법 | |
CN113672886A (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 |