CN111193740B - 加密方法、装置、解密方法、计算机设备和存储介质 - Google Patents
加密方法、装置、解密方法、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111193740B CN111193740B CN201911409116.XA CN201911409116A CN111193740B CN 111193740 B CN111193740 B CN 111193740B CN 201911409116 A CN201911409116 A CN 201911409116A CN 111193740 B CN111193740 B CN 111193740B
- Authority
- CN
- China
- Prior art keywords
- information
- encryption
- input
- encrypted
- symmetric key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 137
- 238000012545 processing Methods 0.000 claims abstract description 22
- 238000004590 computer program Methods 0.000 claims description 26
- 230000006399 behavior Effects 0.000 claims description 20
- 238000003672 processing method Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 238000013479 data entry Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 208000008918 voyeurism Diseases 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0478—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/121—Timestamp
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种加密方法、装置、解密方法、计算机设备和存储介质。所述方法包括:获取待加密信息;根据预设的可配置保护策略,对待加密信息进行处理,得到第一加密信息;获取第一对称密钥,根据该第一对称密钥对第一加密信息进行加密,得到第二加密信息;根据预存的公钥对第一对称密钥进行加密,得到加密密钥信息;根据第二加密信息和加密密钥信息,得到第三加密信息。采用本方法能够提供一种更安全灵活的加密方法、装置、解密方法、计算机设备和存储介质。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种加密方法、装置、解密方法、计算机设备和存储介质。
背景技术
随着互联网技术的发展,出现了多种多样的移动端应用,用户在使用各种移动端应用时,不可避免地要进行数据输入,因此,移动数据输入的安全性与用户个人信息和财产安全息息相关。尤其是在互联网金融领域,要求客户端应用数据录入场景采取即时加密等有效措施,从而保护账户和资金安全。
目前移动端应用采取的安全输入方法主要包括以下三种:
第一类强制使用系统原生键盘,相对于允许使用任何第三方输入法的应用而言,其将安全性建立在操作系统本身上,略微提升了安全性,但往往由于系统原生键盘可供输入的字符少,复杂度有限,且属于跨进程调用,导致安全性不高;
第二类是采用应用内置输入控件,通过在用户输入过程中进行输入键盘绘制,杜绝了进程之间数据传输风险、第三方输入法劫持问题,有些还可以进一步防范截屏/录屏,防止了从交互界面层次窃取信息,但内存中依未对输入数据进行保护;
第三类是在上述第二类的基础上,对内存数据进行了加密,安全级别高,但加密手段有限且固定,不易替换升级,灵活性不足。
发明内容
基于此,有必要针对上述技术问题,提供一种更安全灵活的加密方法、装置、解密方法、计算机设备和存储介质。
一种加密方法,方法包括:
获取待加密信息;
根据预设的可配置保护策略,对待加密信息进行处理,得到第一加密信息;
获取第一对称密钥,根据第一对称密钥对第一加密信息进行加密,得到第二加密信息;
根据预存的公钥对第一对称密钥进行加密,得到加密密钥信息;
根据第二加密信息和加密密钥信息,得到第三加密信息。
在一个实施例中,方法还包括:
获取接收到信息提交指令时刻的时间戳;
根据第一对称密钥对时间戳进行加密,得到加密时间戳信息;
根据第三加密信息和加密时间戳信息,得到待提交信息;
将待提交信息发送给服务端。
在一个实施例中,在获取待加密信息的步骤之前,还包括:
获取第二对称密钥;
在接收到用户的输入字符时,根据第二对称密钥对输入字符进行加密,得到加密字符;
将加密字符存储在输入队列中,并删除输入字符的原文;
根据预设干扰规则在输入队列中插入干扰字符,得到加密队列;
优选地,在接收到用户的输入字符时,在输入框中显示与输入字符对应的占位字符;
获取待加密信息的步骤,包括:
从加密队列中删除干扰字符,得到输入队列;
根据第二对称密钥对输入队列进行解密,得到用户的输入字符序列,将输入字符序列设置为待加密信息;
优选地,在得到所述第一加密信息时,或者,在得到所述第二加密信息时,删除所述待加密信息。
在一个实施例中,方法还包括:
对应用的运行环境进行检测;
当检测到运行环境存在疑似攻击行为时,进入禁止输入状态,和/或,向应用发送预警通知;
在一个实施例中,方法还包括:
向服务端发送非对称加密密钥获取请求;
当获取到服务端返回的公钥,且未检测到运行环境存在疑似攻击行为时,进入输入状态;
在一个实施例中,方法还包括:
在进入输入状态前,设置键盘样式;
在处于输入状态时,按照键盘样式显示软键盘;
在一个实施例中,方法还包括:获取服务端的当前时间,根据服务端的当前时间,设置时间同步。
在一个实施例中,方法还包括:
从加密队列中删除干扰字符,得到输入队列;
根据第二对称密钥对输入队列进行解密,得到输入字符序列;
验证输入字符序列是否符合预设的输入要求;
若是,生成表征正确的第一提示信息;若否,生成表征错误的第二提示信息。
在一个实施例中,方法还包括:
获取可配置保护策略,可配置保护策略为由用户设置的保护策略;优选地,保护策略包括加密算法、摘要组合方法、前缀设置方法、后缀设置方法和数据拼接方法中的一种或多种。
一种加密装置,装置包括:
信息获取模块,用于获取待加密信息;
第一加密模块,用于根据预设的可配置保护策略,对待加密信息进行处理,得到第一加密信息;
第二加密模块,用于获取第一对称密钥,根据第一对称密钥对第一加密信息进行加密,得到第二加密信息;
密钥加密模块,用于根据预存的公钥对第一对称密钥进行加密,得到加密密钥信息;
加密信息模块,用于根据第二加密信息和加密密钥信息,得到第三加密信息。
一种解密方法,用于服务器上,该解密方法包括:
接收终端提交的加密信息,将加密信息拆分为第二加密信息、加密密钥信息及加密时间戳信息;
采用与终端中预存的公钥对应的私钥对加密密钥信息进行解密,得到第一对称密钥;
采用第一对称密钥对加密时间戳信息进行解密,得到时间戳;
当时间戳与当前时间之差超过预设时间阈值时,判定该加密信息为无效信息,发送错误报告;
当时间戳与当前时间之差未超过预设时间阈值时,采用第一对称密钥对第二加密信息进行解密,得到第一加密信息;
根据由终端获取的可配置保护策略,对第一加密信息进行处理,得到终端上应用的输入字符序列。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取待加密信息;
根据预设的可配置保护策略,对待加密信息进行处理,得到第一加密信息;
获取第一对称密钥,根据第一对称密钥对第一加密信息进行加密,得到第二加密信息;
根据预存的公钥对第一对称密钥进行加密,得到加密密钥信息;
根据第二加密信息和加密密钥信息,得到第三加密信息。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取待加密信息;
根据预设的可配置保护策略,对待加密信息进行处理,得到第一加密信息;
获取第一对称密钥,根据第一对称密钥对第一加密信息进行加密,得到第二加密信息;
根据预存的公钥对第一对称密钥进行加密,得到加密密钥信息;
根据第二加密信息和加密密钥信息,得到第三加密信息。
上述加密方法、装置、解密方法、计算机设备和存储介质,采用了双层加密技术,先对数据进行内层加密,通过可配置保护策略对待加密信息进行处理,得到第一加密信息,其中,可配置保护策略可由使用方定制且可通过配置动态变化,从而实现加密算法的灵活定制,增加了复杂度与安全性,便于保护手段升级;然后进行外层加密,根据第一对称密钥对第一加密信息进行加密,得到第二加密信息,并采用公钥对第一对称密钥进行加密,得到加密密钥信息;这里在外层加密中采用数字信封技术对数据加以保护,保证了数据传输安全。
附图说明
图1为一个实施例中加密方法的应用环境图;
图2为一个实施例中加密方法的流程示意图;
图3为另一个实施例中加密方法的流程示意图;
图4为一个实施例中输入加密步骤的流程示意图;
图5为一个实施例中运行环境检测步骤的流程示意图;
图6为一个实施例中输入内容验证步骤的流程示意图;
图7为再一个实施例中加密方法的流程示意图;
图8为一个实施例中加密装置的结构框图;
图9为一个实施例中解密方法的流程示意图;
图10为一个实施例中计算机设备的内部结构图。
图11为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的保密方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种加密方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,获取待加密信息。
具体地,终端在接收到信息提交指令时,从内存中获取待加密信息。
步骤204,根据预设的可配置保护策略,对待加密信息进行处理,得到第一加密信息。
其中,可配置保护策略可以为由用户自定义设置的保护策略,例如,保护策略可以包括加密算法、摘要组合方法、前缀设置方法、后缀设置方法和数据拼接方法中的一种或多种处理方法。
具体地,根据可配置保护策略中的处理方法对上述待加密信息进行处理,例如采用加密算法对待加密信息进行加密,在待加密信息前后分别设置前缀和后缀等。
步骤206,获取第一对称密钥,根据第一对称密钥对第一加密信息进行加密,得到第二加密信息。
其中,第一对称密钥可以为终端临时生成的随机对称密钥或者终端内存中预先设置好的对称密钥,为了提高安全性,优选采用临时生成的随机对称密钥。
具体地,终端接收到用户的信息提交指令时,生成一个临时随机对称密钥,即第一对称密钥,使用该第一对称密钥对第一加密信息进行加密,得到第二加密信息。
步骤208,根据预存的公钥对第一对称密钥进行加密,得到加密密钥信息。
其中,该公钥可以为终端事先从服务端获取并进行保存的非对称加密密钥中的公钥。
步骤210,根据第二加密信息和加密密钥信息,得到第三加密信息。
具体地,可以将第二加密信息和加密密钥信息拼接或通过任意方式组合在一起,得到第三加密信息。
上述加密方法中,采用了双层加密技术,先对数据进行内层加密,通过可配置保护策略对待加密信息进行处理,得到第一加密信息,其中,可配置保护策略可由使用方定制且可通过配置动态变化,从而实现加密算法的灵活定制,增加了复杂度与安全性,便于保护手段升级;然后进行外层加密,根据第一对称密钥对第一加密信息进行加密,得到第二加密信息,并采用公钥对第一对称密钥进行加密,得到加密密钥信息;这里在外层加密中采用数字信封技术对数据加以保护,保证了数据传输安全。
在一个实施例中,如图3所示,提供了一种加密方法,包括以下步骤:
步骤302,获取待加密信息。
步骤304,根据预设的可配置保护策略,对待加密信息进行处理,得到第一加密信息。
步骤306,获取第一对称密钥,根据第一对称密钥对第一加密信息进行加密,得到第二加密信息。
步骤308,根据预存的公钥对第一对称密钥进行加密,得到加密密钥信息。
步骤310,根据第二加密信息和加密密钥信息,得到第三加密信息。
这里,关于步骤302-310的具体限定可以参见上文中对于步骤202-210的限定,在此不再赘述。
步骤312,获取接收到信息提交指令时刻的时间戳,根据第一对称密钥对时间戳进行加密,得到加密时间戳信息。
具体地,终端中设有时间同步器,当接收到用户的信息提交指令时,该时间同步器计算生成与服务端时间同步的时间戳。
步骤314,根据第三加密信息和加密时间戳信息,得到待提交信息。
这里,该待提交信息主要包括三部分内容:第二加密信息、加密密钥信息和加密时间戳信息,三者可以以任意顺序拼接或组合在一起,得到待提交信息;在具体实施过程中,该待提交信息也可以包括服务端上业务所需的一些其他附加信息。
步骤316,将待提交信息发送给服务端。
本实施例中,该加密方法通过第一对称密钥对终端的时间戳进行加密,向服务端发送带有时间戳的待提交信息,便于服务端对接收到信息的时效性进行验证,可以排除失效数据,提高后续服务端的处理效率。
在一个实施例中,如图4所示,提供了一种加密方法,在上文的获取待加密信息的步骤之前,该方法还包括以下输入加密步骤:
步骤402,获取第二对称密钥。
其中,该第二对称密钥可以为终端临时生成的随机对称密钥或者终端内存中预先设置好的对称密钥,为了提高安全性,也优选采用临时生成的随机对称密钥。
具体地,当该终端检测到用户点击输入框时,弹出软键盘,并临时生成的一个随机对称密钥,即第二对称密钥。
步骤404,在接收到用户的输入字符时,根据第二对称密钥对输入字符进行加密,得到加密字符。
具体地,可以每当用户输入一个字符,使用第二对称密钥对输入字符进行加密,得到加密字符,此时该加密字符为一个单独加密字符。或者,当用户输入一定长度的字符段时,使用第二对称密钥对输入字符进行加密,此时得到的加密字符实际上为一个加密后的字符段,可能包括多个字符。
步骤406,将加密字符存储在输入队列中,并删除输入字符的原文。
具体地,将上一步骤中得到的加密字符存储在该终端内存中的输入队列中,并即时清除内存缓存中该输入字符的原文,可见输入字符的原文仅在内存缓存中出现很短时间,能够降低原文被盗取的风险。
步骤408,根据预设干扰规则在输入队列中插入干扰字符,得到加密队列。
其中,预设干扰规则可以是定期在该输入队列中插入干扰字符。
具体地,定期在该输入队列中插入干扰字符,得到加密队列,该加密队列包括加密字符以及插入在加密字符序列中的干扰字符。
进一步地,在接收到用户的输入字符时,在输入框中显示与输入字符对应的占位字符;其中,所述占位字符可以为“*”或“●”。
具体地,每当用户输入一个字符,在输入框中显示与用户的输入字符对应的占位字符,即不对外显示用户输入内容,防止界面截屏/录屏,或者外人偷窥到用户输入内容。
本实施例中,以上输入加密步骤通过在输入过程中对数据的缓存增加干扰机制,即在加密保护输入字符外还增加了干扰字符插入处理,即使加密字符本身被破解也由于干扰字符存在的随机性而无法得到真实的输入内容,避免了真实输入内容泄露。
本实施例中,获取待加密信息的步骤,包括:
从加密队列中删除干扰字符,得到输入队列。
根据第二对称密钥对输入队列进行解密,得到用户的输入字符序列,将输入字符序列设置为待加密信息。
其中,输入队列为一个加密字符串,根据第二对称密钥对输入队列中的各加密字符进行逐个解密,即逐字解密,可以得到输入字符序列,该输入字符序列为用户的输入字符按输入顺序组成的字符序列。
优选地,在得到第一加密信息时,即对上述待加密信息使用可配置保护策略进行处理之后,或者,在得到第二加密信息时,即对上述待加密信息使用第一对称密钥进行加密后,删除待加密信息,使得待加密信息仅能在存储器中瞬时存在,有效降低数据安全风险。
这里,通过对加密队列进行排除干扰和解密处理,得到待加密信息,待加密信息需要经过两层加密处理后,才可以发送给服务端,而且待加密信息的原文仅能在存储器中存在很短的时间,可降低数据被窃取的可能性,从而保证传输过程中的数据安全。
在一个实施例中,如图5所示,提供了一种加密方法,可以在上文图4的输入加密步骤之前,包括以下的运行环境检测步骤:
步骤502,对应用的运行环境进行检测。
步骤504,向服务端发送非对称加密密钥获取请求。
具体地,向服务端发送非对称加密密钥获取请求,并接收服务端返回的公钥和该公钥对应的加密算法。
步骤506,当检测到运行环境存在疑似攻击行为时,进入禁止输入状态,和/或,向应用发送预警通知。
其中,当终端检测到运行环境存在疑似攻击行为时,终端进入禁止输入状态,在禁止输入状态下,若软键盘已展示,用户输入无反应,或者,软键盘不展示,此时用户无法进行输入。
当检测到所述运行环境中存在截屏/录屏事件、调试事件、hook代码、dump内存文件中的至少一种时,判定所述运行环境存在疑似攻击行为。
具体地,终端为智能移动终端时,一般采用Android、IOS或WPhone系统,该加密方法具有反调试功能,可进行攻击检测与主动防御。
例如:Android系统下,通过context.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE),可禁止三方截屏。
IOS系统下,监听截屏、录屏事件,当发生截屏/录屏时,向上通知,并清空输入框中内容。
WPhone系统下,通过ApplicationView.GetForCurrentView().IsScreenCaptureEnabled=false禁止页面截屏。
界面录屏/截屏拦截:Android系统下,通过context.getWindow().
防止调试:初始化通过Debug Blocker防止diamagnetic调试。
拒绝debug模式下运行,软键盘不弹起,并向上报通知。
判断运行时是否包含hook框架,发现则软键盘不弹起,并向上报通知
Android运行时对classloader加载的安全键盘组件类进行hash,发现则软键盘不弹起,并向上报通知。
每5s定期扫描调试端口,发现调试行为则上报通知。
每5s定期扫描判断TracerPid,发现处于调试则上报通知。
每次执行核心加密方法,执行获取执行堆栈信息,若不符合预期步骤则上报错误。
本实施例中的加密方法可以主动防止录屏、内存调试、hook攻击等攻击手段,保障了输入过程中的数据安全。
步骤508,当获取到服务端返回的公钥,且未检测到运行环境存在疑似攻击行为时,进入输入状态。
本实施例中,仅当终端获取到用于加密的公钥,且运行环境不存在疑似攻击行为时,才进入输入状态,避免了用户在攻击行为发生时进行输入的情况,从而进一步降低了风险,保障输入安全。
具体实施时,在进入输入状态前,用户可以在终端上设置键盘样式。在处于输入状态时,按照键盘样式显示软键盘。
这里,所述键盘样式可以为乱序键盘和/或点击放大效果键盘,乱序键盘可以进一步避免他人偷窥窃取输入内容,点击放大效果键盘可改善用户输入体验。
具体地,在处于输入状态时,可以当终端检测到用户点击输入框时,按照键盘样式显示软键盘;也可以无需用户点击输入框,而是一进入输入状态就按照键盘样式显示软键盘。
在一个实施例中,如图6所示,提供了一种加密方法,在上文图4中的输入加密步骤之后,还包括以下输入内容验证步骤:
步骤602,从加密队列中删除干扰字符,得到输入队列。
步骤604,根据第二对称密钥对输入队列进行解密,得到输入字符序列。
步骤606,验证输入字符序列是否符合预设的输入要求。
这里,输入字符序列即用户的输入内容,所述输入要求可以为终端上应用输入内容对应的正则表达式。
具体地,根据正则表达式对输入字符序列进行验证,判断输入内容是否符合正则表达式要求的长度或字符类型,若是,生成表征正确的第一提示信息;若否,生成表征错误的第二提示信息。
本实施例中,在接收到提交信息指令前,可以解密该加密队列,得到用户的输入内容,从而随时验证用户的输入内容是否符合预设的输入要求,保证用户输入内容的规范性。
具体实施时,在上文的获取待加密信息的步骤之前,该加密方法还包括以下步骤:
获取可配置保护策略,可配置保护策略为由用户设置的保护策略;其中,保护策略可以包括加密算法、摘要组合方法、前缀设置方法、后缀设置方法和数据拼接方法中的一种或多种。
具体地,用户可以在下达提交信息指令前,自定义设置可配置保护策略,即该层加密策略可以动态变化,增加了复杂度与安全性,该可配置保护策略可以存储在终端中,同时还可以发送给提供应用业务的服务端进行存储,由于后续的解密处理。
在一个实施例中,如图7所示,提供了一种加密方法,包括以下步骤:
步骤702,终端从服务端获取非对称加密密钥。
具体地,在终端上应用进入输入状态前,该终端向服务端发送非对称加密密钥获取请求,并接收上述服务端返回的非对称加密密钥中的公钥以及该公钥对应的加密算法。
此外,该终端还获取到该服务端的时间,并与该服务端进行时间同步。
步骤703,对终端的运行环境进行检测。当该终端检测到上述运行环境存在疑似攻击行为时,禁止该应用进入输入状态,并向该应用发送预警通知。
其中,疑似攻击行为可以是截屏/录屏事件或者调试事件。
步骤704,当该终端获取到服务端返回的公钥,且未检测到运行环境存在疑似攻击行为时,进入输入状态。
具体地,在进入输入状态前,用户可以设置键盘样式,终端接收用户设置的键盘样式,当用户输入时,按照设置好的键盘样式显示软键盘。
步骤706,对用户的输入内容进行加密处理,得到加密队列。
具体地,当该终端检测到用户点击输入框时,弹出软键盘,并生成临时随机对称密钥S1。
每当用户输入一个字符,在输入框中显示与用户的输入字符对应的占位字符。同时,使用该临时随机对称密钥S1对输入字符加密,将得到的加密字符存储在该终端内存中的输入队列中,并即时清除内存缓存中该输入字符的原文。
定期在该输入队列中插入干扰字符,得到加密队列。
通过步骤706对输入内容进行加密处理,使得输入字符的原文仅在内存缓存中出现很短时间,而保存在内存中的是已经加密和插入干扰字符的加密内容,可以有效防止侵入者攻击内存盗取输入字符原文,增强安全性。
步骤708,获取用户自定义的可配置保护策略。
这里,该可配置保护策略可以包括加密算法、摘要组合方法、前缀设置方法、后缀设置方法和数据拼接方法等一种或多种保护方法。
步骤710,解密该加密队列,得到用户的输入内容,验证用户的输入内容是否符合预设的输入要求。
其中,上述输入要求可以为终端上应用输入内容对应的正则表达式,用于限制输入内容的长度或字符类型。
具体地,从加密队列中删除干扰字符,得到输入队列。根据临时随机对称密钥S1对输入队列中的各加密字符逐个解密,得到输入字符序列,验证输入字符序列是否符合预设的输入要求。若是,生成表征正确的第一提示信息。若否,生成表征错误的第二提示信息。这里,输入字符序列即用户的输入内容。
步骤712,对加密队列进行解密,将得到的输入内容设为待加密信息,并生成临时随机对称密钥S2和对应的时间戳。
具体地,终端接收到用户的信息提交指令时,同时从加密队列中删除干扰字符,并根据临时随机对称密钥S1进行解密,将得到的输入字符序列设为待加密信息。
步骤714,根据该可配置保护策略对待加密信息进行处理,得到第一加密信息;使用临时随机对称密钥S2分别对该第一加密信息和时间戳进行加密,得到第二加密信息和加密时间戳信息。
步骤716,使用公钥对临时随机对称密钥S2进行加密,得到加密密钥信息。
步骤718,将该第二加密信息、加密时间戳信息和加密密钥信息组合在一起,得到待提交信息。
步骤720,将该待提交信息发送给服务端。
本实施例中提供了一种加密方法,该方法在输入内容的保护上使用了双层加密,先使用可配置保护策略对待加密信息进行内层加密,再在外层使用数字信封技术保护,多了一层加密处理,且该层加密策略可以动态变化,增加了复杂度与安全性;同时,该方法在输入过程中对数据的缓存增加干扰机制,即加密保护输入字符外还增加了插入干扰字符处理技术,进一步提高安全性;此外,该方法还能够对截屏/录屏、调试、hook等主要攻击手段进行主动防止,安全性好。
应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种加密装置,该装置包括:信息获取模块802、第一加密模块804、第二加密模块806、密钥加密模块808和加密信息模块810,其中:
信息获取模块802,用于获取待加密信息。
第一加密模块804,用于根据预设的可配置保护策略,对待加密信息进行处理,得到第一加密信息。
第二加密模块806,用于获取第一对称密钥,根据第一对称密钥对第一加密信息进行加密,得到第二加密信息。
密钥加密模块808,用于根据预存的公钥对第一对称密钥进行加密,得到加密密钥信息。
加密信息模块810,用于根据第二加密信息和加密密钥信息,得到第三加密信息。
在一个实施例中,该装置还包括:
时间戳获取模块,用于获取接收到信息提交指令时刻的时间戳。
时间戳加密模块,用于根据第一对称密钥对时间戳进行加密,得到加密时间戳信息。
待提交信息模块,用于根据第三加密信息和加密时间戳信息,得到待提交信息。
提交模块,用于将待提交信息发送给服务端。
在一个实施例中,该装置还包括:
密钥获取模块,用于获取第二对称密钥。
字符加密模块,用于在接收到用户的输入字符时,根据第二对称密钥对输入字符进行加密,得到加密字符。
队列加密模块,用于将加密字符存储在输入队列中,并删除输入字符的原文,并根据预设干扰规则在输入队列中插入干扰字符,得到加密队列。
在一个实施例中,该装置还包括:占位模块,用于在接收到用户的输入字符时,在输入框中显示与输入字符对应的占位字符。
本实施例中,上述信息获取模块包括:
队列解密单元,用于从加密队列中删除干扰字符,得到输入队列。
字符解密单元,用于根据第二对称密钥对输入队列进行解密,得到用户的输入字符序列,将输入字符序列设置为待加密信息。
该装置还包括:即时删除模块,用于在得到第一加密信息时,或者,在得到第二加密信息时,删除该待加密信息。
在一个实施例中,该装置还包括:
运行环境检测模块,用于对应用的运行环境进行检测。
禁止输入状态模块,用于当检测到运行环境存在疑似攻击行为时,进入禁止输入状态,和/或,向应用发送预警通知。
在一个实施例中,该装置还包括:
公钥获取模块,用于向服务端发送非对称加密密钥获取请求。
输入状态模块,用于当获取到服务端返回的公钥,且未检测到运行环境存在疑似攻击行为时,进入输入状态。
在一个实施例中,该装置还包括:
键盘设置模块,用于在进入输入状态前,设置键盘样式。
键盘显示模块,用于在处于输入状态时,按照键盘样式显示软键盘。
在一个实施例中,该装置还包括:时间同步模块,用于获取服务端的当前时间,根据服务端的当前时间,设置时间同步。
在一个实施例中,该装置还包括:
队列解密模块,用于从加密队列中删除干扰字符,得到输入队列。
字符解密模块,用于根据第二对称密钥对输入队列进行解密,得到输入字符序列。
验证模块,用于验证输入字符序列是否符合预设的输入要求。若是,生成表征正确的第一提示信息。若否,生成表征错误的第二提示信息。
在一个实施例中,该装置还包括:
可配置保护策略模块,用于获取可配置保护策略,可配置保护策略为由用户设置的保护策略。优选地,保护策略包括加密算法、摘要组合方法、前缀设置方法、后缀设置方法和数据拼接方法中的一种或多种。
关于加密装置的具体限定可以参见上文中对于加密方法的限定,在此不再赘述。上述加密装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图9所示,提供了一种解密方法,用于服务器上,该解密方法包括:
步骤902,接收终端提交的加密信息,将加密信息拆分为第二加密信息、加密密钥信息及加密时间戳信息。
具体地,在接收终端发送的加密信息之前,服务器可以接收终端发送的请求,该请求可以包括终端上应用的版本信息、可配置保护策略和/或非对称加密密钥获取请求等内容,服务器根据上述版本信息向终端发送非对称加密密钥中的公钥以及该公钥对应的加密算法,进一步地,服务器还返回给终端该服务器的时间,终端在接收到服务器的时间时,与该服务器调节到时间同步。这里,服务器用于运行上文中提及的服务端。
步骤904,采用与终端中预存的公钥对应的私钥对加密密钥信息进行解密,得到第一对称密钥。
步骤906,采用第一对称密钥对加密时间戳信息进行解密,得到时间戳。
步骤908,判断时间戳与当前时间之差是否超过预设时间阈值。
这里,当前时间指服务器的本地时间,预设时间阈值为实际应用时允许的最大时间误差值。
步骤910,当时间戳与当前时间之差超过预设时间阈值时,判定该加密信息为无效信息,并发送错误报告。
这里,无效信息指对服务器而言已失效的信息,错误报告可为表征错误的提示信息。
步骤912,当时间戳与当前时间之差未超过预设时间阈值时,采用第一对称密钥对第二加密信息进行解密,得到第一加密信息。
以上步骤先获取服务器的本地时戳,再通过将该本地时戳与终端发送的时间戳数据进行比对,当两个时间戳的时间差在允许的误差范围内时,进行后续数据处理,否则判定该加密信息已失效,向上返回表征错误的提示信息,从而校验接收数据的有效性,排除失效数据,提高服务器的后续处理效率。
步骤914,根据由终端获取的可配置保护策略,对第一加密信息进行处理,得到终端上应用的输入字符序列,也就是输入数据。
本实施例中,该解密方法能够在需要实现注册等保存数据功能时,对解密处理后得到的输入字符序列进行存储;当需要实现登录、验证身份信息等数据验证比对功能时,则将输入数据与服务器中前期存储数据进行对比,相同则返回正确,不相同则返回错误。在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储终端上应用对应的加解密算法、密钥、摘要算法及输入验证正则等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时,实现一种解密方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种加密方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取待加密信息;根据预设的可配置保护策略,对待加密信息进行处理,得到第一加密信息;获取第一对称密钥,根据第一对称密钥对第一加密信息进行加密,得到第二加密信息;根据预存的公钥对第一对称密钥进行加密,得到加密密钥信息;根据第二加密信息和加密密钥信息,得到第三加密信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取接收到信息提交指令时刻的时间戳;根据第一对称密钥对时间戳进行加密,得到加密时间戳信息;根据第三加密信息和加密时间戳信息,得到待提交信息;将待提交信息发送给服务端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在获取待加密信息的步骤之前,还包括:获取第二对称密钥;在接收到用户的输入字符时,根据第二对称密钥对输入字符进行加密,得到加密字符;将加密字符存储在输入队列中,并删除输入字符的原文;根据预设干扰规则在输入队列中插入干扰字符,得到加密队列;优选地,在接收到用户的输入字符时,在输入框中显示与输入字符对应的占位字符;获取待加密信息的步骤,包括:从加密队列中删除干扰字符,得到输入队列;根据第二对称密钥对输入队列进行解密,得到用户的输入字符序列,将输入字符序列设置为待加密信息;优选地,在得到第一加密信息时,或者,在得到第二加密信息时,删除待加密信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对应用的运行环境进行检测;当检测到运行环境存在疑似攻击行为时,进入禁止输入状态,和/或,向应用发送预警通知;优选地,方法还包括:向服务端发送非对称加密密钥获取请求;当获取到服务端返回的公钥,且未检测到运行环境存在疑似攻击行为时,进入输入状态;优选地,方法还包括:在进入输入状态前,设置键盘样式;在处于输入状态时,按照键盘样式显示软键盘;优选地,方法还包括:获取服务端的当前时间,根据服务端的当前时间,设置时间同步。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:从加密队列中删除干扰字符,得到输入队列;根据第二对称密钥对输入队列进行解密,得到输入字符序列;验证输入字符序列是否符合预设的输入要求;若是,生成表征正确的第一提示信息;若否,生成表征错误的第二提示信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取可配置保护策略,可配置保护策略为由用户设置的保护策略;优选地,保护策略包括加密算法、摘要组合方法、前缀设置方法、后缀设置方法和数据拼接方法中的一种或多种。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取待加密信息;根据预设的可配置保护策略,对待加密信息进行处理,得到第一加密信息;获取第一对称密钥,根据第一对称密钥对第一加密信息进行加密,得到第二加密信息;根据预存的公钥对第一对称密钥进行加密,得到加密密钥信息;根据第二加密信息和加密密钥信息,得到第三加密信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取接收到信息提交指令时刻的时间戳;根据第一对称密钥对时间戳进行加密,得到加密时间戳信息;根据第三加密信息和加密时间戳信息,得到待提交信息;将待提交信息发送给服务端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在获取待加密信息的步骤之前,还包括:获取第二对称密钥;在接收到用户的输入字符时,根据第二对称密钥对输入字符进行加密,得到加密字符;将加密字符存储在输入队列中,并删除输入字符的原文;根据预设干扰规则在输入队列中插入干扰字符,得到加密队列;优选地,在接收到用户的输入字符时,在输入框中显示与输入字符对应的占位字符;获取待加密信息的步骤,包括:从加密队列中删除干扰字符,得到输入队列;根据第二对称密钥对输入队列进行解密,得到用户的输入字符序列,将输入字符序列设置为待加密信息;优选地,在得到第一加密信息时,或者,在得到第二加密信息时,删除待加密信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对应用的运行环境进行检测;当检测到运行环境存在疑似攻击行为时,进入禁止输入状态,和/或,向应用发送预警通知;优选地,方法还包括:向服务端发送非对称加密密钥获取请求;当获取到服务端返回的公钥,且未检测到运行环境存在疑似攻击行为时,进入输入状态;优选地,方法还包括:在进入输入状态前,设置键盘样式;在处于输入状态时,按照键盘样式显示软键盘;优选地,方法还包括:获取服务端的当前时间,根据服务端的当前时间,设置时间同步。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从加密队列中删除干扰字符,得到输入队列;根据第二对称密钥对输入队列进行解密,得到输入字符序列;验证输入字符序列是否符合预设的输入要求;若是,生成表征正确的第一提示信息;若否,生成表征错误的第二提示信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取可配置保护策略,可配置保护策略为由用户设置的保护策略;优选地,保护策略包括加密算法、摘要组合方法、前缀设置方法、后缀设置方法和数据拼接方法中的一种或多种。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (13)
1.一种加密方法,其特征在于,所述方法应用于终端,所述方法包括:
获取第二对称密钥;
在接收到用户的输入字符时,根据所述第二对称密钥对所述输入字符进行加密,得到加密字符;
将所述加密字符存储在所述终端的内存中的输入队列中,并删除所述输入字符的原文;
根据预设干扰规则在所述输入队列中插入干扰字符,得到加密队列;
从所述加密队列中删除所述干扰字符,得到所述输入队列;
根据所述第二对称密钥对所述输入队列进行解密,得到用户的输入字符序列,将所述输入字符序列设置为待加密信息;
根据预设的可配置保护策略,对所述待加密信息进行处理,得到第一加密信息,所述可配置保护策略为由用户自定义设置的保护策略,所述保护策略包括加密算法、摘要组合方法、前缀设置方法、后缀设置方法和数据拼接方法中的一种或多种处理方法;
获取第一对称密钥,根据所述第一对称密钥对所述第一加密信息进行加密,得到第二加密信息;
根据预存的公钥对所述第一对称密钥进行加密,得到加密密钥信息;
根据所述第二加密信息和所述加密密钥信息,得到第三加密信息;
获取接收到信息提交指令时刻的时间戳;
根据所述第一对称密钥对所述时间戳进行加密,得到加密时间戳信息;
根据所述第三加密信息和所述加密时间戳信息,得到待提交信息;
将所述待提交信息发送给服务端。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到用户的输入字符时,在输入框中显示与所述输入字符对应的占位字符。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在得到所述第一加密信息时,或者,在得到所述第二加密信息时,删除所述待加密信息。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
对应用的运行环境进行检测;
当检测到所述运行环境存在疑似攻击行为时,进入禁止输入状态,和/或,向所述应用发送预警通知。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
向服务端发送非对称加密密钥获取请求;
当获取到所述服务端返回的公钥,且未检测到所述运行环境存在疑似攻击行为时,进入输入状态。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在进入所述输入状态前,设置键盘样式;
在处于所述输入状态时,按照所述键盘样式显示软键盘。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取所述服务端的当前时间,根据所述服务端的当前时间,设置时间同步。
8.根据权利要求2所述的方法,其特征在于,所述方法还包括:
从所述加密队列中删除所述干扰字符,得到所述输入队列;
根据所述第二对称密钥对所述输入队列进行解密,得到所述输入字符序列;
验证所述输入字符序列是否符合预设的输入要求;
若是,生成表征正确的第一提示信息;若否,生成表征错误的第二提示信息。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述可配置保护策略。
10.一种加密装置,其特征在于,所述装置应用于终端,所述装置包括:
密钥获取模块,用于获取第二对称密钥;
字符加密模块,用于在接收到用户的输入字符时,根据第二对称密钥对输入字符进行加密,得到加密字符;
队列加密模块,用于将加密字符存储在所述终端的内存中的输入队列中,并删除输入字符的原文,并根据预设干扰规则在输入队列中插入干扰字符,得到加密队列;
信息获取模块,用于获取待加密信息;
第一加密模块,用于根据预设的可配置保护策略,对所述待加密信息进行处理,得到第一加密信息,所述可配置保护策略为由用户自定义设置的保护策略,所述保护策略包括加密算法、摘要组合方法、前缀设置方法、后缀设置方法和数据拼接方法中的一种或多种处理方法;
第二加密模块,用于获取第一对称密钥,根据所述第一对称密钥对所述第一加密信息进行加密,得到第二加密信息;
密钥加密模块,用于根据预存的公钥对所述第一对称密钥进行加密,得到加密密钥信息;
加密信息模块,用于根据所述第二加密信息和所述加密密钥信息,得到第三加密信息;
时间戳获取模块,用于获取接收到信息提交指令时刻的时间戳;
时间戳加密模块,用于根据所述第一对称密钥对时间戳进行加密,得到加密时间戳信息;
待提交信息模块,用于根据所述第三加密信息和所述加密时间戳信息,得到待提交信息;
提交模块,用于将所述待提交信息发送给服务端;
其中,所述获取模块包括:
队列解密单元,用于从加密队列中删除干扰字符,得到输入队列;
字符解密单元,用于根据第二对称密钥对输入队列进行解密,得到用户的输入字符序列,将输入字符序列设置为待加密信息。
11.一种解密方法,用于服务器上,其特征在于,所述方法包括:
接收终端提交的加密信息,将所述加密信息拆分为第二加密信息、加密密钥信息及加密时间戳信息;
采用与终端中预存的公钥对应的私钥对所述加密密钥信息进行解密,得到第一对称密钥;
采用所述第一对称密钥对所述加密时间戳信息进行解密,得到时间戳;
当所述时间戳与当前时间之差超过预设时间阈值时,判定所述加密信息为无效信息,发送错误报告;
当所述时间戳与当前时间之差未超过预设时间阈值时,采用所述第一对称密钥对所述第二加密信息进行解密,得到第一加密信息;
根据由所述终端获取的可配置保护策略,对所述第一加密信息进行处理,得到所述终端上应用的输入字符序列,所述可配置保护策略为由用户自定义设置的保护策略,所述保护策略包括加密算法、摘要组合方法、前缀设置方法、后缀设置方法和数据拼接方法中的一种或多种处理方法;
其中,所述第一加密信息由所述终端根据预设的可配置保护策略对待加密信息进行处理得到,所述待加密信息由所述终端执行包括以下的步骤的得到:
获取第二对称密钥;
在接收到用户的输入字符时,根据所述第二对称密钥对所述输入字符进行加密,得到加密字符;
将所述加密字符存储在所述终端的内存中的输入队列中,并删除所述输入字符的原文;
根据预设干扰规则在所述输入队列中插入干扰字符,得到加密队列;
从所述加密队列中删除所述干扰字符,得到所述输入队列;
根据所述第二对称密钥对所述输入队列进行解密,得到用户的输入字符序列,将所述输入字符序列设置为所述待加密信息。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-9中任一项或权利要求11中所述方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911409116.XA CN111193740B (zh) | 2019-12-31 | 2019-12-31 | 加密方法、装置、解密方法、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911409116.XA CN111193740B (zh) | 2019-12-31 | 2019-12-31 | 加密方法、装置、解密方法、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111193740A CN111193740A (zh) | 2020-05-22 |
CN111193740B true CN111193740B (zh) | 2023-03-14 |
Family
ID=70710515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911409116.XA Active CN111193740B (zh) | 2019-12-31 | 2019-12-31 | 加密方法、装置、解密方法、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111193740B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112333204B (zh) * | 2020-11-29 | 2023-04-07 | 国网辽宁省电力有限公司电力科学研究院 | 基于tcp ip协议乱序特征码的5g网络传输保密装置 |
CN112800492B (zh) * | 2021-02-05 | 2024-12-20 | 联想(北京)有限公司 | 一种解密磁盘数据的控制方法及装置 |
CN115580418A (zh) * | 2021-07-02 | 2023-01-06 | 深圳Tcl新技术有限公司 | 一种信息获取方法、装置、计算机设备和存储介质 |
CN113836546B (zh) * | 2021-08-30 | 2024-02-13 | 广东浪潮智慧计算技术有限公司 | 一种密钥管理方法、装置、设备及存储介质 |
CN113783887B (zh) * | 2021-09-22 | 2023-07-18 | 广东九联科技股份有限公司 | 基于网络通信的远程控制方法、系统及存储介质 |
CN114040388B (zh) * | 2021-10-22 | 2022-08-16 | 四川水利职业技术学院 | 基于网络双工通信的数据安全传输方法及系统 |
CN115314313B (zh) * | 2022-08-15 | 2025-05-23 | 平安壹钱包电子商务有限公司 | 信息加密方法、装置、存储介质及计算机设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1719370A (zh) * | 2004-07-09 | 2006-01-11 | 中国民生银行股份有限公司 | 计算机键盘信息干扰实现密码保护的方法 |
CN101593254A (zh) * | 2008-05-26 | 2009-12-02 | 联想(北京)有限公司 | 一种笔记本电脑安全输入方法及系统 |
CN102065016A (zh) * | 2010-12-30 | 2011-05-18 | 中兴通讯股份有限公司 | 报文发送和接收方法及装置、报文处理方法及系统 |
CN103428221A (zh) * | 2013-08-26 | 2013-12-04 | 百度在线网络技术(北京)有限公司 | 对移动应用的安全登录方法、系统和装置 |
CN104463040A (zh) * | 2014-12-18 | 2015-03-25 | 恒宝股份有限公司 | 一种密码安全输入方法及系统 |
CN107844717A (zh) * | 2016-09-21 | 2018-03-27 | 中兴通讯股份有限公司 | 安全输入系统、方法及智能终端 |
CN108664804A (zh) * | 2018-05-22 | 2018-10-16 | 深圳乐信软件技术有限公司 | 一种信息的输入方法、装置、终端及存储介质 |
CN109951417A (zh) * | 2017-12-20 | 2019-06-28 | 深圳中电长城信息安全系统有限公司 | 一种身份认证的方法、系统及终端设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9811680B2 (en) * | 2015-06-04 | 2017-11-07 | Microsoft Technology Licensing, Llc | Secure storage and sharing of data by hybrid encryption using predefined schema |
CN105678165A (zh) * | 2016-01-29 | 2016-06-15 | 博雅网信(北京)科技有限公司 | 一种移动端的沙盒化键盘系统及其数据传输方法 |
CN110176987B (zh) * | 2016-02-02 | 2022-08-09 | 斑马智行网络(香港)有限公司 | 一种设备认证的方法、装置、设备和计算机存储介质 |
CN107070948A (zh) * | 2017-05-23 | 2017-08-18 | 广东工业大学 | 云存储中基于混合加密算法的签名与验证方法 |
-
2019
- 2019-12-31 CN CN201911409116.XA patent/CN111193740B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1719370A (zh) * | 2004-07-09 | 2006-01-11 | 中国民生银行股份有限公司 | 计算机键盘信息干扰实现密码保护的方法 |
CN101593254A (zh) * | 2008-05-26 | 2009-12-02 | 联想(北京)有限公司 | 一种笔记本电脑安全输入方法及系统 |
CN102065016A (zh) * | 2010-12-30 | 2011-05-18 | 中兴通讯股份有限公司 | 报文发送和接收方法及装置、报文处理方法及系统 |
CN103428221A (zh) * | 2013-08-26 | 2013-12-04 | 百度在线网络技术(北京)有限公司 | 对移动应用的安全登录方法、系统和装置 |
CN104463040A (zh) * | 2014-12-18 | 2015-03-25 | 恒宝股份有限公司 | 一种密码安全输入方法及系统 |
CN107844717A (zh) * | 2016-09-21 | 2018-03-27 | 中兴通讯股份有限公司 | 安全输入系统、方法及智能终端 |
CN109951417A (zh) * | 2017-12-20 | 2019-06-28 | 深圳中电长城信息安全系统有限公司 | 一种身份认证的方法、系统及终端设备 |
CN108664804A (zh) * | 2018-05-22 | 2018-10-16 | 深圳乐信软件技术有限公司 | 一种信息的输入方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111193740A (zh) | 2020-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111193740B (zh) | 加密方法、装置、解密方法、计算机设备和存储介质 | |
US11675880B2 (en) | Securing webpages, webapps and applications | |
CN108810894B (zh) | 终端授权方法、装置、计算机设备和存储介质 | |
US9054865B2 (en) | Cryptographic system and methodology for securing software cryptography | |
US12254085B2 (en) | Software integrity checking systems and methods | |
EP4195583A1 (en) | Data encryption method and apparatus, data decryption method and apparatus, terminal, and storage medium | |
CN110401538B (zh) | 数据加密方法、系统以及终端 | |
CN112257086B (zh) | 一种用户隐私数据保护方法及电子设备 | |
US20160132681A1 (en) | Method for performing a secure boot of a computing system and computing system | |
CN112612922A (zh) | 一种手机号码的安全存储方法、装置、计算机设备和介质 | |
WO2019134276A1 (zh) | 一种保护网页代码的方法、存储介质、电子设备和系统 | |
CN110753257A (zh) | 数据显示方法、显示终端、服务器、显示系统和存储介质 | |
CN107918739B (zh) | 一种数据的保护方法、装置及存储介质 | |
US20240419824A1 (en) | Secure capture of a data item at a client device | |
CN108521419B (zh) | 监察系统文件的访问处理方法、装置和计算机设备 | |
CN108259490B (zh) | 一种客户端校验方法及装置 | |
CN116881936A (zh) | 可信计算方法及相关设备 | |
CN114244519A (zh) | 密码的校验方法、装置、计算机设备和存储介质 | |
CN114884710B (zh) | 页面数据的验证方法及其装置、电子设备及存储介质 | |
KR101906484B1 (ko) | 어플리케이션 보안 방법 및 이를 수행하기 위한 시스템 | |
CN118260774B (zh) | 服务器的启动方法及装置、存储介质及电子设备 | |
CN111740980B (zh) | 登录应用的方法、装置、移动终端和存储介质 | |
US20170054693A1 (en) | Integrity verification system using remote code execution and method thereof | |
KR101943166B1 (ko) | 동적모듈, 동적모듈의 인증 및 무결성 보장방법 | |
CN113094694A (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 |