CN114143117B - 数据处理方法及设备 - Google Patents
数据处理方法及设备 Download PDFInfo
- Publication number
- CN114143117B CN114143117B CN202210119023.9A CN202210119023A CN114143117B CN 114143117 B CN114143117 B CN 114143117B CN 202210119023 A CN202210119023 A CN 202210119023A CN 114143117 B CN114143117 B CN 114143117B
- Authority
- CN
- China
- Prior art keywords
- internet
- exchange data
- ciphertext
- verification message
- execution environment
- 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
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
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y30/00—IoT infrastructure
- G16Y30/10—Security thereof
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/50—Safety; Security of things, users, data or systems
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供一种数据处理方法及设备。其中,第一物联网设备确定在第一可信执行环境中与第二物联网设备协商生成的共享密钥;接收所述第二物联网设备发送的第二密文及第二验证消息;在所述第一可信执行环境中基于所述共享密钥对所述第二验证消息进行验证,并在所述第二验证消息验证成功之后从所述第二密文中解密获得第二交换数据;在所述第一可信执行环境中确定获得所述第二物联网设备对应的至少一个第二交换数据之后,基于所述至少一个第二交换数据执行第一处理操作获得第一处理结果,并将所述第一处理结果导出至外部执行环境。本申请实施例提供的技术方案提高了数据安全性,实现了数据安全处理的目的。
Description
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种数据处理方法及设备。
背景技术
随着物联网技术的发展,物联网设备在各个领域都得到了广泛的应用。
实际应用中,多个物联网设备往往存在交换数据以进行计算的需求,而直接传递明文数据往往不安全,容易导致数据泄露,存在安全隐患。
发明内容
本申请实施例提供一种数据处理方法及设备,用以解决现有技术中的数据存在安全隐患的问题。
第一方面,本申请实施例中提供了一种数据处理方法,包括:
第一物联网设备确定在第一可信执行环境中与第二物联网设备协商生成的共享密钥;
接收所述第二物联网设备发送的第二密文及第二验证消息;
在所述第一可信执行环境中基于所述共享密钥对所述第二验证消息进行验证,并在所述第二验证消息验证成功之后从所述第二密文中解密获得第二交换数据;
在所述第一可信执行环境中确定获得所述第二物联网设备对应的至少一个第二交换数据之后,基于所述至少一个第二交换数据执行第一处理操作获得第一处理结果,并将所述第一处理结果导出至外部执行环境。
第二方面,本申请实施例中提供了一种数据处理方法,包括:
第二物联网设备确定与第一物联网设备协商生成的共享密钥;
基于所述共享密钥生成第二交换数据的第二密文及所述第二密文的第二验证消息;
将所述第二密文及所述第二验证消息发送至所述第一物联网设备;所述第一物联网设备用于在第一可信执行环境中基于所述共享密钥对所述第二密文的第二验证消息进行验证,并在验证成功之后从所述第二密文中解密获得所述第二交换数据。
第三方面,本申请实施例中提供了一种物联网设备,包括存储组件及处理组件;所述存储组件存储一条或多条计算机指令;
所述处理组件通过其配置的安全单元创建可信执行环境或者通过创建沙箱以及将所述沙箱作为可信执行环境;
所述一条或多条计算机指令供所述处理组件调用并执行,以实现如上述第一方面所述的数据处理方法,或者实现如上述第二方面所述的数据处理方法。
第四方面,本申请实施例中提供了一种物联网设备,包括存储组件、处理组件及安全元件;所述存储组件存储一条或多条计算机指令;
所述安全元件用以创建供所述处理组件调用的可信执行环境;
所述一条或多条计算机指令供所述处理组件调用并执行,以实现如上述第一方面所述的数据处理方法,或者实现如上述第二方面所述的数据处理方法。
本申请实施例中,第一物联网设备在其第一可信执行环境中与第二物联网设备协商生成共享密钥,接收第二物联网设备发送的第二密文及第二验证消息;并在所述第一可信执行环境中基于所述共享密钥对所述第二验证消息进行验证,并在所述第二验证消息验证成功之后从所述第二密文中解密获得第二交换数据;之后在所述第一可信执行环境中确定获得所述第二物联网设备对应的至少一个第二交换数据之后,基于所述至少一个第二交换数据执行第一处理操作获得第一处理结果,并将第一处理结果导出至外部执行环境。本申请实施例中数据加密传输且在可信执行环境中进行处理生成处理结果,只将处理结果导出至外部执行环境,从而实现了安全计算目的,有效保证了数据安全性。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a示出了本申请提供的一种数据处理系统一个实施例的结构示意图;
图1b示出了本申请提供的一种数据处理系统又一个实施例的结构示意图;
图2示出了本申请提供的一种数据处理方法一个实施例的流程图;
图3示出了本申请提供的一种数据处理方法又一个实施例的流程图;
图4示出了本申请提供的一种数据处理装置一个实施例的结构示意图;
图5示出了本申请提供的一种数据处理装置又一个实施例的结构示意图;
图6示出了本申请提供的一种物联网设备一个实施例的结构示意图;
图7示出了本申请提供的一种物联网设备又一个实施例的结构示意图;
图8示出了本申请提供的一种物联网设备又一个实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
以物联网(IOT,Internet of Things)场景为例,实际应用中常涉及使用多个物联网设备的数据共同参与计算的场景,因此,存在一个物联网设备将其自身的数据提供给其它物联网设备的联动需求,而目前多采用明文形式进行数据传递,但是不同物联网设备的数据通常属于私有数据,明文形式会导致数据泄露,数据安全性较低。特别是,参与计算的不同物联网设备属于不同数据方,数据方例如可以为企业方,不同数据方之间可以借助物联网技术进行资源数据的共享和转移等,然而数据方自己的资源数据通常属于私有数据,并不希望对方获知,那么如何在保护数据隐私的情况下又能实现对数据的处理,即成为需要解决的技术问题。
为了在保证数据安全性的前提下实现对数据的处理,发明人经过一系列研究提出了本申请的技术方案,本申请实施例中,两个物联网设备之间数据进行加密传输且在可信执行环境中进行数据处理而生成处理结果,只将处理结果导出至外部执行环境,从而实现了安全计算目的,实现了数据处理且有效保证了数据安全性。
当然,本申请实施例不仅可以适用于物联网场景中,任意涉及数据传输和计算的两个设备之间,均可以按照本申请实施例的技术方案执行,以保证数据安全性。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1a示出了本申请实施例的技术方案可以应用于其中的一种数据处理系统的系统架构示意图;该系统可以包括第一设备101及第二设备102。第一设备101与第二设备102可以是存在数据传输及处理需求的任意两个设备。在物联网场景下,第一设备101以及第二设备102可以均为物联网设备,在其它应用场景,第一设备101以及第二设备102例如也可以分别为客户端设备和服务端设备等。
其中,第一设备101及第二设备102之间可以直接建立通信连接,从而实现数据的传输。
此外,作为又一个实施例,如图1b中所示,第一设备101以及第二设备102分别属于不同数据方的情况下,第一设备101以及第二设备102可能位于不同网络中而无法直接通信,此时可以通过第一设备101对应第一数据方的第一代理系统103以及第二设备102对应第二数据方的第二代理系统104进行数据转发,以实现第一设备101以及第二设备102之间的通信。
本申请实施例的技术方案中,第一设备101中可以创建有可信执行环境(TEE,Trusted Execution Environment),为了方便描述,命名为第一可信执行环境;第二设备102中也可以创建有可信执行环境,为了方便描述,名称为第二可信执行环境。
第一设备以及第二设备可以结合设备类型和/或安全需求等来创建对应类型的可信执行环境。例如可信执行环境可以是在设备系统中所创建的沙箱;或者可信执行环境可以是基于CPU(central processing unit,中央处理器)内置的安全单元所创建,比如基于Intel(一种处理器)的SGS(Software Guard Extension,软件保护扩展),ARM(一种处理器)的Trustzone(信任区)或AMD(一种处理器)的PSP(Platform Security Processor,平台安全处理器)等所创建;或者可以是由设备中配置的外部安全元件(SE,Secure Element)所创建等。
其中,可信执行环境可以是与操作系统并存的运行环境,其可以在设备中独立运行,可以保证在可信执行环境中数据和代码的安全性,实现与外部执行环境隔离的目的,本文中所指的外部执行环境可以是指设备的操作系统。
在物联网场景中,第一设备101或第二设备102例如可以是传感器类型的检测设备,或提供网关功能的网关设备等任意需要多方数据进行计算的物联网设备等。
本申请实施例技术方案中,第一设备101可以在其第一可信执行环境与第二设备102协商生成共享密钥;第二设备102可以基于共享密钥可以生成第二交换数据的第二密文以及第二密文的第二验证消息,并将第二密文以及第二验证消息发送至第一设备101;第二设备102可以在第一可信执行环境中基于共享密钥对第二验证消息进行验证,并在第二验证消息验证成功之后从第二密文中解密获得第二交换数据;第一设备101在第一可信执行环境中确定获得第二设备102对应的至少一个第二交换数据之后,可以至少基于该至少一个第二交换数据执行第一处理操作获得第一处理结果,并将第一处理结果导出至外部执行环境。第一设备101与第二设备102之间进行数据加密传输,且第一设备101在可信执行环境中进行解密以及数据处理,仅将第一处理结果导致出外部执行环境,外部执行环境无法获知第二交换数据,从而既可以保证数据安全性且实现了数据处理。
在下文一个或多个实施例中,主要以物联网场景,以第一设备以及第二设备为物联网设备为例,对本申请实施例的技术方案的实现细节进行详细阐述。
图2为本申请实施例提供的一种数据处理方法一个实施例的流程图,本实施例的技术方案由第一物联网设备执行,该方法可以包括以下几个步骤:
201:确定在第一可信执行环境与第二物联网设备协商生成的共享密钥。
第一物联网设备可以结合设备类型和/或安全需求等来创建对应类型的第一可信执行环境。例如第一可信执行环境可以是沙箱;或者基于CPU内置的安全单元所创建或者基于配置的外部安全元件所创建等。
为了进一步保证安全性,特别是第一物联网设备与第二物联网设备存在互相交换数据的需求,第一物联网设备也会向第二物联网设备发送数据的情况下,第二物联网设备也可以创建第二可信执行环境,第二物联网设备可以是在第二可信执行环境中与第一物联网设备协商以生成该共享密钥;第二可信执行环境的类型可以是沙箱、或者基于CPU内置的安全单元所创建或者基于配置的外部安全元件所创建等。
其中,共享密钥可以由第一物联网设备和第二物联网设备预先协商生成,当然,也可以在每一次进行数据传输时而实时生成,因此,可选地,该方法还可以包括:在第一可信执行环境与第二物联网设备协商生成共享密钥。
作为一种可选方式,该共享密钥可以按照如下方式协商获得:
首先,第一物联网设备在第一可信执行环境中生成第一私钥及第一公钥;其中,第一私钥可以保存在第一可信执行环境中;同样,第二物联网设备也可以生成第二私钥以及第二公钥,可选地,第二物联网设备可以是在其第二可信执行环境中生成第二私钥以及第二公钥;
之后,第一物联网设备将第一公钥导出至外部执行环境,并在外部执行环境对第一公钥进行认证获得第一公钥证书,以及将第一公钥证书发送至第二物联网设备;其中,在外部执行环境可以数字签名技术请求证书颁发机构(CA,Certificate Authority)对第一公钥进行签名,获得该第一公钥的第一公钥证书;同样,第二物联网设备也可以对第二公钥进行认证获得第二公钥证书,可选地,第二公钥在第二可选执行环境中生成时,可以首先导出至第二物联网设备的外部执行环境,在外部执行环境对第一公钥进行认证获得第一公钥证书;
之后,第一物联网设备获取第二物联网设备发送的第二公钥证书;第一物联网设备也会将第一公钥证书发送至第二物联网设备;
之后,第一物联网设备从第二公钥证书中提取第二公钥;第一物联网设备可以验证第二公钥证书的有效性,并在验证有效之后,从中提取获得第二公钥;同样第二物联网设备也可以验证第一公钥证书的有效性,并在验证有效之后,从中提取获得第一公钥。提取公钥过程可以在可信环境中执行;
之后,第一物联网设备在第一可信执行环境中,基于第一私钥以及第二公钥,采用密钥协商算法生成共享密钥。第二物联网设备也可以基于第二私钥以及第一公钥,采用密钥协商算法生成同一个共享密钥,可选地,第二物联网设备也可以是在第二可信执行环境中,基于第二私钥以及第一公钥,采用密钥协商算法生成同一个共享密钥;
其中,密钥协商算法例如可以采用ECDH(Elliptic-Curve Diffie-Hellman,椭圆曲线迪菲-赫尔曼)算法,当然也可以采用其它算法如RSA(一种公钥加密算法)、DHKA(Differ-Hellman Key Exchange,迪菲-赫尔曼密钥交换)算法等,本申请对此不进行具体限定。
当然,共享密钥也可以采用其它协商方式实现,如由第一物联网设备生成,并加密发送至第二物联网设备,由第二物联网设备解密获得,或者由第二物联网设备生成并加密发送至第一物联网设备,由第一物联网设备解密获得等,或者第一物联网设备以及第二物联网设备均按照约定算法生成等,本申请对此不进行具体限制。
202:接收第二物联网设备发送的第二密文及第二验证消息。
共享密钥由第一物联网设备与第二物联网设备协商获得,第二物联网设备也会生成该共享密钥,可以基于该共享密钥,对其待发送的第二交换数据进行加密处理等,获得第二密文及第二密文的第二验证消息。
待发送的第二交换数据可以是指第二物联网设备中待传输至第一物联网设备用于参与计算的第二数据的至少部分数据,实际应用中,在第二数据的数据量较大情况下,也可以将第二数据切分为多个第二交换数据,待发送的第二交换数据可以是指任一个未发送的第二交换数据等,第二物联网设备针对每一个第二交换数据,均可以基于共享密钥生成对应的第二密文及第二验证消息,实现以第二密文和第二验证消息的形式发送至第一物联网设备。其中,对第二交换数据的加密处理可以采用任意的对称加密算法实现,本申请对此不进行具体限定。该第二验证消息可以用以实现对第二密文的完整性保护等,其可以是第二密文的信息摘要,该信息摘要例如可以是采用MAC(Message Authentication Codes,消息认证码)算法对第二密文生成的MAC标签等。
203:在第一可信执行环境中基于共享密钥对第二验证消息进行验证,并在第二验证消息验证成功之后从第二密文中解密获得第二交换数据。
第一物联网设备可以首先对第二验证消息进行验证,若验证成功,再从第二密文中解密获得第二交换数据,验证成功可以表明第二密文是完整的未被篡改等,以保证数据安全性。若验证失败,可以认为存在安全隐患,则可以拒绝该第二密文等,此外,验证失败情况下还可以向第二物联网设备发送第一重发请求,以请求第二物联网设备重新发送该发生错误的第二交换数据等。
为了进一步提高安全性,第一物联网设备以及第二物联网设备生成共享密钥之后,可以基于该共享密钥派生获得第一会话密钥以及第二会话密钥,如可以采用KDF(密钥派生函数,key derivation function)进行派生获得。当然也可以采用和第二物联网设备约定的指定方式来派生获得,如将共享密钥分别进行不同的指定变换而获得第一会话密钥和第二会话密钥等,本申请对此不进行具体限定。第一物联网设备可以是在其第一可信执行环境从共享密钥中派生获得第一会话密钥及第二会话密钥。第二物联网设备可以利用第一会话密钥加密第二交换数据生成第二密文,利用第二会话密钥生成第二交换数据的第二验证消息等,从而该步骤203可以是:在第一可信执行环境中基于第二会话密钥对第二验证消息进行验证,并在第二验证消息验证成功之后基于第一会话密钥从第二密文中解密获得第二交换数据。例如,可以是利用第二会话密钥生成该第二密文的验证消息,若生成的验证消息与该第二验证消息相同,则表明第二密文是完整的、未被篡改等,即验证成功,实现对第二交换数据的完整性保护,进而再可以再基于第一会话密钥从第二密文中解密出第二交换数据。
204:在第一可信执行环境中确定获得第二物联网设备对应的至少一个第二交换数据之后,基于至少一个第二交换数据执行第一处理操作,获得第一处理结果。
由上文描述可知,第二物联网设备中参与计算的第二数据可能会切分为至少一个第二交换数据并分别发送至第一物联网设备,第一物联网设备可以按照步骤203的操作获得每一个第二交换数据,第一物联网设备可以根据获得的第二交换数据的数量来确定是否接收完成,当然,第二物联网设备发送最后一个第二交换数据时可以在第二交换数据中携带结束标识,第一物联设备可以根据解密得到的第二交换数据中是否携带结束标识来确定是否获得全部的第二交换数据等。
之后,第一物联网设备可以基于该至少一个第二交换数据执行相应的处理操作,为了方便描述,命名为第一处理操作,从而获得第一处理结果。当然,该至少一个第二交换数据也可以首先组合获得第二物联网设备的第二数据,进而再执行第一处理操作。
可选地,在涉及多方计算场景中,第一物联网设备可能存在获取多个不同物联网设备中的数据的需求,每一个物联网设备均可以作为第二物联网设备而采用本申请实施例的技术方案实现与第一物联网设备的数据传输,该第一物联网设备可以是基于至少一个物联网设备所发送的至少一个第二交换数据,来执行第一处理操作,从而获得的第一处理结果。本申请对第一处理操作所涉及的数据不进行具体限制,第一物联网设备可以至少基于该第二物联网设备所发送的至少一个第二交换数据而执行。
205:将第一处理结果导出至外部执行环境。
本实施例中,在第一可信执行环境中获得第一处理结果之后,再将第一处理结果导出至外部执行环境,第一物联网设备即可以使用该第一处理结果进行后续的操作等。由于数据加密传输,且数据解密操作在可信执行环境中执行,外部执行环境无法获得,仅将第一处理结果导出至外部执行环境,既实现了数据处理操作从而获得处理结果,且可以保证数据隐私性和安全性。
在一个实际应用中,假设至少一个第二交换数据为第二物联网设备中的用户数据,第一物联网设备中也维护有用户数据,各自的用户数据为私有数据,该第一处理操作具体可以是统计第二物联网设备的用户数据和第一物联网设备的用户数据的共有用户数据,第一处理结果即可以为共有用户数据,仅将共有用户数据导出至外部执行环境,既可以保证数据安全性,且实现了共有用户数据确定的需求。
第一物联网设备可以外部执行环境中对第一处理结果执行进一步的处理,或者可以将第一处理结果从外部执行环境中再发送至其它处理系统以进行处理等,例如第一处理结果为共有用户数据的情况下,可以结合第二物联设备对应的特征,对共有用户数据进行个性化推荐等,当然上述仅是举例说明本申请技术方案可以适用的数据处理场景,本申请并不仅限定于此。
为了进一步提高安全性,第二物联网设备可以维护第二计数值,该第二计数值与数据发送次数匹配。第二密文可以具体是基于第二交换数据以及第二物联网设备当前第二计数值进行加密获得;在共享密钥派生获得第一会话密钥以及第二会话密钥的情况下,可以首先将第二交换数据和当前第二计数值组合生成拼接数据,再利用第一会话密钥对该拼接数据进行加密获得第二密文。第二交换数据和第二计数值的组合格式例如可以为TLV(tag、length和value,标签、长度以及值)格式等,当然也不仅限定于此。
则该在第二验证消息验证成功之后从第二密文中解密获得第二交换数据可以包括:在第二验证消息验证成功之后从第二密文中解密获得第二交换数据及第二计数值;校验该第二计数值是否正确;若该第二计数值校验成功,则保存第二交换数据,并向第二物联网设备发送第一确认请求;其中,该第一确认请求可以用于通知第二物联网设备发送下一个第二交换数据,或者结束发送流程等。
若该第二计数值校验失败,可以认为第二交换数据发生错误,可能被第三方攻击,因此可以拒绝该第二交换数据。
可选地,第二计数值校验失败之后,第一物联网设备还可以向第二物联网设备发送第一重发请求,以通知第二物联网设备重新发送该发生错误的第二交换数据等。当然,第一物联网设备也可以删除已接收到的第二交换数据,而结束接收流程等,或者请求第二物联网设备重新发送所有第二交换数据等。
其中,第一物联网设备校验第二计数值是否正确可以有多种实现方式,比如第二计数值与第二物理网设备发送第二交换数据的发送次数匹配,第一物联网设备每一次对第二计数值验证成功,可以累计验证次数,对第二计数值的验证可以是查看第二计数值是否与验证次数匹配等,其中,验证次数可以小于第二计数值,并与第二计数值相差数值1;又如,第二计数值与第二物理网设备发送第二交换数据的发送次数匹配,第一物联网设备每一次对第二计数值验证成功,可以保存该第二计数值,对第二计数值的校验可以是与已保存的第二计数值比较,若相差数值1,则可以认为验证成功。此外,为了进一步提高安全性,第一物联网设备也可以维护第一计数值,作为又一个实施例,校验第二计数值是否正确可以包括:
校验第二计数值与当前第一计数值是否相同;其中,第一计数值以及第二计数值的初始值相同,比如可以为0;
该方法还可以包括:
若第二计数值校验成功,递增第一计数值;
则向第二物联网设备发送第一确认请求包括:
基于共享密钥生成第一计数值的第一加密数值及第一加密数值的第三验证消息;
向第二物联网设备发送包括第一加密数值及第三验证消息的第一确认请求;第一确认请求还用于通知第二物联网设备在第三验证消息验证成功之后,基于第一加密数值中的第一计数值更新第二计数值。
其中,第一物联网设备可以设置第一计数器用来生成第一计数值,第二物理网设备可以设置第二计数器用来生成第二计数值等。
在共享密钥派生获得第一会话密钥及第二会话密钥的情况下,可以是利用第一会话密钥对第一计数值进行加密获得第一加密数值,再利用第二会话密钥生成第一加密数值的第三验证消息。其中,第一加密数值和第三验证消息例如可以采用TLV格式组合之后再发送至第二物联网设备。
此外,第一物联网设备可能也会存在向第二物联网设备传输数据的需求,因此,一些实施例中,该方法还可以包括:在第一可信执行环境,基于共享密钥生成第一交换数据的第一密文及第一密文的第一验证消息;将第一密文及第一验证消息发送至第二物联网设备;其中,第一验证消息用于第二物联网设备在第二可信执行环境中基于共享密钥进行验证,并在验证成功之后从第一密文中解密获得第一交换数据。
为了保证数据正确传输,第一物联网设备可以是在确定获得第二物联网设备对应的至少一个第二交换数据之后,执行上述发送第一交换数据的操作,并可以将第一计数值恢复为初始值等。同样第二物联网设备在至少一个第二交换数据全部发送完成之后,可以将第二计数值恢复为初始值等。
当然,第二物联网设备也可以是在确定获得第一物联网设备对应的至少一个第一交换数据之后再发送第二交换数据等。第二物联网设备确定获得第一物联网设备对应的至少一个第一交换数据之后,可以将第二计数值恢复为初始值,同样,第一物联网设备在至少一个第一交换数据全部发送完成之后,可以将第一计数值恢复为初始值等。结合上述描述可知,第一交换数据可以是将第一物联网设备需要发送至第二物联网设备以参与计算的第一数据的至少部分数据,第一数据的数据量较大情况下可以切分获得多个第一交换数据,并分别进行发送,因此该方法还可以包括:
将第一数据切分为至少一个第一交换数据;
则在第一可信执行环境,基于共享密钥生成第一交换数据的第一密文及第一密文的第一验证消息可以是:针对当前待发送的第一交换数据,基于共享密钥生成第一交换数据的第一密文及第一密文的第一验证消息。
当前待发送的第一交换数据可以是指第一物联网设备未发送的任一个第一交换数据,也可以是基于第二物联网设备的第二重发请求,而将最近发送的第一交换数据重新作为当前待发送的第一交换数据。待发送的第二交换数据可以是指任一个未发送的第二交换数据等,第一物联网设备针对每一个第一交换数据,均可以基于共享密钥生成对应的第一密文及第一验证消息,实现以第一密文和第一验证消息的形式发送至第二物联网设备。
第二物联网设备可以在第二可信执行环境确定获得第一物联网设备的至少一个第一交换数据之后,再基于该至少一个第一交换数据执行第二处理操作获得第二处理结果,并将第二处理结果导出至外部执行环境。第二物联网设备在可信执行环境中解密以及进行数据处理,外部执行环境无法获得,仅将第二处理结果导出至外部执行环境,既实现了数据处理操作从而获得处理结果,且可以保证第一交换数据的数据隐私性和安全性。
其中,在共享密钥派生获得第一会话密钥以及第二会话密钥的情况下,在第一可信执行环境,基于共享密钥生成第一交换数据的第一密文及第一密文的第一验证消息可以是:在第一可信执行环境,利用第一会话密钥将第一交换数据加密为第一密文,利用第二会话密钥生成第一密文的第一验证消息。
此外,为了进一步保证数据安全性,第一物联网设备可以是基于共享密钥将第一交换数据以及当前第一计数值加密生成第一密文,以及生成第一密文的第一验证消息,第二物联网设备对第一验证消息验证成功之后,从第一密文中解密获得第一交换数据和第一计数值,首先校验第一计数值是否正确,校验成功之后可以保存该第一交换数据,还可以向第一物联网设备发送第二确认请求,否则可以拒绝该第一交换数据,还可以向第一物联网设备发送第二重发请求。具体校验方式,例如可以是校验第一计数值与当前第二计数值是否相同,若相同,则递增第二计数值,并利用共享密钥将第二计数值加密生成第二加密数值以及生成第二加密数值的第四验证消息,第二确认请求中可以包括该第二加密数值和第四验证消息,第一物联网设备在对第四验证消息验证成功之后,可以从第二加密数值中解密获得该第二计数值,并可以利用第二计数值更新当前第一计数值。之后,第一物联网设备可以继续发送下一个第一交换数据或者结束发送流程等。第一物联网设备在发送最后一个第一交换数据中,可以在第一交换数据中添加结束标识之后再加密,从而第二物联网设备可以基于结束标识确定是否接收完成,进而可以执行第一处理操作等。
下面从第二物联网设备的角度对本申请技术方案进行介绍,图3为本申请实施例提供的一种数据处理方法又一个实施例的流程图,本实施例的技术方案由第二物联网设备执行,该方法可以包括以下几个步骤:
301:确定与第一物联网设备协商生成共的享密钥。
可选地,第二物联网设备可以创建第二可信执行环境,可以是在第二可信执行环境中与第一物联网设备协商生成共享密钥。
第一物联网设备可以是在第一可信执行环境协商生成该共享密钥。共享密钥的生成方式在前文实施例中已进行了描述,此处不再重复赘述。该共享密钥可以预先协商生成,也可以在发送第二数据时实时生成等,本申请对此不进行限定。
302:基于共享密钥生成第二交换数据的第二密文及第二密文的第二验证消息。
可选地,第二物联网设备可以从共享密钥中派生获得第一会话密钥及第二会话密钥。可以是利用第一会话密钥对第二交换数据进行加密生成第二密文,利用第二会话密钥生成第二密文的第二验证消息。
303:将第二密文及第二验证消息发送至第一物联网设备。
其中,第一物联网设备用于在第一可信执行环境中基于共享密钥对第二密文的验证消息进行验证,并在验证成功之后从第二密文中解密获得第二交换数据,并基于至少一个第二交换数据,执行第二处理操作获得第二处理结果,将第二处理结果导出至外部执行环境。
本实施例中,由于数据加密传输,且数据解密操作在第一物联网设备的可信执行环境中执行,外部执行环境无法获得,仅将第一处理结果导出至外部执行环境,既实现了数据处理操作从而获得处理结果,且可以保证数据隐私性和安全性。
一些实施例中,该方法还可以包括:
将第二数据切分为至少一个第二交换数据;
则基于共享密钥生成第二交换数据的第二密文及第二密文的验证消息可以是:针对当前待发送的第二交换数据,利用共享密钥,将第二交换数据加密生成第二密文以及生成第二密文的第二验证消息。
可选地,为了进一步提高安全性,该针对当前待发送的第二交换数据,利用共享密钥,将第二交换数据加密生成第二密文以及生成第二密文的第二验证消息可以是:
针对当前待发送的第二交换数据,将第二交换数据及当前的第一计数值加密生成第二密文以及生成第二密文的第二验证消息;第一计数值用于第一物联网设备进行校验。
一些实施例中,该方法还可以包括:
接收到第一物联网设备发送的第一确认请求,将未发送的第二交换数据作为待发送的第二交换数据;其中,第一确认请求为第一物联网设备在第一计数值校验成功时发送;
接收到第一物联网设备发送的第一重发请求,将最近发送的第二交换数据重新作为待发送的第二交换数据;其中,第一重发请求为第一物联网设备在第二计数值校验失败或者第二验证消息验证失败时发送。
其中,第一物联网设备对第二计数值的校验在前文已进行详细论述,此处不再赘述。在其中一种校验方式中,第一物联网设备可以维护第一计数值,第二物联网设备可以维护第二计数值,第一计数值与第二计数值的初始值相同,第一物联网设备可以具体是校验第二计数值与其当前第一计数值是否相同,校验成功之后,可以递增该第一计数值,并基于共享密钥对该递增之后的第一计数值进行加密生成第一加密数值以及第三验证消息,第一物联网设备发送的第一确认请求即可以包括该第一加密数值以及第三验证消息,因此,一些实施例中,该方法还可以包括:接收到第一物联网设备发送的第一确认请求,基于共享密钥对确认请求中的第一加密数值的第三验证消息进行验证,并在验证成功之后从第一加密数值中解密获得第一计数值;利用第一计数值更新第二计数值。
此外,第一物联网设备可能也会存在向第二物联网设备传输数据的需求,因此,一些实施例中,该方法还可以包括:
接收第一物联网设备发送的第一密文及对应的第一验证消息;
在第二可信执行环境中基于共享密钥对第一密文的第一验证消息进行验证,并在第一验证消息验证成功之后,从第一密文中解密获得第一交换数据;
在第二可信执行环境中确定获得第一物联网设备对应的至少一个第一交换数据之后,基于至少一个第一交换数据执行第二处理操作,并将第二处理结果导出至外部执行环境。
其中,为了保证数据正确传输,第一物联网设备可以是在全部接收到第二物联网设备的至少一个第二交换数据之后,在执行发送第一交换数据的操作;或者第二物联网设备可以是在全部接收到第一物联网设备的至少一个第一交换数据之后,再执行发送第二交换数据的操作。
为了进一步提高安全性,第一密文可以是基于第一交换数据以及当前第一计数值加密获得,在第一验证消息验证成功之后,从第一密文中解密获得第一交换数据可以是:
校验该第一计数值是否正确;若该第一计数值校验成功,则保存第一交换数据,并向第一物联网设备发送第二确认请求;其中,该第二确认请求可以用于通知第一物联网设备发送下一个第二交换数据,或者结束发送流程等。
若该第二计数值校验失败,可以认为第一交换数据发生错误,可能被第三方攻击,因此可以拒绝该第二交换数据。
可选地,第一计数值校验失败之后,可以向第一物联网设备发送第二重发请求,以通知第一物联网设备重新发送该发生错误的第一交换数据等。
为了进一步提高安全性,该校验第一计数值是否正确包括:校验第一计数值与当前第二计数值是否相同;其中,第一计数值以及第二计数值的初始值相同,比如可以为0;该方法还可以包括:
若第一计数值校验成功,则递增第二计数值;
则向第二物联网设备发送第二确认请求包括:
基于共享密钥生成第二计数值的第二加密数值及第二加密数值的第四验证消息;
向第一物联网设备发送包括第二加密数值及第四验证消息的第二确认请求;第二确认请求还用于通知第一物联网设备在第四验证消息验证成功之后,基于第二加密数值中的第二计数值更新第一计数值。
上述图3所示实施例及其相关实施例中的相同或相似步骤已在图2所示实施例及其相关实施例中进行了详细描述,此处不再重复赘述。
下面以物联网场景为例,结合图1b所示的系统架构图,假设第一物联网设备为设备A,第二设物联网设备为设备B,对本申请实施例的技术方案进行整体介绍。
假设设备A以及设备B存在互相交换数据的需求。
设备A以及设备B可以分别在各自的可信执行环境中进行密钥协商,生成共享密钥,并将共享密钥进行密钥派生获得两个会话密钥:第一会话密钥以及第二会话密钥。
其中,该共享密钥可以预先生成,当然也可以在进行数据交换时实时生成,每一次数据交换生成的共享密钥可以相同,也可以不同。
设备B可以将需要发送的第二数据切分为多个第二交换数据,设备B对每个第二交换数据的传输处理方式相同。
设备A在其内存中可以维护一个计数器A,设备B在其内存中可以维护一个计数器B,计数器A以及计数器B的初始值相同,例如可以为0。
针对待发送的一个第二交换数据,设备B在其第二可信执行环境中,将第二交换数据与当前计数器B的第二计数值组合之后进行加密,生成第二密文,并利用第二会话密钥生成第二密文的第二验证消息。设备B将第二密文和第二验证消息组合之后,可以经由第一代理系统以及第二代理系统而发送至设备A。
设备A接收到第二密文以及第二验证消息之后,导入其第一可信执行环境中,在第一可信执行环境中利用第二会话密钥对第二验证消息进行验证,验证成功,利用第一会话密钥从第二密文中解密获得第二交换数据和第二计数值,之后,校验第二计数值与计数器A的当前第一计数值是否相同,若相同,则可以递增该第一计数值,并利用第一会话密钥生成第一计数值的第一加密值以及利用第二会话密钥生成第一加密值的第三验证消息,之后,可以经由第一代理系统以及第二代理系统向设备B发送包含该第一加密值和该第三验证消息的第一确认请求。而若第二计数值与当前第一计数值不同,则可以拒绝该第二交换数据,并可以经由第二代理系统以及第二代理系统向设备A发送第一重发请求。
设备B若接收到第一确认请求之后,利用第二会话密钥对第三验证消息进行验证,验证通过之后,利用第一会话密钥从第一加密值中解密得到第一计数值,并将当前第二计数值更新为该第一计数值之后,可以将未发送的一个第二交换数据作为待发送的一个第二交换数据执行上述流程,若待发送的第二交换数据为最后一个第二交换数据的情况下,设备B还可以在该第二交换数据中添加结束标识,从而设备A可以基于该结束标识确定第二数据是否接收完成等,进而在接收完成的情况下,再对接收到的至少一个第二交换数据执行第一处理操作得到第一处理结果,仅将第一处理结果导出至外部执行环境,从而实现对第二数据进行安全处理的目的。
设备B若接收到第一重发请求,可以将最近发送的一个第二交换数据重新作为待发送的第二交换数据执行上述流程等。
设备A确定接收完成设备B的第二数据之后,若存在向设备B发送数据的需求,此时设备A以及设备B可以将各自的计数器恢复至初始值0。
设备A将需要发送的第一数据切分为多个第一交换数据,设备A对每个第一交换数据的传输处理方式相同。
针对待发送的一个第一交换数据,设备A在其第一可信执行环境中,将第一交换数据与当前计数器A的第一计数值组合之后进行加密,生成第一密文,并利用第二会话密钥生成第一密文的第一验证消息。设备A可以经由第一代理系统以及第二代理系统将第一密文和第一验证消息组合之后发送至设备B。
设备B接收到第一密文以及第一验证消息之后,导入其第二可信执行环境中,在第二可信执行环境中利用第二会话密钥对第一验证消息进行验证,验证成功,利用第一会话密钥从第一密文中解密获得第一交换数据和第一计数值,之后,校验第一计数值与计数器B的当前第二计数值是否相同,若相同,则可以递增该第二计数值,并利用第一会话密钥生成第二计数值的第二加密值以及利用第二会话密钥生成第二加密值的第四验证消息,之后,可以经由第一代理系统以及第二代理系统向设备A发送包含该第二加密值和该第四验证消息的第二确认请求。而若第一计数值与当前第二计数值不同,则可以拒绝该第一交换数据,并可以经由第一代理系统以及第二代理系统向设备A发送第二重发请求。
设备A若接收到第二确认请求之后,利用第二会话密钥对第四验证消息进行验证,验证通过之后,利用第一会话密钥从第二加密值中解密得到第二计数值,并将当前第一计数值更新为该第二计数值之后,可以将未发送的一个第一交换数据作为待发送的第一交换数据执行上述流程,若待发送的第一交换数据为最后一个第一交换数据的情况下,设备A还可以在该第一交换数据中添加结束标识,从而设备B可以基于该结束标识确定第一数据是否接收完成等,进而在接收完成的情况下,再对接收到的至少一个第一交换数据执行第二处理操作得到第二处理结果,仅将第二处理结果导出至外部执行环境,从而实现对第一数据进行安全处理目的。
设备A若接收到第二重发请求,可以将最近发送的一个第一交换数据重新作为待发送的第二交换数据执行上述流程等。
实际应用中,比如设备A以及设备B分别属于不同的企业方设备,例如可以是指物联网中的网关设备,企业方A在设备A中维护了其下会员的用户信息,如通讯号码,企业方B在设备B中维护了其下会员的员工信息,如通讯号码;企业方A和企业方B的员工信息为私有数据,保密要求较高,目前存在需要统计企业方A和企业方B共有会员的目的,此时需要企业方A和企业方B交换全部会员的用户信息,并求用户交集以确定共有会员的目的,而采用本申请实施例的技术方案,数据不仅加密传输并在可信执行环境中执行用户交集的运算,从而确定出共有会员的用户信息,仅将共有会员的用户信息导出外部执行环境,由于共有会员的用户信息为企业方A和企业方B本身已有数据,因此保证了数据安全性,企业方A以及企业方B即可以针对共有会员的用户信息进行进一步处理操作,例如企业方A可以结合企业方B的特征,确定针对共有会员的个性化推荐信息,并基于共有会员的用户信息,将个性推荐信息进行推送等。
通过本申请实施例的技术方案,数据加密传输且在可信执行环境中进行加密和解密以及数据处理等,从而既实现了数据处理且保证了数据安全性。
图4为本申请实施例提供的一种数据处理装置一个实施例的结构示意图,该装置可以包括:
第一确定模块401,用于确定在第一可信执行环境中与第二物联网设备协商生成的共享密钥;
第一接收模块402,用于接收第二物联网设备发送的第二密文及第二验证消息;
第一验证模块403,用于在第一可信执行环境中基于共享密钥对第二验证消息进行验证,并在第二验证消息验证成功之后从第二密文中解密获得第二交换数据;
第一处理模块404,用于在第一可信执行环境中确定获得第二物联网设备对应的至少一个第二交换数据之后,基于至少一个第二交换数据执行第一处理操作获得第一处理结果,并将第一处理结果导出至外部执行环境。
在某些实施例中,第二密文基于第二交换数据以及当前第二计数值加密获得;
该第一验证模块在第二验证消息验证成功之后从第二密文中解密获得第二交换数据包括:在第二验证消息验证成功之后从第二密文中解密获得第二交换数据及第二计数值;校验第二计数值是否正确;若第二计数值校验成功,保存第二交换数据,并向第二物联网设备发送第一确认请求;若第二计数值校验失败,拒绝第二交换数据。
在某些实施例中,第一验证模块校验第二计数值是否正确包括:校验第二计数值与当前第一计数值是否相同;其中,第一计数值以及第二计数值的初始值相同;
该装置还可以包括:
第一更新模块,用于若第二计数值校验成功,递增第一计数值;
第一验证模块向第二物联网设备发送第一确认请求包括:基于共享密钥生成第一计数值的第一加密数值及第一加密数值的第三验证消息;向第二物联网设备发送包括第一加密数值及第三验证消息的第一确认请求;第一确认请求还用于通知第二物联网设备在第三验证消息验证成功之后,基于第一加密数值中的第一计数值更新第二计数值。
在某些实施例中,该装置还可以包括:
第一派生模块,用于在第一可信执行环境中从共享密钥中派生获得第一会话密钥及第二会话密钥;
第一验证模块具体用于在第一可信执行环境中基于第二会话密钥对第二验证消息进行验证,并在第二验证消息验证成功之后基于第一会话密钥从第二密文中解密获得第二交换数据。
在某些实施例中,该装置还可以包括:
第一加密模块,用于在第一可信执行环境,基于共享密钥生成第一交换数据的第一密文及第一密文的第一验证消息;
第一发送模块,用于将第一密文及第一验证消息发送至第二物联网设备;其中,第一验证消息用于第二物联网设备在第二可信执行环境中基于共享密钥进行验证,并在验证成功之后从第一密文中解密获得第一交换数据。
图4所述的数据处理装置可以执行图2所示实施例所述的数据处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的数据处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5为本申请实施例提供的一种数据处理装置又一个实施例的结构示意图,该装置可以包括:
第二确定模块501,用于确定与第一物联网设备协商生成的共享密钥;
第二加密模块502,用于基于共享密钥生成第二交换数据的第二密文及第二密文的第二验证消息;
第二发送模块503,用于将第二密文及第二验证消息发送至第一物联网设备;第一物联网设备用于在第一可信执行环境中基于共享密钥对第二密文的第二验证消息进行验证,并在验证成功之后从第二密文中解密获得第二交换数据。
在某些实施例中,该装置还可以包括:
切分处理模块,用于将第二数据切分为至少一个第二交换数据;
第二加密模块具体用于针对当前待发送的第二交换数据,利用共享密钥,将第二交换数据及当前第二计数值加密生成第二密文以及生成第二密文的第二验证消息;第二计数值用于第一物联网设备进行校验。
在某些实施例中,该第二处理模块还用于接收到第一物联网设备发送的第一确认请求,将未发送的第二交换数据作为待发送的第二交换数据;其中,第一确认请求为第一物联网设备在第一计数值验证成功时发送;接收到第一物联网设备发送的第一重发请求,将最近发送的第二交换数据重新作为待发送的第二交换数据;其中,第一重发请求为第一物联网设备在第一计数值校验失败或者第二验证消息验证失败时发送。
在某些实施例中,该装置还可以包括:第二更新模块,用于接收到第一物联网设备发送的第一确认请求,基于共享密钥对第一确认请求中的第三验证消息进行验证,并在验证成功之后从第一确认请求中的第一加密数值中解密获得第一计数值;第一计数值与第二计数值的初始值相同;第一物联网设备用于在第二计数值校验成功之后递增第一计数值;利用第一计数值更新第二计数值。
在某些实施例中,第二确定模块具体用于确定在第二可信执行环境中与第一物联网设备协商生成的共享密钥;
该装置还可以包括:
第二接收模块,用于接收第一物联网设备发送的第一密文及对应的第一验证消息;
第二验证模块,用于在第二可信执行环境中基于共享密钥对第一验证消息进行验证,并在验证成功之后,从第一密文中解密获得第一交换数据;
第二处理模块,用于在第二可信执行环境中确定获得第一物联网设备对应的至少一个第一交换数据之后,基于至少一个第一交换数据执行第一处理操作,并将第一处理结果导出至外部执行环境。
图5所述的数据处理装置可以执行图6所示实施例所述的数据处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的数据处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
此外,本申请实施例还提供了一种物联网设备,如图6中所述,该设备包括存储组件601及处理组件602;存储组件601存储一条或多条计算机指令;
处理组件602通过其配置的安全单元603创建可信执行环境;
所述一条或多条计算机指令供处理组件调用并执行,以实现上述图2所示实施例的数据处理方法,或者实现如上述图3所示实施例的数据处理方法。
该物联网设备作为上述实施例中的第一物联网设备时,其所创建的可信执行环境即为第一可信执行环境;该物联网设备作为上述实施例中的第二物联网设备时,其所创建的可信执行环境即为第二可信执行环境。
其中,该处理组件可以为中央处理器,例如Intel、ARM或AMD处理等,该可信执行环境可以是基于Intel的SGS,ARM的Trustzone或AMD的PSP等所创建。
此外,本申请实施例还提供了一种物联网设备,如图7中所述,该设备包括存储组件701及处理组件702;所述存储组件701存储一条或多条计算机指令;
所述处理组件702通过创建沙箱703以及将所述沙箱703作为可信执行环境;
所述一条或多条计算机指令供所述处理组件调用并执行,以实现上述图2所示实施例的数据处理方法,或者实现如上述图3所示实施例的数据处理方法。
该物联网设备作为上述实施例中的第一物联网设备时,其所创建的可信执行环境即为第一可信执行环境;该物联网设备作为上述实施例中的第二物联网设备时,其所创建的可信执行环境即为第二可信执行环境。
此外,本申请实施例还提供了一种物联网设备,如图8中所述,该设备包括存储组件801、处理组件802以及安全元件803;所述存储组件801存储一条或多条计算机指令;
所述安全元件803用以创建供所述处理组件802调用的可信执行环境;
所述一条或多条计算机指令供所述处理组件调用并执行,以实现上述图2所示实施例的数据处理方法,或者实现如上述图3所示实施例的数据处理方法。
该物联网设备作为上述实施例中的第一物联网设备时,其所创建的可信执行环境即为第一可信执行环境;该物联网设备作为上述实施例中的第二物联网设备时,其所创建的可信执行环境即为第二可信执行环境。
当然,上述的物联网设备必然还可以包括其他部件,例如输入/输出接口、通信组件等。输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。通信组件被配置为便于物联网设备和其他设备之间有线或无线方式的通信等。
此外,本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时可以实现上述图2或图3所示实施例的数据处理示方法。该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
本申请实施例还提供了一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,所述计算机程序被计算机执行时可以实现如上述如图2或图3所示实施例的数据处理方法。在这样的实施例中,计算机程序可以是从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被处理器执行时,执行本申请的系统中限定的各种功能。
上述相关实施例中的存储组件可以被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (12)
1.一种数据处理方法,其特征在于,包括:
第一物联网设备确定在第一可信执行环境中与第二物联网设备在第二可信执行环境中协商生成的共享密钥;
接收所述第二物联网设备发送的第二密文及第二验证消息;所述第二密文及所述第二验证消息为所述第二物联网设备在所述第二可信执行环境中生成;
在所述第一可信执行环境中基于所述共享密钥对所述第二验证消息进行验证,并在所述第二验证消息验证成功之后从所述第二密文中解密获得第二交换数据;
在所述第一可信执行环境中确定获得所述第二物联网设备对应的至少一个第二交换数据之后,基于所述至少一个第二交换数据执行第一处理操作获得第一处理结果,并将所述第一处理结果导出至外部执行环境。
2.根据权利要求1所述的方法,其特征在于,所述第二密文基于所述第二交换数据以及当前第二计数值加密获得;
所述在所述第二验证消息验证成功之后从所述第二密文中解密获得第二交换数据包括:
在所述第二验证消息验证成功之后从所述第二密文中解密获得第二交换数据及第二计数值;
校验所述第二计数值是否正确;
若所述第二计数值校验成功,保存所述第二交换数据,并向所述第二物联网设备发送第一确认请求;
若所述第二计数值校验失败,拒绝所述第二交换数据。
3.根据权利要求2所述的方法,其特征在于,所述校验所述第二计数值是否正确包括:
校验所述第二计数值与当前第一计数值是否相同;其中,所述第一计数值以及所述第二计数值的初始值相同;
所述方法还包括:
若所述第二计数值校验成功,递增所述第一计数值;
所述向所述第二物联网设备发送第一确认请求包括:
基于所述共享密钥生成所述第一计数值的第一加密数值及所述第一加密数值的第三验证消息;
向所述第二物联网设备发送包括所述第一加密数值及所述第三验证消息的第一确认请求;所述第一确认请求还用于通知所述第二物联网设备在所述第三验证消息验证成功之后,基于所述第一加密数值中的第一计数值更新所述第二计数值。
4.根据权利要求1所述的方法,其特征在于,还包括:
在所述第一可信执行环境中从所述共享密钥中派生获得第一会话密钥及第二会话密钥;
所述在所述第一可信执行环境中基于所述共享密钥对所述第二验证消息进行验证,并在所述第二验证消息验证成功之后从所述第二密文中解密获得第二交换数据包括:
在所述第一可信执行环境中基于所述第二会话密钥对所述第二验证消息进行验证,并在所述第二验证消息验证成功之后基于所述第一会话密钥从所述第二密文中解密获得第二交换数据。
5.根据权利要求4所述的方法,其特征在于,还包括:
在所述第一可信执行环境,基于所述共享密钥生成第一交换数据的第一密文及所述第一密文的第一验证消息;
将所述第一密文及所述第一验证消息发送至所述第二物联网设备;其中,所述第一验证消息用于所述第二物联网设备在第二可信执行环境中基于所述共享密钥进行验证,并在验证成功之后从所述第一密文中解密获得所述第一交换数据。
6.一种数据处理方法,其特征在于,包括:
第二物联网设备在第二可信执行环境中确定与第一物联网设备协商生成的共享密钥;
基于所述共享密钥在所述第二可信执行环境中生成第二交换数据的第二密文及所述第二密文的第二验证消息;
将所述第二密文及所述第二验证消息发送至所述第一物联网设备;所述第一物联网设备用于在第一可信执行环境中基于所述共享密钥对所述第二密文的第二验证消息进行验证,并在验证成功之后从所述第二密文中解密获得所述第二交换数据。
7.根据权利要求6所述的方法,其特征在于,还包括:
将第二数据切分为至少一个第二交换数据;
所述基于所述共享密钥生成第二交换数据的第二密文及所述第二密文的第二验证消息包括:
针对当前待发送的第二交换数据,利用所述共享密钥,将第二交换数据及当前第二计数值加密生成第二密文以及生成所述第二密文的第二验证消息;所述第二计数值用于所述第一物联网设备进行校验。
8.根据权利要求7所述的方法,其特征在于,还包括:
接收到所述第一物联网设备发送的第一确认请求,将未发送的第二交换数据作为待发送的第二交换数据;其中,所述第一确认请求为所述第一物联网设备在第一计数值验证成功时发送;
接收到所述第一物联网设备发送的第一重发请求,将最近发送的第二交换数据重新作为待发送的第二交换数据;其中,所述第一重发请求为所述第一物联网设备在所述第一计数值校验失败或者所述第二验证消息验证失败时发送。
9.根据权利要求8所述的方法,其特征在于,还包括:
接收到所述第一物联网设备发送的第一确认请求,基于所述共享密钥对所述第一确认请求中的第三验证消息进行验证,并在验证成功之后从所述第一确认请求中的第一加密数值中解密获得第一计数值;所述第一计数值与所述第二计数值的初始值相同;所述第一物联网设备用于在所述第二计数值校验成功之后递增所述第一计数值;
利用所述第一计数值更新所述第二计数值。
10.根据权利要求6所述的方法,其特征在于,所述方法还包括:
接收所述第一物联网设备发送的第一密文及对应的第一验证消息;
在所述第二可信执行环境中基于所述共享密钥对所述第一验证消息进行验证,并在验证成功之后,从所述第一密文中解密获得第一交换数据;
在所述第二可信执行环境中确定获得所述第一物联网设备对应的至少一个第一交换数据之后,基于所述至少一个第一交换数据执行第一处理操作,并将第一处理结果导出至外部执行环境。
11.一种物联网设备,其特征在于,包括存储组件及处理组件;所述存储组件存储一条或多条计算机指令;
所述处理组件通过其配置的安全单元创建可信执行环境或者通过创建沙箱以及将所述沙箱作为可信执行环境;
所述一条或多条计算机指令供所述处理组件调用并执行,以实现如权利要求1~5任一项所述的数据处理方法,或者实现如权利要求6~10任一项所述的数据处理方法。
12.一种物联网设备,其特征在于,包括存储组件、处理组件及安全元件;所述存储组件存储一条或多条计算机指令;
所述安全元件用以创建供所述处理组件调用的可信执行环境;
所述一条或多条计算机指令供所述处理组件调用并执行,以实现如权利要求1~5任一项所述的数据处理方法,或者实现如权利要求6~10任一项所述的数据处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210119023.9A CN114143117B (zh) | 2022-02-08 | 2022-02-08 | 数据处理方法及设备 |
PCT/CN2023/073927 WO2023151479A1 (zh) | 2022-02-08 | 2023-01-31 | 数据处理方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210119023.9A CN114143117B (zh) | 2022-02-08 | 2022-02-08 | 数据处理方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114143117A CN114143117A (zh) | 2022-03-04 |
CN114143117B true CN114143117B (zh) | 2022-07-22 |
Family
ID=80382175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210119023.9A Active CN114143117B (zh) | 2022-02-08 | 2022-02-08 | 数据处理方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114143117B (zh) |
WO (1) | WO2023151479A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114143117B (zh) * | 2022-02-08 | 2022-07-22 | 阿里云计算有限公司 | 数据处理方法及设备 |
CN116599772B (zh) * | 2023-07-14 | 2024-04-09 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及相关设备 |
CN117596083B (zh) * | 2024-01-18 | 2024-04-12 | 杭州海康威视数字技术股份有限公司 | 基于数据脱敏的智能物联网数据聚合方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110011956A (zh) * | 2018-12-12 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9621547B2 (en) * | 2014-12-22 | 2017-04-11 | Mcafee, Inc. | Trust establishment between a trusted execution environment and peripheral devices |
US9722775B2 (en) * | 2015-02-27 | 2017-08-01 | Verizon Patent And Licensing Inc. | Network services via trusted execution environment |
CN106454528A (zh) * | 2015-08-07 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 基于可信执行环境的业务处理方法和客户端 |
WO2018137225A1 (zh) * | 2017-01-25 | 2018-08-02 | 深圳市汇顶科技股份有限公司 | 指纹数据的处理方法及处理装置 |
WO2019237304A1 (zh) * | 2018-06-14 | 2019-12-19 | 华为技术有限公司 | 一种密钥处理方法及装置 |
CN111095256B (zh) * | 2019-04-26 | 2023-12-01 | 创新先进技术有限公司 | 在可信执行环境中安全地执行智能合约操作 |
CN110474921B (zh) * | 2019-08-28 | 2020-06-26 | 中国石油大学(北京) | 一种面向局域物联网的感知层数据保真方法 |
CN111082934B (zh) * | 2019-12-31 | 2021-04-06 | 支付宝(杭州)信息技术有限公司 | 基于可信执行环境的跨域安全多方计算的方法及装置 |
CN111181720B (zh) * | 2019-12-31 | 2021-04-06 | 支付宝(杭州)信息技术有限公司 | 基于可信执行环境的业务处理方法及装置 |
US11947659B2 (en) * | 2020-05-28 | 2024-04-02 | Red Hat, Inc. | Data distribution across multiple devices using a trusted execution environment in a mobile device |
CN113360857A (zh) * | 2021-08-10 | 2021-09-07 | 支付宝(杭州)信息技术有限公司 | 一种软件的代码启动方法和系统 |
CN114003884A (zh) * | 2021-10-25 | 2022-02-01 | 武汉大学 | 一种面向安全通信的生物认证密钥协商方法及系统 |
CN114143117B (zh) * | 2022-02-08 | 2022-07-22 | 阿里云计算有限公司 | 数据处理方法及设备 |
-
2022
- 2022-02-08 CN CN202210119023.9A patent/CN114143117B/zh active Active
-
2023
- 2023-01-31 WO PCT/CN2023/073927 patent/WO2023151479A1/zh unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110011956A (zh) * | 2018-12-12 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114143117A (zh) | 2022-03-04 |
WO2023151479A1 (zh) | 2023-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109309565B (zh) | 一种安全认证的方法及装置 | |
CN114143117B (zh) | 数据处理方法及设备 | |
CN103118027B (zh) | 基于国密算法建立tls通道的方法 | |
CN112737779B (zh) | 一种密码机服务方法、装置、密码机及存储介质 | |
CN107708112A (zh) | 一种适用于mqtt‑sn协议的加密方法 | |
CN105553951A (zh) | 数据传输方法和装置 | |
CN106790090A (zh) | 基于ssl的通信方法、装置及系统 | |
CN102780698A (zh) | 物联网平台中用户终端安全通信的方法 | |
WO2016058404A1 (zh) | 基于预共享密钥的实体鉴别方法及装置 | |
CN111294203B (zh) | 信息传输方法 | |
JP2020530726A (ja) | サプライチェーン資産管理を保護するアプリケーションを有する遠隔サーバへのnfcタグ認証 | |
CN111914291A (zh) | 消息处理方法、装置、设备及存储介质 | |
TW201537937A (zh) | 統一身份認證平臺及認證方法 | |
US20220006793A1 (en) | Methods for Communicating Data Utilizing Sessionless Dynamic Encryption | |
CN111756528A (zh) | 一种量子会话密钥分发方法、装置及通信架构 | |
CN113411187A (zh) | 身份认证方法和系统、存储介质及处理器 | |
CN111130775A (zh) | 一种密钥协商方法、装置及设备 | |
US11088835B1 (en) | Cryptographic module to generate cryptographic keys from cryptographic key parts | |
CN116743372A (zh) | 基于ssl协议的量子安全协议实现方法及系统 | |
Ashraf et al. | Lightweight and authentic symmetric session key cryptosystem for client–server mobile communication | |
JP5932709B2 (ja) | 送信側装置および受信側装置 | |
CN112925535A (zh) | 一种密码芯片嵌入式应用安装方法及装置 | |
EP3361670B1 (en) | Multi-ttp-based method and device for verifying validity of identity of entity | |
Ghilen et al. | Incorporation and model checking of a quantum authentication and key distribution scheme in EAP-TLS | |
US11095452B2 (en) | Out-of-band authentication in group communications |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40070777 Country of ref document: HK |