CN112446042A - 加密方法和装置、解密方法和装置、移动终端和存储介质 - Google Patents
加密方法和装置、解密方法和装置、移动终端和存储介质 Download PDFInfo
- Publication number
- CN112446042A CN112446042A CN202011462909.0A CN202011462909A CN112446042A CN 112446042 A CN112446042 A CN 112446042A CN 202011462909 A CN202011462909 A CN 202011462909A CN 112446042 A CN112446042 A CN 112446042A
- Authority
- CN
- China
- Prior art keywords
- encryption
- decryption
- execution environment
- driver
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000004590 computer program Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 abstract description 11
- 238000002955 isolation Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例提供了一种加密方法和装置、解密方法和装置、移动终端和存储介质,该加密方法应用于移动终端,在对数据进行加密时,首先从移动终端的通用执行环境获取待加密的明文数据,并通过可信执行环境中的加解密驱动程序将明文数据发送至加解密芯片,最后通过加解密芯片对明文数据进行加密,获得加密后的密文数据。本申请实施例在移动终端中设置一个单独的加解密芯片,能够对待加密的明文数据进行加密,保护数据安全,同时,利用可信执行环境的强隔离性,将加解密芯片的加解密驱动程序置于可信执行环境中,能够防止通用执行环境中的恶意程序对加解密驱动程序进行攻击,充分保障移动终端中的数据加密过程的安全。
Description
技术领域
本申请涉及应用安全技术领域,具体地,涉及一种加密方法和装置、解密方法和装置、移动终端和存储介质。
背景技术
随着移动互联网技术的发展和普及,人们对移动智能终端的依赖性快速增强,移动终端的应用软件也越来越多,且移动智能终端设备承载了越来越多的计算任务,例如支付、身份验证等。移动智能终端中也存储了大量的用户信息,包括用户的个人隐私以及商业秘密等。
因此,为了避免用户的个人隐私以及商业秘密等被窃取,需要对移动智能终端中的敏感数据进行加密。
发明内容
本申请实施例中提供了一种软件可信启动方法、装置、移动终端和存储介质,用于对移动智能终端中的敏感数据进行加密,以保障移动终端的信息安全。
根据本申请实施例的第一个方面,提供了一种加密方法,应用于移动终端,所述移动终端包括可信执行环境和通用执行环境,所述移动终端还包括加解密芯片及所述加解密芯片的加解密驱动程序,所述方法包括:
从所述通用执行环境获取待加密的明文数据;
通过加解密驱动程序将所述明文数据发送至所述加解密芯片,其中,所述加解密驱动程序设置于所述可信执行环境;
通过所述加解密芯片对所述明文数据进行加密,获得加密后的密文数据。
在一种可选的实施方式中,所述通用执行环境包括客户端接口,所述从所述通用执行环境获取待加密的明文数据,包括:
通过所述客户端接口获取应用程序提供的待加密的明文数据,其中,所述应用程序安装于所述通用执行环境。
在一种可选的实施方式中,所述可信执行环境包括可信应用接口,所述通过加解密驱动程序将所述明文数据发送至所述加解密芯片,包括:
所述可信应用接口通过共享内存的方式从所述客户端接口获取所述待加密的明文数据,并通过所述加解密驱动程序将所述明文数据发送给所述加解密芯片。
在一种可选的实施方式中,在获得加密后的密文数据之后,所述方法包括:
所述可信应用接口将所述密文数据返回至所述客户端接口;
所述应用程序通过所述客户端接口获取所述密文数据。
在一种可选的实施方式中,所述移动终端与调制解调器通信连接,所述通用执行环境包括所述调制解调器的外部通用驱动程序,所述从所述通用执行环境获取待加密的明文数据,还包括:
通过所述外部通用驱动程序获取所述应用程序提供的待加密的明文数据,其中,所述应用程序安装于所述通用执行环境。
在一种可选的实施方式中,所述可信执行环境包括调制解调器的内部可信驱动程序,所述通过加解密驱动程序将所述明文数据发送至所述加解密芯片,还包括:
所述内部可信驱动程序通过共享内存的方式从所述外部通用驱动程序获取所述待加密的明文数据,并通过所述加解密驱动程序将所述明文数据发送给所述加解密芯片。
在一种可选的实施方式中,在获得加密后的密文数据之后,所述方法还包括:
所述内部可信驱动程序将所述加密后的密文数据发送给所述调制解调器。
根据本申请实施例的第二个方面,提供了一种解密方法,应用于移动终端,所述移动终端包括可信执行环境和通用执行环境,所述移动终端还包括加解密芯片及所述加解密芯片的加解密驱动程序,所述方法包括:
获取待解密的密文数据;
通过加解密驱动程序将所述密文数据发送至所述加解密芯片,其中,所述加解密芯片设置于所述可信执行环境;
通过所述加解密芯片对所述密文数据进行解密,获得解密后的明文数据。
在一种可选的实施方式中,所述通用执行环境包括客户端接口,所述获取待解密的密文数据,包括:
通过所述客户端接口获取应用程序提供的待解密的密文数据,其中,所述应用程序安装于所述通用执行环境。
在一种可选的实施方式中,所述可信执行环境包括可信应用接口,所述通过加解密驱动程序将所述密文数据发送至所述加解密芯片,包括:
所述可信应用接口通过共享内存的方式从所述客户端接口获取所述待解密的密文数据,并通过所述加解密驱动程序将所述密文数据发送给所述加解密芯片。
在一种可选的实施方式中,在获得解密后的明文数据之后,所述方法包括:
所述可信应用接口将所述明文数据返回至所述客户端接口;
所述通用执行环境中的应用程序通过所述客户端接口获取所述明文数据。
在一种可选的实施方式中,所述移动终端与调制解调器通信连接,所述可信执行环境包括调制解调器的内部可信驱动程序,所述获取待解密的密文数据,还包括:
通过所述可信执行环境中的所述内部可信驱动程序从所述调制解调器中接收待解密的密文数据。
在一种可选的实施方式中,所述通过加解密驱动程序将所述密文数据发送至所述加解密芯片,还包括:
所述内部可信驱动程序通过所述加解密驱动程序将所述密文数据发送给所述加解密芯片。
在一种可选的实施方式中,所述通用执行环境包括调制解调器的外部通用驱动程序,在获得解密后的明文数据之后,所述方法包括:
所述内部可信驱动程序将解密后的明文数据发送至所述外部通用驱动程序;
所述外部通用驱动程序将所述明文数据返回至所述通用执行程序中的应用程序。
根据本申请实施例的第三个方面,提供了一种加密装置,应用于移动终端,所述移动终端包括可信执行环境和通用执行环境,所述移动终端还包括加解密芯片及所述加解密芯片的加解密驱动程序,所述装置包括:
明文数据获取模块,用于从所述通用执行环境获取待加密的明文数据;
明文数据传输模块,用于通过加解密驱动程序将所述明文数据发送至所述加解密芯片,其中,所述加解密芯片设置于所述可信执行环境;
加密模块,用于通过所述加解密芯片对所述明文数据进行加密,获得加密后的密文数据。
根据本申请实施例的第四个方面,提供了一种解密装置,应用于移动终端,所述移动终端包括可信执行环境和通用执行环境,所述移动终端还包括加解密芯片及所述加解密芯片的加解密驱动程序,所述装置包括:
密文数据获取模块,用于获取待解密的密文数据;
密文数据传输模块,用于通过加解密驱动程序将所述密文数据发送至所述加解密芯片,其中,所述加解密芯片设置于所述可信执行环境;
解密模块,用于通过所述加解密芯片对所述密文数据进行解密,获得解密后的明文数据。
根据本申请实施例的第五个方面,提供了一种移动终端,包括:处理器、存储器、总线、加解密芯片和加解密驱动程序,其中,所述加解密驱动程序设置于所述移动终端的可信执行环境中,所述加解密芯片用于对数据进行加密或解密;
所述存储器存储有所述处理器可执行的机器可读指令,当所述移动终端运行时,所述处理器与所述存储器之间通过所述总线通信,所述机器可读指令被所述处理器执行时执行上述的加密方法或解密方法。
根据本申请实施例的第六个方面,提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的加密方法或解密方法。
本申请实施例提供了一种加密方法和装置、解密方法和装置、移动终端和存储介质,该加密方法应用于移动终端,在对数据进行加密时,首先从移动终端的通用执行环境获取待加密的明文数据,并通过可信执行环境中的加解密驱动程序将明文数据发送至加解密芯片,最后通过加解密芯片对明文数据进行加密,获得加密后的密文数据。本申请实施例在移动终端中设置一个单独的加解密芯片,能够对待加密的明文数据进行加密,保护数据安全,同时,利用可信执行环境的强隔离性,将加解密芯片的加解密驱动程序置于可信执行环境中,能够防止通用执行环境中的恶意程序对加解密驱动程序进行攻击,充分保障移动终端中的数据加密过程的安全。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的移动终端的架构示意图;
图2为本申请实施例提供加密方法的流程图之一;
图3为本申请实施例提供的加密方法的流程图之二;
图4为本申请实施例提供的加密方法的流程图之三;
图5为本申请实施例提供的解密方法的流程图;
图6为本申请实施例提供的加密装置的功能模块图;
图7为本申请实施例提供的解密装置的功能模块图;
图8为本申请实施例提供的移动终端的功能示意图。
图标:10-移动终端;11-处理器;12-存储器;13-总线;110-加密装置;1101-明文数据获取模块;1102-明文数据传输模块;1103-加密模块;210-解密装置;2101-密文数据获取模块;2102-密文数据传输模块;2103-解密模块。
具体实施方式
在实现本申请的过程中,发明人发现,随着移动互联网技术的快速发展,移动智能终端设备的应用程序已从传统的通信功能延伸到移动办公、移动支付等高安全、高敏感的应用领域。移动终端需要处理越来越多的商业秘密和个人隐私等敏感信息,如公司的商业文件、银行账户服务、个人购物订单等。
移动终端上可安装的应用程序的数量和种类越来越多,若用户下载并安装了一些恶意的应用程序,在启动恶意的应用程序后,恶意的应用程序可能会窃取用户的隐私数据。
若能对移动终端的各项数据进行加密,即使恶意的应用程序拦截了数据,也无法对数据进行解密,从而可以保护用户的个人隐私。
针对上述问题,本申请实施例提供了一种加密方法和装置、解密方法和装置、移动终端和存储介质,该加密方法应用于移动终端,在对数据进行加密时,首先从移动终端的通用执行环境获取待加密的明文数据,并通过可信执行环境中的加解密驱动程序将明文数据发送至加解密芯片,最后通过加解密芯片对明文数据进行加密,获得加密后的密文数据。本申请实施例在移动终端中设置一个单独的加解密芯片,能够对待加密的明文数据进行加密,保护数据安全,同时,利用可信执行环境的强隔离性,将加解密芯片的加解密驱动程序置于可信执行环境中,能够防止通用执行环境中的恶意程序对加解密驱动程序进行攻击,充分保障移动终端中的数据加密过程的安全。
本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参照图1,图1为本申请实施例提供的移动终端的架构示意图。在本实施例中,移动终端10包括可信执行环境TEE和通用执行环境REE。
移动终端10基于硬件提供的安全服务将移动终端10的系统划分为两个独立并相互隔离的执行环境,分别为通用执行环境REE(Rich Execution Environment)和可信执行环境TEE(Trusted Execution Environment)。
TEE是一种用于创建强隔离的可信任的执行环境的硬件安全机制,被广泛应用于安全身份验证(如人脸识别,指纹解锁等)、安全支付等安全敏感型应用场景中。该安全机制从硬件级别(如CPU层)提供隔离环境创建、安全检查、远程可信证明等基础安全服务。REE和TEE分别运行于两个不同的模式,TEE通常运行于最高安全级别、最高特权级模式。而REE则运行在安全级别、特权级低于TEE的普通模式。相应地,移动终端10中的安全敏感的计算任务被部署到TEE中,非安全敏感的普通计算任务则保留在REE中执行。
因此,基于可信执行环境的安全、隔离的特性,可直接将加解密方法部署到可信执行环境中以保证密钥以及加解密运算的安全。
如图1所示,本申请实施例提供的移动终端10还包括专用的加解密芯片(Encrypted Chip,EC),用于执行加解密操作,以实现加解密任务与系统厂商和应用厂商的解耦合。加解密芯片包括有多种不同密级强度的算法种类,用户可以通过指定加密芯片上运行的加解密算法种类来控制密级强度,使加密方案具有更高的灵活性,同时达到安全和性能平衡,以此满足移动终端10数据安全的多样性和全面性。
除此之外,将加解密芯片的加解密驱动程序置于安全性更高的可信执行环境TEE中,可以防止不可信的通用执行环境REE中的恶意程序对加解密芯片的加解密驱动程序(ECDriver)进行攻击,进一步增强安全性。
请继续参照图1,移动终端10的可信执行环境TEE中还包括用于访问加解密驱动程序的可信应用接口EC TA,以及移动终端10的通用执行环境REE中包括有用于与可信应用接口EC TA通信的客户端接口EC CA。
通用执行环境REE中包含上层应用程序及服务,以及原有的TCP/IP网络协议栈、RNIC网卡。通用执行环境REE中的应用程序可以通过调用客户端接口EC CA实现对数据的加解密。
移动终端10通过加解密芯片和加解密驱动程序即可实现对数据的加密和加密。下面结合附图对本申请实施例提供的加密方法进行进一步说明。
请参照图2,图2为本申请实施例提供加密方法的流程图之一。在本实施例中,加密方法应用于图1中的移动终端10,移动终端10包括可信执行环境和通用执行环境,移动终端10还包括加解密芯片及加解密芯片的加解密驱动程序,加密方法包括:
步骤S11,从通用执行环境获取待加密的明文数据。
步骤S12,通过加解密驱动程序将明文数据发送至加解密芯片。
其中,加解密驱动程序设置于可信执行环境。
步骤S13,通过加解密芯片对明文数据进行加密,获得加密后的密文数据。
在上述步骤中,移动终端10内设置一个单独的加解密芯片,能够对待加密的明文数据进行加密,保护数据安全,同时,利用可信执行环境的强隔离性,将加解密芯片的加解密驱动程序置于可信执行环境中,能够防止通用执行环境中的恶意程序对加解密驱动程序进行攻击,充分保障移动终端中的数据加密过程的安全。
进一步地,在本实施例中,加密方法包括由应用程序主动发起的加密方案(即主动显式加密方案),在由应用程序主动发起的加密方案中,步骤S11,从通用执行环境获取待加密的明文数据,包括:
通过客户端接口获取应用程序提供的待加密的明文数据。其中,应用程序安装于通用执行环境。
在上述步骤中,移动终端10的通用执行环境REE中包括上层应用程序和服务以及用于访问上层应用程序的客户端接口EC CA,通用执行环境REE中的应用程序通过调用客户端接口EC CA可以为通用执行环境REE提供待加密的明文数据。
进一步地,在由应用程序主动发起的加密方案中,步骤S12,通过加解密驱动程序将明文数据发送至加解密芯片,包括:
可信应用接口通过共享内存的方式从客户端接口获取待加密的明文数据,并通过加解密驱动程序将所述明文数据发送给加解密芯片。
请结合参照图1,在图1中,通用执行环境REE的客户端接口EC CA与可信执行环境TEE中的可信应用接口EC TA连接,在前述子步骤S111中,客户端接口能够获取到应用程序提供的待加密的明文数据,为了将待加密的明文数据发送给加解密芯片进行加密,因此,可信应用接口首先需要通过共享内存的方式从客户端接口获取待加密的明文数据,此时明文数据已被传输至可信执行环境TEE中。由于可信应用接口EC TA能够访问加解密驱动程序,因此,在可信应用接口获取到明文数据之后,可以通过加解密驱动程序将待加密的明文数据发送至加解密芯片,并通过加解密芯片对明文数据进行加密,获得加密后的密文数据。
进一步地,请参照图3,图3为本申请实施例提供的加密方法的流程图之二。在由应用程序主动发起的加密方案中,在步骤S13(即获得加密后的密文数据)之后,加密方法还包括:
步骤S14,可信应用接口将密文数据返回至客户端接口。
步骤S15,应用程序通过客户端接口获取密文数据。
在本实施例中,由于是应用程序主动发起的加密方案,因此加密后的密文数据还需要返回至应用程序。在返回应用程序的过程中,首先是可信应用接口通过加解密驱动程序从加解密芯片获取加密后的密文数据,并将密文数据发送给与其通信连接的客户端接口,即可将加密后的密文数据从可信执行环境传输至通用执行环境。应用程序再通过客户端接口获取相应的密文数据。
通过上述步骤,即可实现一次由应用程序主动发起的加密方案,在本实施例中,应用程序主动调用加解密芯片的加解密计算服务,且可以灵活选择加解密芯片中的不同密级强度的加解密算法,以保障应用程序的数据安全。在加密过程中,待加密的明文数据由应用程序提供,加密后获得的密文数据也需要返回至应用程序。
可选地,在本实施例中,请继续参照图1,在图1中,移动终端10还与调制解调器Modem通信连接,用于通过调制解调器外发数据。为了防止用户的敏感数据以明文的方式流出,需要切断通用执行环境REE与调制解调器之间的直接通信,在将数据传输至调制解调器之前,还需要对数据进行加密。因此,本实施例提供的加密方法除了由主动程序主动发起的加密方案之外,还包括上层应用程序透明的网络数据隐式加密方案(即透明隐式加密方案)。
移动终端10的通用执行环境中还包括有TCP/IP网络协议栈以及RNIC网卡。调制解调器的驱动程序(Modem Driver,DC)被拆分为两部分,一部分为与通用执行环境REE中的RNIC网卡进行数据交互的调制解调器的外部通用驱动程序(MD CA),另一部分则为与调制解调器进行数据交互的调制解调器的内部可信驱动程序(MD TA),其中,调制解调器的外部通用驱动程序(MD CA)被设置于通用执行环境REE中,而调制解调器的内部可信驱动程序(MD TA)则被放置于可信执行环境TEE中,MD CA与MD TA直接可以互相通信。
在透明隐式加密方案中,步骤S11,从通用执行环境获取待加密的明文数据,还可以包括:
通过外部通用驱动程序获取应用程序提供的待加密的明文数据。其中,应用程序安装于通用执行环境。
进一步地,在透明隐式加密方案中,步骤S12,通过加解密驱动程序将明文数据发送至加解密芯片,还包括:
内部可信驱动程序通过共享内存的方式从外部通用驱动程序获取待加密的明文数据,并通过加解密驱动程序将明文数据发送给加解密芯片。
在上述步骤中,为了防止明文数据直接流出移动终端10,因此需要切断通用执行环境和调制解调器之间的通信,将通用执行环境获得的待加密的明文数据发送至加解密芯片进行加密后再发送给调制解调器。在将明文数据发送给加解密芯片的过程中,由于加解密驱动程序设置于可信执行环境中,因此,可信执行环境中的内部可信驱动程序(MD TA)首先需要通过共享内存的方式从外部通用驱动程序获取待加密的明文数据,再将待加密的明文数据通过加解密驱动程序发送给加解密芯片。
进一步地,请参照图4,图4为本申请实施例提供的加密方法的流程图之三。透明隐式加密方案中,在步骤S13获得加密后的密文数据之后,加密方法还包括:
步骤S16,内部可信驱动程序将加密后的密文数据发送给调制解调器。
在上述步骤中,在加解密芯片对待加密的明文数据加密之后,获得密文数据,内部可信驱动程序通过加解密驱动程序从加解密芯片获取该密文数据,并将密文数据发送给调制解调器,即可实现数据的外发,由于数据经特定的加解密芯片加密后再发给调制解调器,调制解调器支持对数据的合法性进行鉴别,只放行密态数据,可以避免在数据传输过程中,数据被截取导致隐私泄露等问题,以满足某些特殊部门的数据防护要求。
综上所述,本申请实施例提供了一种加密方法,加密方法包括主动显式加密方案和透明隐式加密方案。应用程序可以选择主动调用加解密芯片的加解密计算服务,以及灵活选择加解密芯片中的不同加解密算法。而对于安全性要求不高的其他应用程序,可以直接使用隐式加解密方案,在获得密文数据之后,直接通过调制解调器将密文数据外发。本申请实施例通过改变调制解调器的部署方式,将调制解调器的数据通路的使用权交给可信执行环境控制,使通用执行环境失去对调制解调器数据通路的使用能力,通用执行环境只能将数据交由可信执行环境进行转发,保证了可信执行环境能够获得全局网络数据,构建唯一数据通路,彻底阻断未经加密的网络数据流出移动终端。
同时,本申请实施例将加解密芯片以及相应的驱动放置于通用执行环境之外,交由可信执行环境进行管控,同时加解密过程位于通用执行环境复杂多样的应用程序的底层,保证数据不会绕开加解密组件,同时与上层复杂的系统与业务解耦合,更具灵活性和适用性,能够同保证敏感数据不会以明文形式进入公共网络环境,兼具良好的普适性,通用性和可移植性。
另外,对于主动调用加解密计算服务的应用程序,调制解调器的内部可信驱动程序(MD TA)可以提供灵活的安全策略,一种是MD TA继续对已加密的数据进行再次加密后传输至调制解调器进行发送,另一种则出于性能的考虑,MD TA直接将密文数据传输至调制解调器转发出去而不进行二次加密。
请参照图5,图5为本申请实施例提供的解密方法的流程图。在本实施例中,应用于移动终端10,移动终端10包括可信执行环境和通用执行环境,移动终端10还包括加解密芯片及加解密芯片的加解密驱动程序,解密方法包括:
步骤S21,获取待解密的密文数据;
步骤S22,通过加解密驱动程序将密文数据发送至加解密芯片。其中,加解密芯片设置于可信执行环境。
步骤S23,通过加解密芯片对密文数据进行解密,获得解密后的明文数据。
可选地,在本实施例中,解密方法包括由应用程序发起的主动解密方法(即主动显式解密方案)。在主动显式解密方案中,步骤S21,包括:
通过客户端接口获取应用程序提供的待解密的密文数据,其中,应用程序安装于通用执行环境。
步骤S22,包括:可信应用接口通过共享内存的方式从客户端接口获取待解密的密文数据,并通过加解密驱动程序将密文数据发送给加解密芯片。
在上述步骤中,待解密的密文数据在发送至加解密芯片解密后,获得明文数据,在此之后,解密方法还包括:
可信应用接口将明文数据返回至客户端接口;通用执行环境中的应用程序通过客户端接口获取明文数据。
可选地,在本实施例中,解密方法还包括对上层应用程序透明的网络数据隐式解密方案(即透明隐式解密方案)。在透明隐式解密方案中,步骤S21还包括:
通过可信执行环境中的内部可信驱动程序从调制解调器中接收待解密的密文数据。
步骤S22还包括:内部可信驱动程序通过加解密驱动程序将密文数据发送给加解密芯片。
上述步骤主要用于对通过调制解调器接收到的密文数据进行解密,内部可信驱动程序直接从调制解调器获得密文数据,并将密文数据通过加解密驱动程序发送至加解密芯片进行解密,获得明文数据。
在获得明文数据之后,解密方法还包括:
内部可信驱动程序将解密后的明文数据发送至外部通用驱动程序;外部通用驱动程序将明文数据返回至通用执行程序中的应用程序。
本申请实施例提供的解密方法与本申请实施例提供的加密方法一一对应,解密方法的具体实施过程在此不再赘述。
可选地,请参照图6,图6为本申请实施例提供的加密装置110的功能模块图,在本实施例中,加密装置应用于移动终端110,移动终端110包括可信执行环境和通用执行环境,移动终端110还包括加解密芯片及加解密芯片的加解密驱动程序,所述装置包括:
明文数据获取模块1101,用于从通用执行环境获取待加密的明文数据;
明文数据传输模块1102,用于通过加解密驱动程序将明文数据发送至加解密芯片,其中,加解密芯片设置于可信执行环境;
加密模块1103,用于通过加解密芯片对明文数据进行加密,获得加密后的密文数据。
可选地,请参照图7,图7为本申请实施例提供的解密装置210的功能模块图,在本实施例中,解密装置210应用于移动终端10,移动终端10包括可信执行环境和通用执行环境,移动终端10还包括加解密芯片及加解密芯片的加解密驱动程序,解密装置包括:
密文数据获取模块2101,用于获取待解密的密文数据;
密文数据传输模块2102,用于通过加解密驱动程序将密文数据发送至加解密芯片,其中,加解密芯片设置于可信执行环境;
解密模块2103,用于通过加解密芯片对密文数据进行解密,获得解密后的明文数据。
本申请实施例还提供了一种移动终端,请参照图8,图8为本申请实施例提供的移动终端10的功能示意图。在本实施例中,移动终端10包括:处理器11、存储器12、总线13、加解密芯片和加解密驱动程序,其中,加解密驱动程序设置于移动终端10的可信执行环境TEE中,加解密芯片用于对数据进行加密或解密。
存储器12存储有处理器11可执行的机器可读指令,当移动终端10运行时,处理器11与存储器12之间通过总线13通信,机器可读指令被处理器11执行时执行上述实施例提供的加密方法或解密方法。
本申请实施例还提供了一种存储介质,存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的加密方法或解密方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (18)
1.一种加密方法,其特征在于,应用于移动终端,所述移动终端包括可信执行环境和通用执行环境,所述移动终端还包括加解密芯片及所述加解密芯片的加解密驱动程序,所述方法包括:
从所述通用执行环境获取待加密的明文数据;
通过加解密驱动程序将所述明文数据发送至所述加解密芯片,其中,所述加解密驱动程序设置于所述可信执行环境;
通过所述加解密芯片对所述明文数据进行加密,获得加密后的密文数据。
2.根据权利要求1所述的方法,其特征在于,所述通用执行环境包括客户端接口,所述从所述通用执行环境获取待加密的明文数据,包括:
通过所述客户端接口获取应用程序提供的待加密的明文数据,其中,所述应用程序安装于所述通用执行环境。
3.根据权利要求2所述的方法,其特征在于,所述可信执行环境包括可信应用接口,所述通过加解密驱动程序将所述明文数据发送至所述加解密芯片,包括:
所述可信应用接口通过共享内存的方式从所述客户端接口获取所述待加密的明文数据,并通过所述加解密驱动程序将所述明文数据发送给所述加解密芯片。
4.根据权利要求3所述的方法,其特征在于,在获得加密后的密文数据之后,所述方法包括:
所述可信应用接口将所述密文数据返回至所述客户端接口;
所述应用程序通过所述客户端接口获取所述密文数据。
5.根据权利要求1所述的方法,其特征在于,所述移动终端与调制解调器通信连接,所述通用执行环境包括所述调制解调器的外部通用驱动程序,所述从所述通用执行环境获取待加密的明文数据,还包括:
通过所述外部通用驱动程序获取所述应用程序提供的待加密的明文数据,其中,所述应用程序安装于所述通用执行环境。
6.根据权利要求5所述的方法,其特征在于,所述可信执行环境包括调制解调器的内部可信驱动程序,所述通过加解密驱动程序将所述明文数据发送至所述加解密芯片,还包括:
所述内部可信驱动程序通过共享内存的方式从所述外部通用驱动程序获取所述待加密的明文数据,并通过所述加解密驱动程序将所述明文数据发送给所述加解密芯片。
7.根据权利要求6所述的方法,其特征在于,在获得加密后的密文数据之后,所述方法还包括:
所述内部可信驱动程序将所述加密后的密文数据发送给所述调制解调器。
8.一种解密方法,其特征在于,应用于移动终端,所述移动终端包括可信执行环境和通用执行环境,所述移动终端还包括加解密芯片及所述加解密芯片的加解密驱动程序,所述方法包括:
获取待解密的密文数据;
通过加解密驱动程序将所述密文数据发送至所述加解密芯片,其中,所述加解密芯片设置于所述可信执行环境;
通过所述加解密芯片对所述密文数据进行解密,获得解密后的明文数据。
9.根据权利要求8所述的方法,其特征在于,所述通用执行环境包括客户端接口,所述获取待解密的密文数据,包括:
通过所述客户端接口获取应用程序提供的待解密的密文数据,其中,所述应用程序安装于所述通用执行环境。
10.根据权利要求9所述的方法,其特征在于,所述可信执行环境包括可信应用接口,所述通过加解密驱动程序将所述密文数据发送至所述加解密芯片,包括:
所述可信应用接口通过共享内存的方式从所述客户端接口获取所述待解密的密文数据,并通过所述加解密驱动程序将所述密文数据发送给所述加解密芯片。
11.根据权利要求10所述的方法,其特征在于,在获得解密后的明文数据之后,所述方法包括:
所述可信应用接口将所述明文数据返回至所述客户端接口;
所述通用执行环境中的应用程序通过所述客户端接口获取所述明文数据。
12.根据权利8所述的方法,其特征在于,所述移动终端与调制解调器通信连接,所述可信执行环境包括调制解调器的内部可信驱动程序,所述获取待解密的密文数据,还包括:
通过所述可信执行环境中的所述内部可信驱动程序从所述调制解调器中接收待解密的密文数据。
13.根据权利12所述的方法,其特征在于,所述通过加解密驱动程序将所述密文数据发送至所述加解密芯片,还包括:
所述内部可信驱动程序通过所述加解密驱动程序将所述密文数据发送给所述加解密芯片。
14.根据权利13所述的方法,其特征在于,所述通用执行环境包括调制解调器的外部通用驱动程序,在获得解密后的明文数据之后,所述方法包括:
所述内部可信驱动程序将解密后的明文数据发送至所述外部通用驱动程序;
所述外部通用驱动程序将所述明文数据返回至所述通用执行程序中的应用程序。
15.一种加密装置,其特征在于,应用于移动终端,所述移动终端包括可信执行环境和通用执行环境,所述移动终端还包括加解密芯片及所述加解密芯片的加解密驱动程序,所述装置包括:
明文数据获取模块,用于从所述通用执行环境获取待加密的明文数据;
明文数据传输模块,用于通过加解密驱动程序将所述明文数据发送至所述加解密芯片,其中,所述加解密芯片设置于所述可信执行环境;
加密模块,用于通过所述加解密芯片对所述明文数据进行加密,获得加密后的密文数据。
16.一种解密装置,其特征在于,应用于移动终端,所述移动终端包括可信执行环境和通用执行环境,所述移动终端还包括加解密芯片及所述加解密芯片的加解密驱动程序,所述装置包括:
密文数据获取模块,用于获取待解密的密文数据;
密文数据传输模块,用于通过加解密驱动程序将所述密文数据发送至所述加解密芯片,其中,所述加解密芯片设置于所述可信执行环境;
解密模块,用于通过所述加解密芯片对所述密文数据进行解密,获得解密后的明文数据。
17.一种移动终端,其特征在于,包括:处理器、存储器、总线、加解密芯片和加解密驱动程序,其中,所述加解密驱动程序设置于所述移动终端的可信执行环境中,所述加解密芯片用于对数据进行加密或解密;
所述存储器存储有所述处理器可执行的机器可读指令,当所述移动终端运行时,所述处理器与所述存储器之间通过所述总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1-14任一项所述的方法。
18.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-14任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011462909.0A CN112446042A (zh) | 2020-12-14 | 2020-12-14 | 加密方法和装置、解密方法和装置、移动终端和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011462909.0A CN112446042A (zh) | 2020-12-14 | 2020-12-14 | 加密方法和装置、解密方法和装置、移动终端和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112446042A true CN112446042A (zh) | 2021-03-05 |
Family
ID=74739796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011462909.0A Pending CN112446042A (zh) | 2020-12-14 | 2020-12-14 | 加密方法和装置、解密方法和装置、移动终端和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112446042A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105792149A (zh) * | 2014-12-23 | 2016-07-20 | 联芯科技有限公司 | 短信处理系统及其初始化方法、短信存储方法和阅读方法 |
CN105791284A (zh) * | 2016-02-29 | 2016-07-20 | 华为技术有限公司 | 一种数据安全传输装置及方法 |
CN106980794A (zh) * | 2017-04-01 | 2017-07-25 | 北京元心科技有限公司 | 基于TrustZone的文件加解密方法、装置及终端设备 |
CN109831775A (zh) * | 2019-02-02 | 2019-05-31 | 华为技术有限公司 | 一种处理器、基带芯片以及sim卡信息传输方法 |
-
2020
- 2020-12-14 CN CN202011462909.0A patent/CN112446042A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105792149A (zh) * | 2014-12-23 | 2016-07-20 | 联芯科技有限公司 | 短信处理系统及其初始化方法、短信存储方法和阅读方法 |
CN105791284A (zh) * | 2016-02-29 | 2016-07-20 | 华为技术有限公司 | 一种数据安全传输装置及方法 |
CN106980794A (zh) * | 2017-04-01 | 2017-07-25 | 北京元心科技有限公司 | 基于TrustZone的文件加解密方法、装置及终端设备 |
CN109831775A (zh) * | 2019-02-02 | 2019-05-31 | 华为技术有限公司 | 一种处理器、基带芯片以及sim卡信息传输方法 |
Non-Patent Citations (1)
Title |
---|
郑显义;史岗;孟丹;: "系统安全隔离技术研究综述", 计算机学报, vol. 40, no. 05, pages 198 - 214 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107743133B (zh) | 移动终端及其基于可信安全环境的访问控制方法和系统 | |
CN111191286B (zh) | Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 | |
CN106878245B (zh) | 图形码信息提供、获取方法、装置及终端 | |
CA2701061C (en) | Method and system for recovering a security credential | |
US20150310427A1 (en) | Method, apparatus, and system for generating transaction-signing one-time password | |
WO2002033521A2 (en) | Method and apparatus for controlling access to functions with different security levels | |
CN108718233B (zh) | 一种加密方法、计算机设备及存储介质 | |
CN101999125A (zh) | 用于增进对访问软件应用的限制性的系统和方法 | |
US10200195B2 (en) | Method for leveraging a secure telecommunication session | |
US20120233456A1 (en) | Method for securely interacting with a security element | |
US11856101B2 (en) | Remote secured terminal | |
CN111191217B (zh) | 一种密码管理方法及相关装置 | |
CN111901312A (zh) | 一种网络访问控制的方法、系统、设备及可读存储介质 | |
Sarhan et al. | Secure android-based mobile banking scheme | |
CN112446042A (zh) | 加密方法和装置、解密方法和装置、移动终端和存储介质 | |
Arfaoui et al. | Practical and privacy-preserving TEE migration | |
CN107862209B (zh) | 一种文件加解密方法、移动终端和具有存储功能的装置 | |
WO2016204700A1 (en) | System for secure transmission of voice communication via communication network and method of secure transmission of voice communication | |
WO2016030832A1 (en) | Method and system for mobile data and communication security | |
CN110362976A (zh) | 生物识别安全装置 | |
KR20110069873A (ko) | 휴대용 단말을 이용한 데이터 통신 | |
WO2023040451A1 (zh) | 资源转移 | |
CN113691530B (zh) | 一种基于sgx的对称秘钥生成管理系统、方法、设备及介质 | |
CN112565282A (zh) | 一种数据加密方法、终端设备及电子设备 | |
CN115549967A (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 |