CN108605046B - 一种消息推送方法及终端 - Google Patents

一种消息推送方法及终端 Download PDF

Info

Publication number
CN108605046B
CN108605046B CN201780009070.5A CN201780009070A CN108605046B CN 108605046 B CN108605046 B CN 108605046B CN 201780009070 A CN201780009070 A CN 201780009070A CN 108605046 B CN108605046 B CN 108605046B
Authority
CN
China
Prior art keywords
push
client
security level
data
terminal
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
Application number
CN201780009070.5A
Other languages
English (en)
Other versions
CN108605046A (zh
Inventor
李国庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN108605046A publication Critical patent/CN108605046A/zh
Application granted granted Critical
Publication of CN108605046B publication Critical patent/CN108605046B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1859Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供了一种消息推送方法,第一推送客户端根据安全级别指示标记判断是否需要对所述推送消息进行处理,在不需要对推送消息进行处理时,将其转发给第二推送客户端进行处理,从而终端可以根据安全级别指示标记对不同安全级别的推送消息进行差异化的处理,使安全级别较高的敏感信息得到安全处理,避免安全级别较高的敏感信息在终端的处理过程中发生信息泄露,从而可以解决推送消息的安全处理问题。

Description

一种消息推送方法及终端
技术领域
本申请涉及电子技术领域,尤其涉及一种消息推送方法及终端。
背景技术
推送是指服务器和客户端之间的一种通信连接和消息发送方式。利用推送服务,服务器可主动的将图片或文字等消息内容发送给计算机或移动终端,而无需后者主动向服务器查询。目前,随着推送服务的发展,利用推送服务向终端推送的内容不仅涉及广告、应用更新信息等非敏感信息,还涉及到交易小票、验证码、系统配置信息等敏感信息。例如,如图1和图2所示就是目前有厂商通过推送消息给用户终端推送的交易信息。为了保证用户信息的安全,在现有的推送传输过程中添加了一些传输加密机制,可以降低推送数据在传输过程中泄露风险。现有技术的问题在于,虽然保证了推送消息的传输安全,但是当推送消息到达终端之后,仍然有可能被终端内的恶意程序获取和利用,泄露用户的个人信息。因此,现有的推送服务只能保证推送消息的传输安全,但存在推送消息发送到终端后的安全处理问题。
发明内容
本发明实施例所要解决的技术问题在于,提供一种消息推送方法及终端,可以解决推送消息的安全处理问题,从而降低推送数据的泄露风险。
本申请第一方面提供了一种消息推送方法。第一推送客户端接收推送服务器发送的推送消息,所述推送消息中包含安全级别指示标记和推送数据,第一推送客户端根据安全级别指示标记判断是否需要对所述推送消息进行处理,若不需要对推送消息进行处理,则第一推送客户端向第二推送客户端转发推送数据,第二推送客户端对推送数据进行处理。其中,第一推送客户端为终端的第一运行环境中的推送客户端,第二推送客户端为终端的第二运行环境中的推送客户端。
在该技术方案中,第一推送客户端根据安全级别指示标记判断是否需要对所述推送消息进行处理,在不需要对推送消息处理时转发给第二推送客户端进行处理,从而终端可以根据安全级别指示标记对不同安全级别的推送消息进行差异化的处理,使安全级别较高的敏感信息得到安全处理,避免安全级别较高的敏感信息在终端的处理过程中发生信息泄露,从而可以解决推送消息的安全处理问题。
在第一方面的第一种可能的实现方式中,安全级别指示标记包括第一安全级别标记或第二安全级别标记,所述第一安全级别标记用于指示所述推送数据由REE会话密钥加密;所述第二安全级别标记用于指示所述推送数据由可信执行环境TEE会话密钥加密。
在该技术方案中,推送服务器根据安全级别指示标记对推送数据进行加密,使得推送数据只能被具有对应安全级别处理权限的推送客户端解密后进行处理,避免安全级别较高的敏感信息在终端的处理过程中发生信息泄露,从而可以解决推送消息的安全处理问题。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,第一运行环境为REE,第一推送客户端为终端的REE中的推送客户端;第二运行环境为TEE,第二推送客户端为所述终端的TEE中的推送客户端;若安全级别指示标记为第一安全级别标记,则第一推送客户端需要对所述推送消息进行处理;若安全级别指示标记为所述第二安全级别标记,则第一推送客户端不需要对所述推送消息进行处理。
在该技术方案中,安全级别指示标记为第一安全级别标记的推送消息由REE中的推送客户端处理,安全级别指示标记为第二安全级别标记的推送消息由TEE中的推送客户端处理,即将安全级别较高的推送消息交由TEE中的推送客户端处理,避免安全级别较高的敏感信息在终端的处理过程中发生信息泄露,从而可以解决推送消息的安全处理问题。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,第一推送客户端向第二推送客户端转发推送数据,第二推送客户端使用TEE会话密钥对推送数据进行解密。
结合第一方面的第二种或第三种可能的实现方式,在第一方面的第四种可能的实现方式中,TEE会话密钥为第二推送客户端和推送服务器根据第二推送客户端生成的随机数和推送服务器生成的随机数协商确定的。
结合第一方面的第一种可能的实现方式,在第一方面的第五种可能的实现方式中,第一运行环境为TEE,第一推送客户端为终端的TEE中的推送客户端;第二运行环境为REE,第二推送客户端为终端的REE中的推送客户端;若安全级别指示标记为第一安全级别标记,则第一推送客户端不需要对推送消息进行处理;若安全级别指示标记为第二安全级别标记,则第一推送客户端需要对推送消息进行处理。
在该技术方案中,安全级别指示标记为第一安全级别标记的推送消息由REE中的推送客户端处理,安全级别指示标记为第二安全级别标记的推送消息由TEE中的推送客户端处理,即将安全级别较高的推送消息交由TEE中的推送客户端处理,避免安全级别较高的敏感信息在终端的处理过程中发生信息泄露,从而可以解决推送消息的安全处理问题。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,第一推送客户端向第二推送客户端转发推送数据,第二推送客户端使用REE会话密钥对推送数据进行解密。
结合第一方面的第五种或第六种可能的实现方式,在第一方面的第七种可能的实现方式中,REE会话密钥为第一推送客户端和推送服务器根据第一推送客户端生成的随机数和推送服务器生成的随机数协商确定后发送给第二推送客户端的。
结合第一方面的第五种至第七种可能的实现方式,在第一方面的第八种可能的实现方式中,若第一推送客户端确定需要对推送消息进行处理,则第一推送客户端使用TEE会话密钥对推送数据进行解密并调用可信用户界面TUI显示解密后的推送数据或将解密后的推送数据保存于可信存储空间中。
在第一方面的第九种可能的实现方式中,推送消息由TEE会话密钥加密后生成。
结合第一方面的第九种可能的实现方式,在第一方面的第十种可能的实现方式中,第一运行环境为TEE,第一推送客户端为终端的TEE中的推送客户端;第二运行环境为REE,第二推送客户端为终端的REE中的推送客户端;第一推送客户端使用预设的TEE会话密钥对推送消息进行解密以获取推送数据,第一推送客户端向第二推送客户端转发推送数据。
在该技术方案中,推送服务器将不同安全级别的推送消息利用TEE会话密钥进行加密,且只能由TEE中的推送客户端进行解密,解密后根据推送数据的安全级别发送至相应的推送客户端进行处理,避免安全级别较高的敏感信息在终端的REE的处理过程中发生信息泄露,从而可以解决推送消息的安全处理问题。
结合第一方面的第十种可能的实现方式,在第一方面的第十一种可能的实现方式中,TEE会话密钥为第一推送客户端和推送服务器根据第一推送客户端生成的随机数和推送服务器生成的随机数协商确定的。
结合第一方面的第九种可能的实现方式,在第一方面的第十二种可能的实现方式中,第一运行环境为REE,第一推送客户端为终端的REE中的推送客户端;第二运行环境为TEE,第二推送客户端为终端的TEE中的推送客户端;若第一推送客户端无法从推送消息中解密获得安全级别指示标记,则第一推送客户端不需要对推送消息进行处理。
在该技术方案中,推送服务器将不同安全级别的推送消息利用TEE会话密钥进行加密,且只能由TEE中的推送客户端进行解密,解密后根据推送数据的安全级别发送至相应的推送客户端进行处理,避免安全级别较高的敏感信息在终端的REE的处理过程中发生信息泄露,从而可以解决推送消息的安全处理问题。
结合第一方面的第十二种可能的实现方式,在第一方面的第十三种可能的实现方式中,第一推送客户端向第二推送客户端转发推送消息,第二推送客户端使用TEE会话密钥对推送消息进行解密。
结合第一方面的第二种可能的实现方式,在第一方面的第十四种可能的实现方式中,推送数据包括设备唤醒指示,第一推送客户端向第二推送客户端转发设备唤醒指示,第二推送客户端使用TEE会话密钥对设备唤醒指示进行解密,并根据设备唤醒指示与设备唤醒指示对应的第二设备建立连接。
在该技术方案中,终端将设备唤醒指示作为较高级别的推送数据在TEE中的推送客户端对其进行处理,以使TEE中的推送客户端可以根据设备唤醒指示与终端关联的第二设备建立连接,保证推送服务器通过TEE中的推送客户端向第二设备发送推送数据,避免第二设备的相关推送数据在终端的处理过程中发生信息泄露,从而可以解决推送消息的安全处理问题。
结合第一方面的第五种至第七种可能的实现方式,在第一方面的第十五种可能的实现方式中,推送数据包括设备唤醒指示,若第一推送客户端需要对推送消息进行处理,则第一推送客户端使用TEE会话密钥对设备唤醒指示进行解密,并根据设备唤醒指示与设备唤醒指示对应的第二设备建立连接。
结合第一方面以及第一方面的第一种至第十五种可能的实现方式,在第一方面的第十六种可能的实现方式中,推送消息还包括推送对象标识,第一推送客户端向第二推送客户端转发推送数据以及推送对象标识,第二推送客户端将推送数据发送给推送对象标识指示的目标应用程序。
结合第一方面的第十六种可能的实现方式,在第一方面的第十七种可能的实现方式中,第二推送客户端将推送数据发送给推送对象标识指示的与终端关联的第二设备上的目标应用程序。
本申请第二方面提供了一种消息推送方法。第一推送客户端接收推送服务器发送的推送消息,所述推送消息中包含安全级别指示标记和推送数据,第一推送客户端根据安全级别指示标记判断是否需要对所述推送消息进行处理,若不需要对推送消息进行处理,则第一推送客户端向第二推送客户端转发推送数据,第二推送客户端对推送数据进行处理。其中,第一推送客户端为终端的第一运行环境中的推送客户端,第二推送客户端为终端的第二运行环境中的推送客户端。
在该技术方案中,第一推送客户端根据安全级别指示标记判断是否需要对所述推送消息进行处理,在不需要对推送消息处理时转发给第二推送客户端进行处理,从而终端可以根据安全级别指示标记对不同安全级别的推送消息进行差异化的处理,使安全级别较高的敏感信息得到安全处理,避免安全级别较高的敏感信息在终端的处理过程中发生信息泄露,从而可以解决推送消息的安全处理问题。
本申请第三方面提供了一种终端。该终端包括第一推送客户端以及第二推送客户端,第一推送客户端包括第一收发模块和第一处理模块,第二推送客户端包括第二收发模块和第二处理模块,终端通过上述模块实现第一方面和第二方面的部分或全部方法。
本申请第四方面提供了另一种终端。该终端包括处理器、存储器以及网络接口。处理器连接到存储器和网络接口,例如处理器可以通过总线连接到存储器和网络接口。网络接口用于与推送服务器收发上述方法中所涉及的消息。存储器用于存储推送消息。处理器用于执行第一方面和第二方面的部分或全部流程。
附图说明
图1是现有技术方案提供的一种交易信息的推送示例图;
图2是现有技术方案提供的另一种交易信息的推送示例图;
图3是本申请实施例中一种推送服务架构示意图;
图4a是本申请实施例中一种消息推送方法的流程示意图;
图4b是本申请实施例中另一种消息推送方法的流程示意图;
图5a是本申请实施例中另一种消息推送方法的流程示意图;
图5b是本申请实施例中另一种消息推送方法的流程示意图;
图6a是本申请实施例中一种基于终端的关联设备的消息推送方法的流程示意图;
图6b是本申请实施例中另一种基于终端的关联设备的消息推送方法的流程示意图;
图7a是本申请实施例中另一种基于终端的关联设备的消息推送方法的流程示意图;
图7b是本申请实施例中另一种基于终端的关联设备的消息推送方法的流程示意图;
图8a是本申请实施例中一种密钥协商方法的流程示意图;
图8b是本申请实施例中另一种密钥协商方法的流程示意图;
图9是本申请实施例中一种终端应用程序注册方法的流程示意图;
图10是本申请实施例中一种终端的结构示意图;
图11是本申请实施例中另一种终端的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请实施例的技术方案适用于各种基于推送服务的系统架构中,比如图3所示的一种推送服务架构示意图,包括终端101,推送服务器102和至少一个应用服务器103(图3中示出了应用服务器103a和应用服务器103b),其中终端101内部包括至少一个应用客户端1011(图3中示出了客户端1011a和客户端1011b)和推送客户端1012,其中应用客户端1011与应用服务器103是相互对应的,也就是说,应用客户端1011与应用服务器103都是针对相同的应用程序。在具体实现中,推送客户端1012由两个实体组成:运行在终端的富执行环境(REE,Rich Execution Environment)中的推送客户端1012a以及运行在终端的可信执行环境(TEE,Trusted Execution Environment)中的推送客户端1012b,其中富执行环境中的推送客户端1012a和可信执行环境中的推送客户端1012b之间通过安全通道连接,例如,一种可能的安全通道实现方式是,TEE推送客户端向REE推送客户端提供客户端API(标准的TEEClient API)接口,REE推送客户端通过调用客户端API与TEE推送客户端通信。
这里,富执行环境REE泛指不具备特定安全功能的运行环境,可信执行环境TEE是与富执行环境REE共同存于终端中的运行环境,能够为可信应用提供安全的免受软件攻击的运行环境。TEE具有与REE隔离的CPU核,TEE的CPU核可以是物理上与REE隔离或虚拟的与REE隔离的核;TEE具有对REE不可见的、利用安全存储技术实现的存储空间,因此,TEE能够确保其存储空间中的资产(如密钥、数据、软件等)免受软件攻击,抵抗特定类型的安全威胁。
以下通过图4a-7b所示的实施例对消息推送方法及执行该方法涉及到相关的流程进行详细描述。
图4a和图4b是本申请实施例中两种消息推送方法的流程示意图。图4a所示的实施例中,第一推送客户端为终端的REE中的推送客户端,第二推送客户端为终端的TEE中的推送客户端。图4b所示的实施例中,第一推送客户端为终端的TEE中的推送客户端,第二推送客户端为终端的REE中的推送客户端。具体方法包括:
步骤S401,第一应用服务器向推送服务器发送应用推送消息,所述应用推送消息中携带推送数据和推送对象标识。
应用推送消息中携带推送数据和推送对象标识,也即第一应用服务器希望向推送对象标识对应的终端中的第一应用发送推送数据。需要说明的是,这里的推送对象标识可以是存储在第一应用服务器的推送服务列表中的终端应用标识。也就是说,推送对象标识是第一应用服务器的推送服务列表中的一个终端应用标识。
步骤S402,推送服务器根据应用推送消息,设置安全级别指示标记并确定预设的密钥对推送数据进行加密以生成推送消息。
推送服务器根据应用推送消息,可以为应用推送消息对应的推送消息设置安全级别指示标记,并且确定与设置的安全级别标记对应的密钥,从而对推送数据进行加密,最终生成携带安全级别指示标记以及推送数据的推送消息。在图4a和图4b所示的实施例中,安全级别指示标记可以包括第一安全级别标记和第二安全级别标记,其中第一安全级别标记指示的是较低安全级别或者普通安全级别的推送数据,终端接收后无需进行安全处理,第二安全级别标记指示的是较高安全级别或者特殊安全级别的推送数据,终端需要利用TEE进行安全地处理。
设置安全级别指示标记时,在一种可能的实施场景中,第一应用服务器发送的应用推送消息中可以携带安全处理指示标签,以指示推送服务器将推送消息的安全级别指示标记设置为第二安全级别标记;若第一应用服务器发送的应用推送消息中未携带安全处理指示标签,则推送服务器可以将推送消息的安全级别指示标记设置为第一安全级别标记。在另一种可能的实施场景中,推送服务器可以对第一应用服务器发送的应用推送消息进行分析,根据应用推送消息的内容、数据类型、优先级以及紧急类型等等消息特征指标,确定推送消息的安全级别指示标记。
需要说明的是,这里的安全级别指示标记可以添加在推送消息的消息头部,即占用推送消息的消息头部中固定长度的字节。进一步的,推送服务器还可以使用与接收推送消息的推送客户端持有的密钥相应的密钥对安全级别指示标记进行加密,也可以不加密,这里不作具体限定。具体来说,若推送消息的接收客户端为REE中的推送客户端,则可以使用预先协商生成的REE会话密钥对安全级别指示标记进行加密,若推送消息的接收客户端为TEE中的推送客户端,则可以使用预先协商生成的TEE会话密钥对安全级别指示标记进行加密。
在图4a和图4b所示的实施例中,推送消息中包含的推送数据是经过加密的且加密的密钥与安全级别指示标记存在对应关系。具体来说,推送服务器将安全级别指示标记设置为第一安全级别标记时,推送消息中包含的推送数据由REE会话密钥加密后生成;推送服务器将安全级别指示标记设置为第二安全级别标记时,推送消息中包含的推送数据由TEE会话密钥加密后生成。
步骤S403,推送服务器向第一推送客户端发送推送消息。
根据推送对象标识,推送服务器可以确定推送对象标识对应的终端,并向该终端中的第一推送客户端发送推送消息。
在图4a所示的实施场景中,第一推送客户端为终端的REE环境中的推送客户端,第二推送客户端为终端的TEE中的推送客户端。在该实施场景中,第一推送客户端可访问网络通信接口,接收推送服务器发送的推送消息,第二推送客户端无法直接访问网络通信接口,需通过第一推送客户端才能接收到推送消息。
在图4b所示的实施场景中,第一推送客户端为终端的TEE中的推送客户端,在该实施场景中,第一推送客户端具备网络通信接口访问能力,能够直接与推送服务器通信。
步骤S404,第一推送客户端根据安全级别指示标记,判断是否需要对推送消息进行处理。
在图4a所示的实施场景中,若接收到的安全级别指示标记是经过加密的,第一推送客户端可以先使用REE会话密钥对加密的安全级别指示标记进行解密,然后根据安全级别指示标记,判断接收到的推送消息是否应该由本端处理。在图4b所示的实施场景中,若接收到的安全级别指示标记是经过加密的,第一推送客户端可以先使用TEE会话密钥对加密的安全级别指示标记进行解密,然后根据安全级别指示标记,判断接收到的推送消息是否应该由本端处理。
在图4a所示的实施场景中,步骤S404可以包括步骤S4041:
步骤S4041,若安全级别指示标记为第一安全级别标记,则第一推送客户端需要对推送消息进行处理,执行步骤S405;若安全级别指示标记为第二安全级别标记,则第一推送客户端不需要对推送消息进行处理,执行步骤S406~S407。
安全级别指示标记为第一安全级别标记,说明推送消息的安全级别较低,可以在REE中处理,因此第一推送客户端可以直接对该推送消息进行处理;安全级别指示标记为第二安全级别标记,说明推送消息的安全级别较高,需要在TEE中处理,因此第一推送客户端不需要对该推送消息进行处理。
在图4b所示的实施场景中,步骤S404可以包括步骤S4042:
步骤S4042,若安全级别指示标记为第一安全级别标记,则第一推送客户端不需要对推送消息进行处理,执行步骤S408~S409;若安全级别指示标记为第二安全级别标记,则第一推送客户端需要对所述推送消息进行处理,执行步骤S410。
安全级别指示标记为第一安全级别标记,说明推送消息的安全级别较低,可以在REE中处理,因此第一推送客户端不需要对该推送消息进行处理;安全级别指示标记为第二安全级别标记,说明推送消息的安全级别较高,需要在TEE中处理,因此第一推送客户端需要对该推送消息进行处理。
步骤S405,第一推送客户端使用预设的REE会话密钥对推送数据进行解密,并对解密的推送数据进行处理。
由于推送服务器对于第一安全级别标记的推送数据使用的是REE会话密钥加密的,因此第一推送客户端使用在密钥协商阶段中预先从第二推送客户端接收的REE会话密钥对推送数据解密即可。
在一种可能的实施场景中,第一推送客户端在得到解密后的推送数据后,可以指示终端的操作系统处理解密后的推送数据;在另一种可能的实施场景中,推送服务器向第一推送客户端发送的推送消息中还可以包括推送对象标识,从而第一推送客户端可以将解密后的推送数据发送给推送对象标识指示的目标应用程序或目标应用程序对应的REE应用部分,从而使目标应用程序或目标应用程序的REE应用部分处理解密后的推送数据。这里,目标应用程序可以是指第一应用服务器所服务的第一应用程序。
步骤S406,第一推送客户端向第二推送客户端转发推送数据。
第一推送客户端不需要对该推送消息进行处理,则将推送数据转发给第二推送客户端进行处理。需要说明的是,这里可以仅将推送数据发送给第二推送客户端,也可以将推送消息整体发送给第二推送客户端,这里不作具体限定。
步骤S407,第二推送客户端使用预设的TEE会话密钥对推送数据进行解密,并对解密后的推送数据进行处理。
由于推送服务器对于第二安全级别标记的推送数据使用的是TEE会话密钥加密的,因此第二推送客户端使用在密钥协商阶段中生成的TEE会话密钥对推送数据解密即可。
在一种可能的实施场景中,第二推送客户端可以指示TEE调用可信用户界面(TUI,Trusted User Interface)显示解密后的推送数据或将解密后的推送数据保存于可信存储空间中;在另一种可能的实施场景中,推送服务器向第一推送客户端发送的推送消息中还可以包括推送对象标识,第一推送客户端向第二推送客户端发送推送数据时也携带推送对象标识,从而第二推送客户端可以将解密后的推送数据发送给推送对象标识指示的目标应用程序对应的TEE应用部分,使目标应用程序的TEE应用部分处理解密后的推送数据。这里,目标应用程序可以是指第一应用服务器所服务的第一应用程序。
步骤S408,第一推送客户端向第二推送客户端转发推送数据。
第一推送客户端不需要对该推送消息进行处理,则将加密的推送数据转发给第二推送客户端进行处理。需要说明的是,这里可以仅将推送数据发送给第二推送客户端,也可以将推送消息整体发送给第二推送客户端,这里不作具体限定。
步骤S409,第二推送客户端使用预设的REE会话密钥对推送数据进行解密并对解密后的推送数据进行处理。
由于推送服务器对于第一安全级别标记的推送数据使用的是REE会话密钥加密的,因此第二推送客户端使用在密钥协商阶段中预先从第一推送客户端接收的REE会话密钥对推送数据解密即可。
在一种可能的实施场景中,第二推送客户端在得到解密后的推送数据后,可以指示终端的操作系统处理解密后的推送数据;在另一种可能的实施场景中,推送服务器向第一推送客户端发送的推送消息中还可以包括推送对象标识,第一推送客户端向第二推送客户端发送推送数据时也携带推送对象标识,从而第一推送客户端可以将解密后的推送数据发送给推送对象标识指示的目标应用程序或目标应用程序对应的REE应用部分,从而使目标应用程序或目标应用程序的REE应用部分处理解密后的推送数据。这里,目标应用程序可以是指第一应用服务器所服务的第一应用程序。
步骤S410,第一推送客户端使用预设的TEE会话密钥对推送数据进行解密并对解密的推送数据进行处理。
由于推送服务器对于第二安全级别标记的推送数据使用的是TEE会话密钥加密的,因此第一推送客户端使用在密钥协商阶段中生成的TEE会话密钥对推送数据解密即可。
在一种可能的实施场景中,第一推送客户端可以指示TEE调用可信用户界面(TUI,Trusted User Interface)显示解密后的推送数据或将解密后的推送数据保存于可信存储空间中;在另一种可能的实施场景中,推送服务器向第一推送客户端发送的推送消息中还可以包括推送对象标识,从而第一推送客户端可以将解密后的推送数据发送给推送对象标识指示的目标应用程序对应的TEE应用部分,使目标应用程序的TEE应用部分处理解密后的推送数据。这里,目标应用程序可以是指第一应用服务器所服务的第一应用程序。
图4a和图4b所示的实施例,将不同安全级别的推送数据利用不同的会话密钥进行加密,并根据推送数据的安全级别发送至相应的推送客户端进行处理,避免安全级别较高的敏感信息在终端的处理过程中发生信息泄露,从而可以解决推送消息的安全处理问题。
图5a和5b是本申请实施例中两种消息推送方法的流程示意图。图5a所示的实施例中,第一推送客户端为终端的REE中的推送客户端,第二推送客户端为终端的TEE中的推送客户端。图5b所示的实施例中,第一推送客户端为终端的TEE中的推送客户端,第二推送客户端为终端的REE中的推送客户端。具体方法包括:
步骤S501,第一应用服务器向推送客户端发送应用推送消息,所述应用推送消息中携带推送数据和推送对象标识。
步骤S502,推送服务器根据应用推送消息设置安全级别指示标记,根据安全级别指示标记与推送数据生成推送消息,并使用预设的TEE会话密钥对推送消息进行加密。
推送服务器根据应用推送消息,可以为应用推送消息对应的推送消息设置安全级别指示标记,最终生成携带安全级别指示标记以及推送数据的推送消息。在图5a和图5b所示的实施例中,安全级别指示标记可以包括第一安全级别标记和第二安全级别标记,其中第一安全级别标记指示的是较低安全级别或者普通安全级别的推送数据,第二安全级别标记指示的是较高安全级别或者特殊安全级别的推送数据。
在图5a和图5b所示的实施例中,推送服务器在生成推送消息后,可以使用预先协商生成的TEE会话密钥对推送消息进行加密。从而推送服务器发出的推送消息是整体经过加密的,推送消息中包括推送数据以及安全级别指示标识。其中,在图5a和图5b所示的实施例中,推送数据是指未加密的推送数据。
设置安全级别指示标记时,在一种可能的实施场景中,第一应用服务器发送的应用推送消息中可以携带安全处理指示标签,以指示推送服务器将推送消息的安全级别指示标记设置为第二安全级别标记;若第一应用服务器发送的应用推送消息中未携带安全处理指示标签,则推送服务器可以将推送消息的安全级别指示标记设置为第一安全级别标记。在另一种可能的实施场景中,推送服务器可以对第一应用服务器发送的应用推送消息进行分析,根据应用推送消息的内容、数据类型、优先级以及紧急类型等等消息特征指标,确定推送消息的安全级别指示标记。
需要说明的是,这里的安全级别指示标记可以添加在推送消息的消息头部,即占用推送消息的消息头部中固定长度的字节。
步骤S503,推送服务器向第一推送客户端发送推送消息。
根据推送对象标识,推送服务器可以确定推送对象标识对应的终端,并向该终端中的第一推送客户端发送推送消息。
在图5a所示的实施场景中,第一推送客户端为终端的REE中的推送客户端,第二推送客户端为终端的TEE中的推送客户端。在该实施场景中,第一推送客户端可访问网络通信接口,接收推送服务器发送的推送消息,第二推送客户端无法访问网络通信接口,需通过第一推送客户端才能接收到推送消息。
在图5b所示的实施场景中,第一推送客户端为终端的TEE中的推送客户端,在该实施场景中,第一推送客户端具备网络通信接口访问能力,能够直接与推送服务器通信。
步骤S504,第一推送客户端判断能否从推送消息中解密获得安全级别指示标记。
在图5a所示的实施场景中,步骤S504可以包括步骤S5041:
步骤S5041,第一推送客户端无法从推送消息中解密获得安全级别指示标记时,第一推送客户端不需要对推送消息进行处理,执行步骤S505~S510。
第一推送客户端在接收到推送消息时需要对推送消息进行解析以获取安全级别指示标记,当第一推送客户端无法解析获取推送消息中的安全级别指示标记时,第一推送客户端不需要对该推送消息进行处理。具体实施中,在一种可能的实施场景中,第一推送客户端中未存储相关密钥,当接收到推送消息时可以直接判断无法从推送消息中解密获得安全级别指示标记,则不需要对推送消息进行处理,执行步骤S505~S510;在另一种可能的实施场景中,第一推送客户端中可能存储有其他密钥,当接收到推送消息时可以对推送消息进行解密,由于推送服务器发送的推送消息是通过TEE会话密钥加密的,而第一推送客户端不具有TEE会话密钥,则无法解密推送数据,因此无法从推送消息中获取安全级别指示标记,则不需要对推送消息进行处理,执行步骤S505~S510。
在图5b所示的实施场景中,步骤S504可以包括步骤S5042:
步骤S5042,在第一推送客户端成功从推送消息中解密获得安全级别指示标记时,执行步骤S511~S514。
由于推送服务器发送的推送消息是通过TEE会话密钥加密的,第一推送客户端具有TEE会话密钥,因此可以解密推送消息获得安全级别指示标记以及推送数据,则执行步骤S511~514。
步骤S505,第一推送客户端向第二推送客户端转发推送消息。
第一推送客户端不需要对该推送消息进行处理,则将推送消息转发给第二推送客户端。
步骤S506,第二推送客户端使用预设的TEE会话密钥对推送消息进行解密。
由于推送服务器发送的推送消息是通过TEE会话密钥加密的,因此第二推送客户端使用在密钥协商阶段中生成的TEE会话密钥对推送消息解密,即可获取到推送消息中的推送数据。
步骤S507,第二推送客户端根据安全级别指示标记,判断是否需要对推送消息进行处理。若安全级别指示标记为第一安全级别标记,则第二推送客户端不需要对推送消息进行处理,执行步骤S508~S509;若安全级别指示标记为第二安全级别标记,则第二推送客户端需要对推送消息进行处理,则执行步骤S510。
步骤S508,第二推送客户端向第一推送客户端转发推送数据。
步骤S509,第一推送客户端对推送数据进行处理。
在一种可能的实施场景中,第一推送客户端在得到推送数据后,可以指示终端的操作系统处理推送数据;在另一种可能的实施场景中,推送服务器向第一推送客户端发送的推送消息中还可以包括推送对象标识,从而第一推送客户端可以将推送数据发送给推送对象标识指示的目标应用程序或目标应用程序对应的REE应用部分,从而使目标应用程序或目标应用程序的REE应用部分处理解密后的推送数据。
步骤S510,第二推送客户端对推送数据进行处理。
在一种可能的实施场景中,第二推送客户端可以指示TEE调用可信用户界面(TUI,Trusted User Interface)显示推送数据或将推送数据保存于可信存储空间中;在另一种可能的实施场景中,推送服务器向第一推送客户端发送的推送消息中还可以包括推送对象标识,第一推送客户端向第二推送客户端转发推送消息时也携带推送对象标识,从而第二推送客户端可以将推送数据发送给推送对象标识指示的目标应用程序对应的TEE应用部分,使目标应用程序的TEE应用部分处理推送数据。
步骤S511,第一推送客户端根据安全级别指示标记,判断是否需要对推送消息进行处理。若安全级别指示标记为第一安全级别标记,则第一推送客户端不需要对推送消息进行处理,执行步骤S512~S513;若安全级别指示标记为第二安全级别标记,则第一推送客户端需要对推送消息进行处理,则第一推送客户端对推送消息进行处理,则执行步骤S514。
步骤S512,第一推送客户端向第二推送客户端转发推送数据。
步骤S513,第二推送客户端对推送数据进行处理。
在一种可能的实施场景中,第二推送客户端在解密推送消息得到推送数据后,可以指示终端的操作系统处理推送数据;在另一种可能的实施场景中,推送服务器向第一推送客户端发送的推送消息中还可以包括推送对象标识,第一推送客户端向第二推送客户端转发推送数据时也携带推送对象标识,从而第二推送客户端可以将推送数据发送给推送对象标识指示的目标应用程序或目标应用程序对应的REE应用部分,从而使目标应用程序或目标应用程序的REE应用部分处理推送数据。
步骤S514,第一推送客户端对推送数据进行处理。
在一种可能的实施场景中,第一推送客户端可以指示TEE调用可信用户界面(TUI,Trusted User Interface)显示推送数据或将推送数据保存于可信存储空间中;在另一种可能的实施场景中,推送服务器向第一推送客户端发送的推送消息中还可以包括推送对象标识,从而第一推送客户端可以将推送数据发送给推送对象标识指示的目标应用程序对应的TEE应用部分,使目标应用程序的TEE应用部分处理推送数据。
图5a和图5b所示的实施例,将不同安全级别的推送消息利用TEE会话密钥进行加密,并统一由TEE中的推送客户端进行解密,并根据推送数据的安全级别发送至相应的推送客户端进行处理,避免安全级别较高的敏感信息在终端的REE的处理过程中发生信息泄露,从而可以解决推送消息的安全处理问题。
图6a和6b是本申请实施例中两种基于终端的关联设备的消息推送方法的流程示意图。图6a所示的实施例中,第一推送客户端为终端的REE中的推送客户端,第二推送客户端为终端的TEE中的推送客户端。图6b所示的实施例中,第一推送客户端为终端的TEE中的推送客户端,第二推送客户端为终端的REE中的推送客户端。具体方法包括:
步骤S601,第一应用服务器向推送客户端发送应用推送消息,所述应用推送消息中携带推送数据和推送对象标识。
应用推送消息中携带推送数据和推送对象标识,也即第一应用服务器希望向推送对象标识对应的终端发送推送数据。在图6a和6b所示的实施例中,应用推送消息中可以包括第二设备安全处理标签,该第二设备安全处理标签用于指示应用推送消息中的推送数据由与终端关联的第二设备处理。这里的推送对象标识可以包含终端标识以及第二设备标识。
步骤S602,推送服务器根据应用推送消息,缓存推送数据,设置安全级别指示标记,生成设备唤醒指示并确定预设的密钥对设备唤醒指示进行加密以生成推送消息。
在图6a和图6b所示的实施例中,推送服务器在接收到包括第二设备安全处理标签的推送消息时,可以先将推送数据缓存,并将安全级别指示标记设置为第二安全级别标记,第二安全级别标记可以指示针对终端关联的第二设备的推送数据。
第二安全级别标记设置完成后,推送服务器可以进一步生成设备唤醒指示,并将设备唤醒指示使用预先协商生成的TEE会话密钥进行加密,设备唤醒指示包含与终端关联的第二设备的标识,还可包含要求终端执行的动作,如通过蓝牙接口扫描设备并与设备建立蓝牙连接。
从而,推送服务器可以生成推送消息,在该实施例中,推送消息中包含设备唤醒指示以及第二安全级别标记。推送消息中包含的设备唤醒指示是经TEE会话密钥加密的。
步骤S603,推送服务器向第一推送客户端发送推送消息。
在图6a所示的实施场景中,第一推送客户端为终端的REE中的推送客户端,第二推送客户端为终端的TEE中的推送客户端。在该实施场景中,第一推送客户端可访问网络通信接口,接收推送服务器发送的推送消息,第二推送客户端无法访问网络通信接口,需通过第一推送客户端才能接收到推送消息。
在图6b所示的实施场景中,第一推送客户端为终端的TEE中的推送客户端,在该实施场景中,第一推送客户端具备网络通信接口访问能力,能够直接与推送服务器通信。
步骤S604,第一推送客户端根据安全级别指示标记,判断是否需要对推送消息进行处理。
在图6a所示的实施场景中,步骤S604可以包括步骤S6041:
步骤S6041,若安全级别指示标记为第二安全级别标记,则第一推送客户端不需要对推送消息进行处理,执行步骤S605~S608。
在图6b所示的实施场景中,步骤S604可以包括步骤S6042:
步骤S6042,若安全级别指示标记为第二安全级别标记,则第一推送客户端需要对推送消息进行处理,执行步骤S609~S611。
步骤S605,第一推送客户端向第二推送客户端发送设备唤醒指示。
第一推送客户端不需要对该推送消息进行处理,则将设备唤醒指示转发给第二推送客户端进行处理。需要说明的是,这里可以仅将设备唤醒指示发送给第二推送客户端,也可以将推送消息整体发送给第二推送客户端,这里不作具体限定。
步骤S606,第二推送客户端使用预设的TEE会话密钥对设备唤醒指示进行解密,并根据设备唤醒指示扫描与终端关联的第二设备。
由于推送服务器对于第二安全级别标记的设备唤醒指示使用的是TEE会话密钥加密的,因此第二推送客户端使用在密钥协商阶段中生成的TEE会话密钥对设备唤醒指示解密即可。
在得到解密后的设备唤醒指示后,第二推送客户端调用蓝牙低功耗设备安全配置服务(BLE GP Service,Bluetooth Low Energy Global Platform Service)接口,可以根据设备唤醒指示扫描第二设备,这里第二设备可以指可穿戴设备或物联网设备等等。
步骤S607,第二推送客户端与终端关联的第二设备建立连接,并通知推送服务器。
步骤S608,推送服务器通过第二推送客户端向第二设备发送缓存的推送数据。
推送服务器向第二推送客户端发送推送数据时可以携带推送对象标识,从而第二推送客户端可以将推送数据发送给推送对象标识指示的与终端关联的第二设备上的目标应用程序,从而目标应用程序可以对该推送数据进行处理。
步骤S609,第一推送客户端使用预设的TEE会话密钥对设备唤醒指示进行解密,并根据设备唤醒指示扫描与终端关联的第二设备。
步骤S610,第一推送客户端与终端关联的第二设备建立连接,并通知推送服务器。
步骤S611,推送服务器通过第一推送客户端向第二设备发送缓存的推送数据。
图6a和图6b所示的实施例,将设备唤醒指示作为较高级别的推送数据,由TEE中的推送客户端对其进行处理,以使TEE中的推送客户端可以根据设备唤醒指示与终端关联的第二设备建立连接,保证推送服务器通过TEE中的推送客户端向第二设备发送推送数据,避免第二设备的相关推送数据在终端的处理过程中发生信息泄露,从而可以解决推送消息的安全处理问题。
图7a和7b是本申请实施例中两种基于终端的关联设备的消息推送方法的流程示意图。图7a所示的实施例中,第一推送客户端为终端的REE中的推送客户端,第二推送客户端为终端的TEE中的推送客户端。图7b所示的实施例中,第一推送客户端为终端的TEE中的推送客户端,第二推送客户端为终端的REE中的推送客户端。具体方法包括:
步骤S701,第一应用服务器向推送客户端发送应用推送消息,所述应用推送消息中携带推送数据和推送对象标识。
步骤S702,推送服务器根据应用推送消息,缓存推送数据,设置安全级别指示标记,生成设备唤醒指示,根据设备唤醒指示与安全级别指示标记生成推送消息,并使用预设的TEE会话密钥对推送消息进行加密。
在图7a和图7b所示的实施例中,推送服务器在接收到包括第二设备安全处理标签的推送消息时,可以先将推送数据缓存,并将安全级别指示标记设置为第二安全级别标记,第二安全级别标签可以指示针对终端关联的第二设备的推送数据。
第二安全级别标记设置完成后,推送服务器可以进一步生成设备唤醒指示,并利用设备唤醒指示与安全级别指示标记生成推送消息。推送服务器在生成推送消息后,可以使用预先协商生成的TEE会话密钥对推送消息进行加密。从而,推送服务器发出的推送消息是经过加密的,推送消息中包含设备唤醒指示以及第二安全级别标记。其中,在图7a和图7b所示的实施例中,设备唤醒指示是未加密的设备唤醒指示。
步骤S703,推送服务器向第一推送客户端发送推送消息。
步骤S704,第一推送客户端判断能否从推送消息中解密获得安全级别指示标记。
在图7a所示的实施场景中,步骤S704可以包括步骤S7041:
步骤S7041,第一推送客户端无法从推送消息中解密获得安全级别指示标记时,第一推送客户端不需要对推送消息进行处理,执行步骤S705~S708。
第一推送客户端在接收到推送消息时需要对推送消息进行解析以获取安全级别指示标记,当第一推送客户端无法解析获取推送消息中的安全级别指示标记时,第一推送客户端不需要对该推送消息进行处理。具体实施中,在一种可能的实施场景中,第一推送客户端中未存储相关密钥,当接收到推送消息时可以直接判断无法从推送消息中解密获得安全级别指示标记,则不需要对推送消息进行处理,执行步骤S705~S708;在另一种可能的实施场景中,第一推送客户端中可能存储有其他密钥,当接收到推送消息时可以对推送消息进行解密,由于推送服务器发送的推送消息是通过TEE会话密钥加密的,而第一推送客户端不具有TEE会话密钥,则无法解密加密的推送数据,因此无法从推送消息中获取安全级别指示标记,则不需要对推送消息进行处理,执行步骤S705~S708。
在图7b所示的实施场景中,步骤S704可以包括步骤S7042:
步骤S7042,在第一推送客户端成功从推送消息中解密获得安全级别指示标记时,执行步骤S709~S711。
由于推送服务器发送的推送消息是通过TEE会话密钥加密的,第一推送客户端具有TEE会话密钥,可以解密推送消息,则执行步骤S709~711。
步骤S705,第一推送客户端向第二推送客户端转发推送消息。
第一推送客户端不需要对该推送消息进行处理,则将推送消息转发给第二推送客户端进行处理。
步骤S706,第二推送客户端使用预设的TEE会话密钥对推送消息进行解密,并根据安全级别指示标记确定对该推送消息进行处理并根据设备唤醒指示扫描与终端关联的第二设备。
由于推送服务器对于第二安全级别标记的设备唤醒指示使用的是TEE会话密钥加密的,因此第二推送客户端使用在密钥协商阶段生成的TEE会话密钥对推送消息解密即可获取到推送消息中的设备唤醒指示。
在解密得到设备唤醒指示后,由于检测到第二安全级别标记,确定由第二推送客户端对该推送消息进行处理,第二推送客户端则调用蓝牙低功耗GP安全配置服务(BLE GPService,Bluetooth Low Energy Global Platform Service)接口,可以根据推送对象标识扫描第二设备,这里第二设备可以指可穿戴设备或物联网设备等等。
步骤S707,第二推送客户端与终端关联的第二设备建立连接,并通知推送服务器。
步骤S708,推送服务器通过第二推送客户端向第二设备发送缓存的推送数据。
推送服务器向第二推送客户端发送推送数据时可以携带推送对象标识,从而第二推送客户端可以将推送数据发送给推送对象标识指示的与终端关联的第二设备上的目标应用程序,从而目标应用程序可以对该推送数据进行处理。
步骤S709,第一推送客户端根据安全级别指示标记确定对该推送消息进行处理,并根据设备唤醒指示扫描与终端关联的第二设备。
步骤S710,第一推送客户端与终端关联的第二设备建立连接,并通知推送服务器。
步骤S711,推送服务器通过第一推送客户端向第二设备发送缓存的推送数据。
图7a和图7b所示的实施例,将设备唤醒指示作为较高级别的推送数据在TEE中的推送客户端对其进行处理,以使TEE中的推送客户端可以根据设备唤醒指示与终端关联的第二设备建立连接,保证推送服务器通过TEE中的推送客户端向第二设备发送推送数据,避免第二设备的相关推送数据在终端的处理过程中发生信息泄露,从而可以解决推送消息的安全处理问题。
图8a和图8b是对图4a-7b的实施例中提及的密钥协商阶段过程的详细描述,即如何生成TEE会话密钥或/和REE会话密钥以及如何将会话密钥保存在第一推送客户端或/第二推送客户端中的过程。
图8a和图8b是本申请实施例中两种密钥协商方法的流程示意图。在推送客户端与推送服务器进行推送数据交互时,需要进行加密以保证推送数据的传输安全。因此,在推送服务器向终端的推送客户端发送推送消息之前,还需要对加密密钥进行协商。本申请实施例中的密钥协商过程发生在终端启动后,推送客户端与推送服务器进行连接建立的过程中。图8a和图8b所示的实施例中,第一推送客户端为终端的REE中的推送客户端,第二推送客户端为终端的TEE中的推送客户端。具体方法包括:
步骤S801,第一推送客户端向第二推送客户端发送安全传输连接建立请求。
终端的推送客户端需要与推送服务器建立连接以保证随时接收推送数据。第一推送客户端可以向第二推送客户端发送安全传输连接建立请求,安全传输连接建立请求表示终端请求与推送服务器建立安全传输层协议(TLS,Transport Layer Security)连接,从而触发密钥协商过程。
在一种可能的实施情景中,第二推送客户端能够访问网络通信接口,能够直接与推送服务器通信,则执行以下步骤S802~S810或步骤S802~805以及S811~S814。
步骤S802,第二推送客户端根据安全传输连接建立请求,生成第一随机数并利用预先获取到的第一公钥对第一随机数进行加密。
第二推送客户端在接收到安全传输连接建立请求后,就可以生成第一随机数并利用预先获取到的第一公钥对第一随机数进行加密。需要说明的是,第一公钥是指推送服务器的证书中携带的公钥。具体的,第二推送客户端可预先获得推送服务器的证书,并提取证书中的公钥用于加密发给推送服务器的随机数。
步骤S803,第二推送客户端向推送服务器发送加密的第一随机数、第一随机数的签名以及终端证书。
第二推送客户端生成加密的第一随机数后,可以将加密的第一随机数、第一随机数的签名以及终端自身的证书一同发送给推送服务器。终端的证书可以被推送服务器用于确定加密的第一随机数确实为终端所发,具体的,推送服务器可利用终端的证书验证第一随机数的签名,如签名正确则可确定第一随机数确实为终端所发,并使用终端证书中的公钥加密推送服务器生成的第二随机数。
步骤S804,推送服务器使用第一公钥对应的第一私钥对加密的第一随机数进行解密以获取第一随机数,生成第二随机数并利用从终端证书中获取到的第二公钥对第二随机数进行加密。
可以理解的是,在本申请实施例的加密方式中,推送服务器利用其私钥(第一私钥)解密推送服务器公钥(第一公钥)加密的内容;终端利用其证书对应的私钥(第二私钥)解密终端证书公钥(第二公钥)加密的内容。
因此,推送服务器使用第一公钥对应的第一私钥对加密的第一随机数进行解密可以获取到第一随机数,并进一步生成第二随机数并利用从终端证书中获取到的第二公钥对第二随机数进行加密。
步骤S805,推送服务器向第二推送客户端发送加密的第二随机数。
在图8a所示的实施情景中,协商两种密钥,分别是TEE会话密钥和REE会话密钥,则执行步骤S806~S810。可以理解的,TEE会话密钥被第二推送客户端存储于TEE的可信存储空间中,REE会话密钥被第一推送客户端存储于REE的存储空间中。
步骤S806,第二推送客户端使用第二公钥对应的第二私钥对加密的第二随机数进行解密以获取第二随机数,生成第三随机数和第四随机数并利用第一公钥对第三随机数和第四随机数进行加密。
第二推送客户端使用第二公钥对应的第二私钥对加密的第二随机数进行解密可以获取到第二随机数,并进一步生成第三随机数和第四随机数并利用第一公钥对第三随机数和第四随机数进行加密。
步骤S807,第二推送客户端向推送服务器发送加密的第三随机数和第四随机数。
步骤S808,第二推送客户端根据解密得到的第一随机数、第二随机数和本地生成的第三随机数生成REE会话密钥,根据解密得到的第一随机数、第二随机数和本地生成的第四随机数生成TEE会话密钥。
第二推送客户端根据预先约定的或者设置的加密算法,根据第一随机数、第二随机数和第三随机数生成REE会话密钥,根据第一随机数、第二随机数和第四随机数生成TEE会话密钥。其中,REE会话密钥即由第一推送客户端保存并使用的密钥,TEE会话密钥即由第二推送客户端保存并使用的密钥。
步骤S809,推送服务器根据解密得到的第一随机数、第二随机数和第三随机数生成REE会话密钥,根据解密得到的第一随机数、第二随机数和第四随机数生成TEE会话密钥。
推送服务器根据预先约定的或者设置的加密算法,根据第一随机数、第二随机数和第三随机数生成富环境会话密钥,根据第一随机数、第二随机数和第四随机数生成可信环境会话密钥。
需要说明的是,步骤S808和步骤S809中使用的加密算法为同一算法,具体的,第二推送客户端可以在密钥协商过程中或密钥协商过程之前,向推送服务器发送约定的加密算法,也可以是预先已经设定了第二推送客户端与推送服务器之间的加密算法。
步骤S810,第二推送客户端向第一推送客户端发送REE会话密钥。
第一推送客户端保存REE会话密钥以备后续使用。
在图8b所示的实施情景中,协商一种密钥即TEE会话密钥,则执行步骤S811~814。TEE会话密钥被第二推送客户端存储于TEE的可信存储空间中。
步骤S811,第二推送客户端使用第二公钥对应的第二私钥对加密的第二随机数进行解密以获取第二随机数,生成第三随机数并利用第一公钥对第三随机数进行加密。
步骤S812,第二推送客户端向推送服务器发送加密的第三随机数。
步骤S813,第二推送客户端根据解密得到的第一随机数、第二随机数和第三随机数生成TEE会话密钥。
步骤S814,推送服务器根据解密得到的第一随机数、第二随机数和第三随机数生成TEE会话密钥。
在另一种可能的实施情景中,第二推送客户端无法访问网络通信接口,不能够直接与推送服务器通信,因此需要通过第一推送客户端进行转发。因此,步骤S803可以包括:
步骤S8031,第二推送客户端向第一推送客户端发送加密的第一随机数、第一随机数的签名以及终端证书。
步骤S8032,第一推送客户端向推送服务器发送加密的第一随机数、第一随机数的签名以及终端证书。
步骤S805可以包括:
步骤S8051,推送服务器向第一推送客户端发送加密的第二随机数。
步骤S8052,第一推送客户端向第二推送客户端发送加密的第二随机数。
步骤S807可以包括:
步骤S8071,第二推送客户端向第一推送客户端发送加密的第三随机数和第四随机数。
步骤S8072,第一推送客户端向推送服务器发送加密的第三随机数和第四随机数。
步骤S812可以包括:
步骤S8121,第二推送客户端向第一推送客户端发送加密的第三随机数。
步骤S8122,第一推送客户端向推送服务器发送加密的第三随机数。
图9是本申请实施例中一种终端应用程序注册方法的流程示意图。在应用服务器通过推送服务器向终端的应用程序发送推送消息之前,终端以及在该终端上运行的某一应用程序都需要先在推送服务器上进行注册,从而推送服务器后续才可以向该终端的该应用程序发送推送数据。图9所示的实施例中,第一推送客户端为终端的REE中的推送客户端,第二推送客户端为终端的TEE中的推送客户端。具体方法包括:
步骤S901,终端的第一应用程序向第一推送客户端发送第一注册请求,所述第一注册请求中包括第一应用程序标识。
终端在完成对第一应用程序的安装并被用户登录成功后,可以向第一推送客户端发送第一注册请求,其中第一注册请求中包括第一应用程序标识,这里的第一应用程序标识可以指第一应用程序的名称或应用访问接口等,这里不作具体限定。
在一种可能的实施场景中,第一注册请求中还包括推送消息处理策略,消息处理策略可以用于指示第二推送客户端在后续获取到了推送数据后应该执行哪一种处理方法。具体来说,消息处理策略可以指示第二推送客户端将获取到的推送数据发送给第一应用程序对应的可信应用部分进行显示;消息处理策略也可以指示第二推送客户端在TEE中统一调用可信用户界面(TUI,Trusted User Interface)进行显示;消息处理策略还可以指示第二推送客户端拉起与之关联的设备,例如可穿戴设备等。
进一步的,终端在完成对第一应用程序的安装并被用户登录成功后,还可以从第一应用程序对应的第一应用服务器获取到授权码,用于后续身份验证。
步骤S902,第一推送客户端向第二推送客户端发送第一注册请求。
步骤S903,第二推送客户端根据第一注册请求向推送服务器发送第二注册请求,所述第二注册请求包括第一应用程序标识以及终端标识。
第二推送客户端在接收到第一注册请求之后,可以获取到第一应用程序标识并进一步添加终端标识,从而生成第二注册请求。其中,终端标识可以是终端的设备标识码或REE标识,在本申请实施例中,终端标识还可以是TEE标识。也就是说,第二推送客户端可以将其所在的TEE标识作为终端标识以及获取到的第一推送客户端所在的REE标识共同作为终端标识添加在第二注册请求中发送给推送服务器,也即在推送服务器中对应注册两种终端执行环境的推送服务。
步骤S904,推送服务器根据第一应用程序标识以及终端标识,生成终端应用标识。
推送服务器根据第一应用程序标识以及终端标识,就可以将两者关联从而得到一个与两者相关的终端应用标识,该终端应用标识可以表征发送第一注册请求的当前终端的第一应用程序。
在一种可能的实施场景中,推送服务器在生成终端应用标识之前,可以先根据第一应用程序标识判断推送服务器是否与第一应用程序对应的第一应用服务器签约。这里签约可以指推送服务器具备为第一应用服务器进行推送服务的权限。若已签约,则生成终端应用标识。
步骤S905,推送服务器向第一应用程序发送终端应用标识。
步骤S906,第一应用程序向第一应用程序对应的第一应用服务器发送终端应用标识以及预先从第一应用服务器获取到的授权码。
步骤S907,第一应用服务器确定授权码合法并将终端应用标识添加至推送服务列表。
第一应用服务器在接收到第一应用程序发送的授权码后,首先对其合法性进行验证,若验证成功,则可以将接收到的终端应用标识添加至推送服务列表。推送服务列表中的终端应用标识均为可以进行推送服务的终端,第一应用服务器在进行推送时,就根据推送服务列表中的终端应用标识,向各个终端进行推送服务。
进一步的,第一应用服务器还可以将终端应用标识与特定的用户进行关联,也即成功登陆第一应用程序的用户。
此时,第一应用程序以及其所在的终端完成注册,第一应用服务器以及推送服务器可以向第一应用程序所在的终端发送推送消息。
请参阅图10,图10是本申请实施例提供的一种终端的结构示意图。如图10所示,该终端包括第一推送客户端10和第二推送客户端20,所述第一推送客户端10包括第一收发模块101和第一处理模块102,所述第二推送客户端20包括第二收发模块201和第二处理模块202,其中:
所述第一收发模块101,用于接收推送服务器发送的推送消息,所述推送消息中包含安全级别指示标记和推送数据;
所述第一处理模块102,用于根据安全级别指示标记判断是否需要对所述推送消息进行处理;
所述第一收发模块101还用于:在确定不需要对所述推送消息进行处理时,向所述第二收发模块转发所述推送数据;
所述第二收发模块201,用于接收所述推送数据;
所述第二处理模块202,用于对所述推送数据进行处理;
其中所述第一推送客户端为所述终端的第一运行环境中的推送客户端,所述第二推送客户端为所述终端的第二运行环境中的推送客户端。
可选的,所述安全级别指示标记包括第一安全级别标记或第二安全级别标记,所述第一安全级别标记用于指示所述推送数据由REE会话密钥加密;所述第二安全级别标记用于指示所述推送数据由可信执行环境TEE会话密钥加密。
在一种可能的实施场景中,所述第一运行环境为REE,所述第一推送客户端10为所述终端的REE中的推送客户端;所述第二运行环境为TEE,所述第二推送客户端20为所述终端的TEE中的推送客户端;
所述第一处理模块102具体用于:
若所述安全级别指示标记为所述第一安全级别标记,则所述第一处理模块102需要对所述推送消息进行处理;若所述安全级别指示标记为所述第二安全级别标记,则所述第一处理模块102不需要对所述推送消息进行处理。
可选的,所述第二处理模块202具体用于:
使用所述TEE会话密钥对所述推送数据进行解密。
可选的,所述TEE会话密钥为所述第二处理模块202和所述推送服务器根据所述第二处理模块生成的随机数和所述推送服务器生成的随机数协商确定的。
在另一种可能的实施场景中,所述第一运行环境为TEE,所述第一推送客户端10为所述终端的TEE中的推送客户端;所述第二运行环境为REE,所述第二推送客户端20为所述终端的REE中的推送客户端;
所述第一处理模块102具体用于:
若所述安全级别指示标记为第一安全级别标记,则所述第一处理模块102不需要对所述推送消息进行处理;若所述安全级别指示标记为第二安全级别标记,则所述第一处理模块102需要对所述推送消息进行处理。
可选的,所述第二处理模块202具体用于:
使用所述REE会话密钥对所述推送数据进行解密。
可选的,所述REE会话密钥为所述第一处理模块102和所述推送服务器根据所述第一处理模块102生成的随机数和所述推送服务器生成的随机数协商确定后发送给所述第二收发模块201的。
可选的,所述第一处理模块102还用于:
若确定需要对所述推送消息进行处理,则使用所述TEE会话密钥对所述推送数据进行解密并调用可信用户界面TUI显示解密后的推送数据或将解密后的推送数据保存于可信存储空间中。
可选的,所述推送消息由TEE会话密钥加密后生成。
在另一种可能的实施场景中,所述第一运行环境为TEE,所述第一推送客户端10为所述终端的TEE中的推送客户端;所述第二运行环境为REE,所述第二推送客户端20为所述终端的REE中的推送客户端;
所述第一处理模块102还用于:
使用所述TEE会话密钥对所述推送消息进行解密以获取所述推送数据。
可选的,所述TEE会话密钥为所述第一处理模块102和所述推送服务器根据所述第一处理模块102生成的随机数和所述推送服务器生成的随机数协商确定的。
在另一种可能的实施场景中,所述第一运行环境为REE,所述第一推送客户端10为所述终端的REE中的推送客户端;所述第二运行环境为TEE,所述第二推送客户端20为所述终端的TEE中的推送客户端;
所述第一处理模块102具体用于:
若无法从所述推送消息中解密获得所述安全级别指示标记,则不需要对所述推送消息进行处理。
可选的,所述第二处理模块202具体用于:
使用所述TEE会话密钥对所述推送消息进行解密。
可选的,所述推送数据包括设备唤醒指示;
所述第一收发模块101具体用于:
向所述第二收发模块201转发所述设备唤醒指示;
所述第二处理模块202具体用于:
使用所述TEE会话密钥对所述设备唤醒指示进行解密,并根据所述设备唤醒指示与所述设备唤醒指示对应的第二设备建立连接。
可选的,所述推送数据包括设备唤醒指示;
所述第一处理模块102还用于:
若需要对所述推送消息进行处理,则使用所述TEE会话密钥对所述设备唤醒指示进行解密,并根据所述设备唤醒指示与所述设备唤醒指示对应的第二设备建立连接。
可选的,所述推送消息还包括推送对象标识;
所述第一收发模块101具体用于:
向所述第二收发模块201转发所述推送数据以及所述推送对象标识;
所述第二处理模块202还用于:
将所述推送数据发送给所述推送对象标识指示的目标应用程序。
可选的,所述第二处理模块202具体用于:
将所述推送数据发送给所述推送对象标识指示的与所述终端关联的第二设备上的目标应用程序。
图10所示的实施例,终端根据推送消息对应的安全级别,将推送消息中的推送数据发送至相应的推送客户端进行处理,避免安全级别较高的敏感信息在终端的处理过程中发送信息泄露,从而可以解决推送消息的安全处理问题。
图10所示实施例中的终端可以以图11所示的终端实现。请参阅图11,图11是本发明实施例提供的另一种终端的结构示意图。如图11所示,该终端包括处理器111、存储器112以及通信接口113。处理器111连接到存储器112和通信接口113,例如处理器111可以通过总线连接到存储器112和通信接口113。
在本申请实施例中,处理器111用于实现图10所示的第一处理模块102和第二处理模块202的功能。通信接口113用于实现图10所示的第一收发模块101和第二收发模块201的功能。
其中,处理器111被配置为支持所述终端执行上述消息推送方法中相应的功能。该处理器111可以是中央处理器(英文:central processing unit,CPU),网络处理器(英文:network processor,NP),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,ASIC),可编程逻辑器件(英文:programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,FPGA),通用阵列逻辑(英文:generic array logic,GAL)或其任意组合。
存储器112存储器用于存储推送消息以及程序代码等。存储器112可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random access memory,缩写:RAM);存储器112也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器112还可以包括上述种类的存储器的组合。
通信接口113用于与推送服务器等设备收发上述方法中所涉及的消息。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (26)

1.一种消息推送方法,其特征在于,包括:
第一推送客户端接收推送服务器发送的推送消息,所述推送消息中包含安全级别指示标记和推送数据;
所述第一推送客户端根据安全级别指示标记判断是否需要对所述推送消息进行处理,对所述推送消息进行处理包括使用第一运行环境对应的密钥对所述推送数据进行解密;
若确定不需要对所述推送消息进行处理,则所述第一推送客户端向第二推送客户端转发所述推送数据,以便所述第二推送客户端对所述推送数据进行处理;对所述推送数据进行处理包括使用第二运行环境对应的密钥对所述推送数据进行解密;
其中所述第一推送客户端为终端的第一运行环境中的推送客户端,所述第二推送客户端为所述终端的第二运行环境中的推送客户端;所述安全级别指示标记包括第一安全级别标记或第二安全级别标记,所述第一安全级别标记用于指示所述推送数据由REE会话密钥加密;所述第二安全级别标记用于指示所述推送数据由可信执行环境TEE会话密钥加密。
2.如权利要求1所述的方法,其特征在于,所述第一运行环境为REE,所述第一推送客户端为所述终端的REE中的推送客户端;所述第二运行环境为TEE,所述第二推送客户端为所述终端的TEE中的推送客户端;
所述第一推送客户端根据安全级别指示标记判断是否需要对所述推送消息进行处理包括:
若所述安全级别指示标记为所述第一安全级别标记,则所述第一推送客户端需要对所述推送消息进行处理;若所述安全级别指示标记为所述第二安全级别标记,则所述第一推送客户端不需要对所述推送消息进行处理。
3.如权利要求2所述的方法,其特征在于,所述第一推送客户端向第二推送客户端转发所述推送数据,以便所述第二推送客户端对所述推送数据进行处理包括:
所述第一推送客户端向所述第二推送客户端转发所述推送数据,以便所述第二推送客户端使用所述TEE会话密钥对所述推送数据进行解密。
4.如权利要求2所述的方法,其特征在于,所述TEE会话密钥为所述第二推送客户端和所述推送服务器根据所述第二推送客户端生成的随机数和所述推送服务器生成的随机数协商确定的。
5.如权利要求1所述的方法,其特征在于,所述第一运行环境为TEE,所述第一推送客户端为所述终端的TEE中的推送客户端;所述第二运行环境为REE,所述第二推送客户端为所述终端的REE中的推送客户端;
所述第一推送客户端根据安全级别指示标记判断是否需要对所述推送消息进行处理包括:
若所述安全级别指示标记为第一安全级别标记,则所述第一推送客户端不需要对所述推送消息进行处理;若所述安全级别指示标记为第二安全级别标记,则所述第一推送客户端需要对所述推送消息进行处理。
6.如权利要求5所述的方法,其特征在于,所述第一推送客户端向第二推送客户端转发所述推送数据,以便所述第二推送客户端对所述推送数据进行处理,包括:
所述第一推送客户端向所述第二推送客户端转发所述推送数据,以便所述第二推送客户端使用所述REE会话密钥对所述推送数据进行解密。
7.如权利要求5所述的方法,其特征在于,所述REE会话密钥为所述第一推送客户端和所述推送服务器根据所述第一推送客户端生成的随机数和所述推送服务器生成的随机数协商确定后发送给所述第二推送客户端的。
8.如权利要求5-7任一项所述的方法,其特征在于,所述第一运行环境对应的密钥为所述TEE会话密钥;所述方法还包括:
若所述第一推送客户端确定需要对所述推送消息进行处理,则所述第一推送客户端调用可信用户界面TUI显示解密后的推送数据或将解密后的推送数据保存于可信存储空间中。
9.如权利要求2所述的方法,其特征在于,所述推送数据包括设备唤醒指示;
所述第一推送客户端向第二推送客户端转发所述推送数据,以便所述第二推送客户端对所述推送数据进行处理包括:
所述第一推送客户端向所述第二推送客户端转发所述设备唤醒指示,以便所述第二推送客户端使用所述TEE会话密钥对所述设备唤醒指示进行解密,并根据所述设备唤醒指示与所述设备唤醒指示对应的第二设备建立连接。
10.如权利要求5-7任一项所述的方法,其特征在于,所述推送数据包括设备唤醒指示;
所述方法还包括:
若所述第一推送客户端需要对所述推送消息进行处理,则所述第一推送客户端使用所述TEE会话密钥对所述设备唤醒指示进行解密,并根据所述设备唤醒指示与所述设备唤醒指示对应的第二设备建立连接。
11.如权利要求1-7、9任一项所述的方法,其特征在于,所述推送消息还包括推送对象标识;
所述第一推送客户端向第二推送客户端转发所述推送数据,以便所述第二推送客户端对所述推送数据进行处理包括:
所述第一推送客户端向所述第二推送客户端转发所述推送数据以及所述推送对象标识,所述推送对象标识被所述第二推送客户端用于将所述推送数据发送给所述推送对象标识指示的目标应用程序。
12.如权利要求11所述的方法,其特征在于,所述推送对象标识被所述第二推送客户端用于将所述推送数据发送给所述推送对象标识指示的与所述终端关联的第二设备上的目标应用程序。
13.如权利要求1-7、9任一项所述的方法,其特征在于,所述方法还包括:
若确定需要对所述推送消息进行处理,则所述第一推送客户端使用第一运行环境对应的密钥对所述推送数据进行解密。
14.一种终端,其特征在于,所述终端包括第一推送客户端和第二推送客户端,所述第一推送客户端包括第一收发模块和第一处理模块,所述第二推送客户端包括第二收发模块和第二处理模块,其中:
所述第一收发模块,用于接收推送服务器发送的推送消息,所述推送消息中包含安全级别指示标记和推送数据;
所述第一处理模块,用于根据安全级别指示标记判断是否需要对所述推送消息进行处理,对所述推送消息进行处理包括使用第一运行环境对应的密钥对所述推送数据进行解密;
所述第一收发模块还用于:在确定不需要对所述推送消息进行处理时,向所述第二收发模块转发所述推送数据;
所述第二收发模块,用于接收所述推送数据;
所述第二处理模块,用于对所述推送数据进行处理;对所述推送数据进行处理包括使用第二运行环境对应的密钥对所述推送数据进行解密;
其中所述第一推送客户端为所述终端的第一运行环境中的推送客户端,所述第二推送客户端为所述终端的第二运行环境中的推送客户端;所述安全级别指示标记包括第一安全级别标记或第二安全级别标记,所述第一安全级别标记用于指示所述推送数据由REE会话密钥加密;所述第二安全级别标记用于指示所述推送数据由可信执行环境TEE会话密钥加密。
15.如权利要求14所述的终端,其特征在于,所述第一运行环境为REE,所述第一推送客户端为所述终端的REE中的推送客户端;所述第二运行环境为TEE,所述第二推送客户端为所述终端的TEE中的推送客户端;
所述第一处理模块具体用于:
若所述安全级别指示标记为所述第一安全级别标记,则所述第一处理模块需要对所述推送消息进行处理;若所述安全级别指示标记为所述第二安全级别标记,则所述第一处理模块不需要对所述推送消息进行处理。
16.如权利要求15所述的终端,其特征在于,所述第二处理模块具体用于:
使用所述TEE会话密钥对所述推送数据进行解密。
17.如权利要求15所述的终端,其特征在于,所述TEE会话密钥为所述第二处理模块和所述推送服务器根据所述第二处理模块生成的随机数和所述推送服务器生成的随机数协商确定的。
18.如权利要求14所述的终端,其特征在于,所述第一运行环境为TEE,所述第一推送客户端为所述终端的TEE中的推送客户端;所述第二运行环境为REE,所述第二推送客户端为所述终端的REE中的推送客户端;
所述第一处理模块具体用于:
若所述安全级别指示标记为第一安全级别标记,则所述第一处理模块不需要对所述推送消息进行处理;若所述安全级别指示标记为第二安全级别标记,则所述第一处理模块需要对所述推送消息进行处理。
19.如权利要求18所述的终端,其特征在于,所述第二处理模块具体用于:
使用所述REE会话密钥对所述推送数据进行解密。
20.如权利要求18所述的终端,其特征在于,所述REE会话密钥为所述第一处理模块和所述推送服务器根据所述第一处理模块生成的随机数和所述推送服务器生成的随机数协商确定后发送给所述第二收发模块的。
21.如权利要求18-20任一项所述的终端,其特征在于,所述第一运行环境对应的密钥为所述TEE会话密钥;所述第一处理模块还用于:
若确定需要对所述推送消息进行处理,则调用可信用户界面TUI显示解密后的推送数据或将解密后的推送数据保存于可信存储空间中。
22.如权利要求15所述的终端,其特征在于,所述推送数据包括设备唤醒指示;
所述第一收发模块具体用于:
向所述第二收发模块转发所述设备唤醒指示;
所述第二处理模块具体用于:
使用所述TEE会话密钥对所述设备唤醒指示进行解密,并根据所述设备唤醒指示与所述设备唤醒指示对应的第二设备建立连接。
23.如权利要求18-20任一项所述的终端,其特征在于,所述推送数据包括设备唤醒指示;
所述第一处理模块还用于:
若需要对所述推送消息进行处理,则使用所述TEE会话密钥对所述设备唤醒指示进行解密,并根据所述设备唤醒指示与所述设备唤醒指示对应的第二设备建立连接。
24.如权利要求14-20、22任一项所述的终端,其特征在于,所述推送消息还包括推送对象标识;
所述第一收发模块具体用于:
向所述第二收发模块转发所述推送数据以及所述推送对象标识;
所述第二处理模块还用于:
将所述推送数据发送给所述推送对象标识指示的目标应用程序。
25.如权利要求24所述的终端,其特征在于,所述第二处理模块具体用于:
将所述推送数据发送给所述推送对象标识指示的与所述终端关联的第二设备上的目标应用程序。
26.如权利要求14-20、22任一项所述的终端,其特征在于,所述第一处理模块还用于:
在确定需要对所述推送消息进行处理时,使用第一运行环境对应的密钥对所述推送数据进行解密。
CN201780009070.5A 2016-11-14 2017-02-28 一种消息推送方法及终端 Active CN108605046B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2016110001813 2016-11-14
CN201611000181 2016-11-14
PCT/CN2017/075196 WO2018086279A1 (zh) 2016-11-14 2017-02-28 一种消息推送方法及终端

Publications (2)

Publication Number Publication Date
CN108605046A CN108605046A (zh) 2018-09-28
CN108605046B true CN108605046B (zh) 2021-02-12

Family

ID=62109999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780009070.5A Active CN108605046B (zh) 2016-11-14 2017-02-28 一种消息推送方法及终端

Country Status (4)

Country Link
US (1) US11258871B2 (zh)
EP (1) EP3447992B1 (zh)
CN (1) CN108605046B (zh)
WO (1) WO2018086279A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109214215B (zh) * 2018-06-19 2021-10-26 中国银联股份有限公司 基于tee和ree的分离式切换方法及其系统
US20220255735A1 (en) * 2021-02-08 2022-08-11 Visa International Service Association Blinding techniques for post-quantum public keys

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103229523A (zh) * 2010-10-15 2013-07-31 三星电子株式会社 用于接收移动消息的装置及方法
CN105260663A (zh) * 2015-09-15 2016-01-20 中国科学院信息工程研究所 一种基于TrustZone技术的安全存储服务系统及方法
CN105516104A (zh) * 2015-12-01 2016-04-20 神州融安科技(北京)有限公司 一种基于tee的动态口令的身份验证方法及系统
CN105991569A (zh) * 2015-02-09 2016-10-05 中国科学院信息工程研究所 一种tls通讯数据安全传输方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8064896B2 (en) 2009-03-09 2011-11-22 Apple Inc. Push notification service
CN102333105B (zh) * 2010-07-14 2014-02-19 华为技术有限公司 业务通信的方法、系统、推送客户端和用户设备
CN105279398A (zh) 2014-05-29 2016-01-27 宇龙计算机通信科技(深圳)有限公司 信息的保护方法、装置及终端
CN105450406B (zh) 2014-07-25 2018-10-02 华为技术有限公司 数据处理的方法和装置
CN105446713B (zh) * 2014-08-13 2019-04-26 阿里巴巴集团控股有限公司 安全存储方法及设备
CN105590061B (zh) 2014-12-17 2018-09-21 中国银联股份有限公司 用于可信执行环境的安全操作系统更新方法
KR102485830B1 (ko) 2015-02-13 2023-01-09 삼성전자주식회사 보안 정보의 처리
CN105991287B (zh) 2015-02-26 2019-07-12 阿里巴巴集团控股有限公司 一种签名数据的生成及指纹认证请求方法及装置
US10489178B2 (en) * 2015-04-28 2019-11-26 Altera Corporation Network functions virtualization platforms with function chaining capabilities
CN105282149A (zh) 2015-09-16 2016-01-27 宇龙计算机通信科技(深圳)有限公司 数据处理方法、装置、终端、数据传输方法、装置和终端
CN105592071A (zh) * 2015-11-16 2016-05-18 中国银联股份有限公司 一种在设备之间进行授权的方法和装置
CN105335673A (zh) 2015-12-14 2016-02-17 联想(北京)有限公司 一种信息安全处理方法和信息安全处理装置
CN105975867B (zh) 2016-04-28 2018-06-12 东莞市华睿电子科技有限公司 一种数据处理方法
US10225359B2 (en) * 2016-09-22 2019-03-05 International Business Machines Corporation Push notifications from multiple tenant servers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103229523A (zh) * 2010-10-15 2013-07-31 三星电子株式会社 用于接收移动消息的装置及方法
CN105991569A (zh) * 2015-02-09 2016-10-05 中国科学院信息工程研究所 一种tls通讯数据安全传输方法
CN105260663A (zh) * 2015-09-15 2016-01-20 中国科学院信息工程研究所 一种基于TrustZone技术的安全存储服务系统及方法
CN105516104A (zh) * 2015-12-01 2016-04-20 神州融安科技(北京)有限公司 一种基于tee的动态口令的身份验证方法及系统

Also Published As

Publication number Publication date
CN108605046A (zh) 2018-09-28
EP3447992B1 (en) 2020-09-23
US11258871B2 (en) 2022-02-22
EP3447992A4 (en) 2019-05-22
WO2018086279A1 (zh) 2018-05-17
EP3447992A1 (en) 2019-02-27
US20190289090A1 (en) 2019-09-19

Similar Documents

Publication Publication Date Title
CN110971415B (zh) 一种天地一体化空间信息网络匿名接入认证方法及系统
US11509476B2 (en) System and method for enabling secure service-based communications via 5G proxies
JP6923611B2 (ja) サービス層におけるコンテンツセキュリティ
CN108604985B (zh) 数据传送方法、控制数据使用的方法以及密码设备
JP5978759B2 (ja) サービス要求装置、サービス提供システム、サービス要求方法およびサービス要求プログラム
US20180159694A1 (en) Wireless Connections to a Wireless Access Point
CN109905350B (zh) 一种数据传输方法及系统
CN110769420B (zh) 网络接入方法、装置、终端、基站和可读存储介质
WO2017097101A1 (zh) 用于账号登录的方法和装置
WO2018220693A1 (ja) 情報処理装置、検証装置、情報処理システム、情報処理方法、及び、記録媒体
CN114584299B (zh) 数据处理方法、装置、电子设备和存储介质
CN113615220A (zh) 一种安全通信方法和装置
CN116633582A (zh) 安全通信方法、装置、电子设备及存储介质
CN108605046B (zh) 一种消息推送方法及终端
EP3679684B1 (en) Securing outside-vehicle communication using ibc
CN111836260A (zh) 一种认证信息处理方法、终端和网络设备
CN112437436B (zh) 一种身份认证方法及装置
WO2009004590A2 (en) Method, apparatus, system and computer program for key parameter provisioning
KR20180080655A (ko) 카드를 이용한 알에스에이 분산 키 관리 시스템 및 방법
WO2021082558A1 (zh) 网络切片的访问控制方法、装置及存储介质
Anantharaman et al. Scalable identity and key management for publish-subscribe protocols in the Internet-of-Things
JP2012138729A (ja) データ処理装置、プログラム、およびデータ処理システム
CN110048843B (zh) 会话密钥传输方法、设备及计算机可读存储介质
CN118802151A (zh) 一种匿名认证方法、AAnF网元、用户设备及存储介质
Mohamed et al. A Pre-shared Diffie-Hellman Key Exchange Scheme for a Secure TFTP Protocol

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