CN117714087A - 文件加密传输方法、系统、介质及设备 - Google Patents

文件加密传输方法、系统、介质及设备 Download PDF

Info

Publication number
CN117714087A
CN117714087A CN202211099432.3A CN202211099432A CN117714087A CN 117714087 A CN117714087 A CN 117714087A CN 202211099432 A CN202211099432 A CN 202211099432A CN 117714087 A CN117714087 A CN 117714087A
Authority
CN
China
Prior art keywords
user
file
key
certificate
user equipment
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
Application number
CN202211099432.3A
Other languages
English (en)
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
Priority to CN202211099432.3A priority Critical patent/CN117714087A/zh
Publication of CN117714087A publication Critical patent/CN117714087A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本申请涉及通信技术领域,公开了一种文件加密传输方法,保证了文件密钥的安全性,并提升了文件分享的安全性。该方法包括:第一用户设备使用第一会话密钥将文件密钥加密为文件密钥密文,第一会话密钥根据服务器的证书公钥、第二用户设备的证书公钥和第一用户的证书私钥生成的;第一用户设备向第三用户设备发送文件密钥密文、文件访问权限的信息和密文文件;第三用户设备从服务器获取中间密钥;第三用户设备根据中间密钥、第一用户设备的证书公钥和第三用户设备的证书私钥,生成第二会话密钥,第二会话密钥与第一会话密钥相同;第三用户设备使用第二会话密钥解密文件密钥密文得到文件密钥的明文,使用文件密钥解密密文文件得到分享文件。

Description

文件加密传输方法、系统、介质及设备
技术领域
本申请涉及通信技术领域,特别涉及一种文件加密传输方法、系统、介质及设备。
背景技术
人们在日常工作和生活中通常会通过社交软件、电子邮件(Electronic Mail,Email)或其他方式与他人分享文件。为了保证文件分享的安全性,可以对分享的文件设置访问权限。那么,设置权限后的文件即使被其他用户获得的,该用户也不能访问。
参照图1所示,为现有技术涉及的一种文件分享的系统架构。其中,发送方设备A和接收方设备B作为权限管理服务(Rights Management Services,RMS)客户端与RMS服务器交互实现文件的权限管理。具体地,图1示出的文件分享流程包括如下4个阶段:
1、RMS客户端申请用户证书:发送方设备A和接收方设备B在初始化时会分别向RMS服务器发送用户证书申请请求,每个请求中携带一个用户登录凭证。RMS服务器对相应的用户登录凭证和身份进行认证,认证通过后,通过用户证书申请响应向发送方设备A和接收方设备B分别颁发用户证书(包含公钥)和对应的证书私钥。而这些用户设备的用户证书的公私钥对是由RMS服务器生成并存储的。
2、发送方设备A对文件进行加密并设置访问权限:发送方设备A对文件设置访问权限,并使用文件密钥对文件进行加密得到密文文件,该文件密钥被RMS服务器的公钥加密为文件密钥密文(记为文件密钥密文1)。进而,将设置的访问权限和文件密钥密文1封装为auth Policy,该auth Policy由发送方设备A的用户证书的私钥进行签名,从而得到包含auth Policy和密文文件的受保护文件。
3、发送方设备A向接收方设备B发送受保护文件。
4、接收方设备B申请use Policy和解密/使用文件:4.1、接收方的设备B上传authPolicy和用户证书到RMS服务器申请use Policy。4.2、RMS服务器对接收方设备B的用户证书进行认证,从auth Policy中解密出文件密钥,并使用该用户证书的公钥加密文件密钥得到文件密钥密文(记为文件密钥密2),把该文件密钥密文2和访问权限封装为use Policy,进而将use Policy返回给接收方设备B。4.3、接收方的设备B使用其用户证书的私钥解密出use Policy中的文件密钥和访问权限,使用该文件密钥对密文文件解密,进而按照访问权限使用该文件。
然而,上述实现方式中存在以下问题为:一方面,RMS服务器在接收方设备B申请use Policy时,可以解密出文件密钥的明文。那么,如果RMS服务器被恶意攻击或者出现故障将可能导致这些文件密钥的明文泄露,或者如果RMS服务器拦截到发送方设备A发送给接收方设备B的受保护文件时能够解密出原始文件,从而在2C(面向消费,To Consumer)网络的场景中RMS服务器不能自证清白,会受到消费者质疑。另一方面,RMS服务器托管了用户证书的私钥,增加了用户证书的私钥泄露的安全风险。
发明内容
本申请提供一种文件加密传输方法、系统、介质及设备,保证了文件密钥的安全性,并提升了文件分享的安全性。
第一方面,本申请实施例提供了一种文件加密传输方法,包括:第一用户设备使用第一会话密钥将文件密钥加密为文件密钥密文,文件密钥用于将分享文件加密为密文文件,第一会话密钥是第一用户设备根据服务器的证书公钥、第二用户设备的证书公钥和在本地生成的第一用户的证书私钥生成的,第二用户设备为第一用户设备设置的文件访问权限指示的用户设备;第一用户设备向第三用户设备发送文件密钥密文、文件访问权限的信息和密文文件;第三用户设备从服务器获取中间密钥,中间密钥为服务器使用服务器的证书私钥和第一用户设备的证书公钥生成的;第三用户设备根据中间密钥、第一用户设备的证书公钥和本地生成的第三用户设备的证书私钥,生成第二会话密钥,第二会话密钥与第一会话密钥相同;第三用户设备使用第二会话密钥解密文件密钥密文得到文件密钥的明文;第三用户设备使用文件密钥解密密文文件得到分享文件。
可以理解,第一用户设备可以为下文中的发送方设备,第二用户设备为发送方用户设置的允许访问分享文件的设备,第三用户设备为下文中的接收方设备。例如,第二用户设备与第三用户设备相同。上述服务器为下文中的DRM服务器。
本申请中,各个用户设备可以生成并存储用户证书的公钥和私钥。并且,由于第一会话密钥为第一用户设备、第二用户设备以及服务器进行三方的密钥协商算法协商出的会话密钥。那么,在第三用户设备向服务器请求密文文件的解密策略信息时,由于服务器无法获取第一用户设备的证书私钥或者第三用户设备的证书私钥而无法获取文件密钥的明文,能够自证清白,保证了文件密钥的安全性。并且,由于服务器不需要托管用户证书的私钥,保证了用户证书的私钥的安全性。从而,提升了文件分享的安全性,能够有效避免文件中的私密数据、机密数据以及具有版权的数据被泄露。
在上述第一方面的一种可能的实现方式中,第三用户设备按照文件访问权限访问分享文件。那么,第三用户设备智能按照文件访问权限规定的权限访问分享文件,例如访问权限为仅访问不能编辑和转发,那么第三用户设备将无法编辑和转发该文件,有利于文件的版权保护。
在上述第一方面的一种可能的实现方式中,上述方法还包括:第三用户设备向服务器发送文件访问权限的信息;服务器根据文件访问权限,对第三用户设备进行授权认证;其中,中间密钥为服务器对第三用户设备授权认证成功后生成并发送的。可以理解,服务器对第三用户设备授权认证成功说明第三用户设备为安全且有权限访问分享文件的用户设备,进而说明后续第三用户设备访问分享文件不破坏分享文件的版权,也不会造成分享文件的数据泄露。
在上述第一方面的一种可能的实现方式中,文件访问权限包括以下至少一项:允许访问的用户列表、允许访问的应用程序、允许访问的设备类型、允许访问的设备安全级别、允许的文件操作权限、权限有效期。可以理解,只有符合文件访问权限中所有条件的用户设备才能按照相应权限使用分享文件。所设定的允许访问的应用程序、设备类型、设备安全级别等有利于提升文件版权保护。
在上述第一方面的一种可能的实现方式中,第一会话密钥=(服务器的证书公钥+第二用户设备的证书公钥)*第一用户设备的证书私钥;中间密钥=第一用户设备的证书公钥*服务器的证书私钥;第二会话密钥=中间密钥+第一用户设备的证书公钥*第三用户设备的证书私钥。作为示例,第三用户设备为第二用户设备,当第二用户设备为多个时,第三用户设备为其中的任意一个。那么,按照上述三方协商出的第一会话密钥、中间密钥和第二会话密钥,能够保证第一会话密钥等于第二会话密钥的同时,服务器不能获知各个用户设备的证书私钥也就不能解析文件密钥密文。
第二方面,本申请实施例提供了一种文件加密传输方法,应用于第一用户设备(即发送方设备),包括:第一用户设备获取分享文件;第一用户设备对分享文件设置文件访问权限;第一用户设备使用文件密钥对分享文件加密,得到密文文件;第一用户设备从服务器获取第二用户的证书公钥,第二用户设备为文件访问权限指示的用户设备;第一用户设备根据服务器的证书公钥、第二用户设备的证书公钥和第一用户设备的证书私钥生成第一会话密钥,其中各个用户设备的证书公钥和证书私钥为相应的用户设备生成并存储的,第二用户设备为文件访问权限指示的用户设备;第一用户设备使用第一会话密钥对文件密钥加密,得到文件密钥密文;第一用户设备向第三用户设备发送文件密钥密文、访问权限的信息和密文文件。
在上述第二方面的一种可能的实现方式中,第一用户设备生成第一用户设备对应的证书公钥和证书私钥;第一用户设备向服务器发送第一用户证书申请请求,第一用户证书申请请求中至少包括第一用户设备对应的证书公钥、设备类型和设备安全等级,并且第一用户证书申请请求用于请求服务器签发第一用户设备的用户证书并存储第一用户设备的用户信息与第一用户设备的用户证书之间的关系;第一用户设备从服务器接收第一用户证书申请响应,第一用户证书申请响应中包括服务器签发的第一用户设备对应的用户证书和服务器的证书公钥。
如此,第一用户设备可以获取得到服务器签发的用户证书,使得服务器保存发送方的用户信息与第一用户设备的用户证书之间的关系。从而,使得后续文件分享场景中第一用户设备为发送方设备或者允许访问分享文件的接收方设备时,发送方设备均可以从服务器侧获取得到第一用户设备的用户证书。
在上述第二方面的一种可能的实现方式中,服务器中存储有用户信息与用户证书之间的关系,一个用户信息对应一个或多个用户设备的用户证书。从而,方便各个用户设备在分享文件时,从服务器中获取需求的用户对应的用户设备的用户证书。
在上述第二方面的一种可能的实现方式中,一个用户证书中包含对应的用户设备的证书公钥、用户帐号ID、证书有效期、设备类型、设备安全等级。如此,保证后续基于用户设备的证书判断该用户设备是否为发送方用户设置的文件访问权限所规定的允许解密并访问分享文件的用户设备。
在上述第二方面的一种可能的实现方式中,文件访问权限包括以下至少一项:允许访问的用户列表、允许访问的应用程序、允许访问的设备类型、允许访问的设备安全级别、允许的文件操作权限、权限有效期。
在上述第二方面的一种可能的实现方式中,第一用户设备向服务器发送第一用户证书查询请求,第一用户证书请求中包含文件访问权限中设置的允许访问的用户列表;第一用户设备从服务器接收第一用户证书查询响应,第一用户证书查询响应中包括用户列表中的每个用户对应的一个或多个用户证书。即说明用户列表中的每个用户可以对应多个用户设备,那么接收方用户的任一用户设备接收方受保护文件之后,均可以解密并访问分享文件,提升了多设备用户解密并访问受保护文件的便捷性。
在上述第二方面的一种可能的实现方式中,第二用户设备为第三用户设备,且第二用户设备为用户列表中的任意一个用户对应的用户设备。
在上述第二方面的一种可能的实现方式中,第一会话密钥=(服务器的证书公钥+第二用户设备的证书公钥)*第一用户设备的证书私钥。如此,由于第一会话密钥中包含第一用户设备的证书私钥,而服务器不能获知该证书私钥,从而服务器无法解密出文件密钥,保证了文件密钥的安全性。
第三方面,本申请实施例提供了一种文件加密传输方法,应用于第三用户设备(接收方设备),包括:第三用户设备接收第一用户设备发送的文件密钥密文、文件访问权限的信息和密文文件,文件密钥密文为第一用户设备使用第一会话密钥加密得到的,密文文件是第一用户设备使用文件密钥对分享文件加密得到的;第三用户设备从服务器获取中间密钥,中间密钥为服务器使用服务器的证书私钥和第一用户设备的证书公钥生成的;第三用户设备根据中间密钥、第一用户设备的证书公钥和本地生成的第三用户设备的证书私钥,生成第二会话密钥,第二会话密钥与第一会话密钥相同;第三用户设备使用第二会话密钥解密文件密钥密文得到文件密钥的明文;第三用户设备使用文件密钥解密密文文件得到分享文件;第三用户设备按照文件访问权限访问分享文件。如此,保证了文件密文无法被服务器解密,并且第三用户设备能够成功解密出文件密钥,并解密出分享文件的明文,进而按照设定的文件访问权限访问分享文件,有利于文件分享过程中的版权保护。
在上述第三方面的一种可能的实现方式中,第一会话密钥=(服务器的证书公钥+第二用户设备的证书公钥)*第一用户设备的证书私钥;中间密钥=第一用户设备的证书公钥*服务器的证书私钥;第二会话密钥=中间密钥+第一用户设备的证书公钥*第三用户设备的证书私钥。
在上述第三方面的一种可能的实现方式中,上述方法还包括:第三用户设备生成第三用户设备对应的证书公钥和证书私钥;第三用户设备向服务器发送第三用户证书申请请求,第三用户证书申请请求中至少包括第三用户设备对应的证书公钥、设备类型和设备安全等级,并且第三用户证书申请请求用于请求服务器签发第三用户设备的用户证书并存储第三用户设备的用户信息与第三用户设备的用户证书之间的关系;第三用户设备从服务器接收第三用户证书申请响应,第三用户证书申请响应中包括服务器签发的第三用户设备对应的用户证书和服务器的证书公钥。
在上述第三方面的一种可能的实现方式中,服务器中存储有用户信息与用户证书之间的关系,一个用户信息对应一个或多个用户证书。
在上述第三方面的一种可能的实现方式中,一个用户证书中包含对应的证书公钥、用户帐号ID、证书有效期、设备类型、设备安全等级。
在上述第三方面的一种可能的实现方式中,文件访问权限包括以下至少一项:允许访问的用户列表、允许访问的应用程序、允许访问的设备类型、允许访问的设备安全级别、允许的文件操作权限、权限有效期。
在上述第三方面的一种可能的实现方式中,第三用户设备按照文件访问权限访问分享文件,包括:第三用户设备判断第三用户设备中的目标应用程序是否为文件访问权限中允许访问的应用程序;在目标应用程序为文件访问权限中允许访问的应用程序的情况下,第三用户设备使用目标应用程序按照文件访问权限访问分享文件。有利于文件的版权保护。
第四方面,本申请实施例提供了一种文件加密传输方法,应用于服务器,包括:服务器接收第三用户设备发送的解密策略申请请求,解密策略信息用于请求解析第三用户设备接收到的密文文件;服务器根据服务器的证书私钥和第一用户设备的证书公钥,生成中间密钥;服务器向第三用户设备发送解密策略申请响应,解密策略申请响应中包括中间密钥,中间密钥用于解密第三用户设备接收到的受保护文件中的文件密钥密文。
在上述第四方面的一种可能的实现方式中,上述解密策略信息中包括密文文件对应的文件访问权限的信息;文件访问权限包括以下至少一项:允许访问的用户列表、允许访问的应用程序、允许访问的设备类型、允许访问的设备安全级别、允许的文件操作权限、权限有效期。
在上述第四方面的一种可能的实现方式中,上述方法还包括:服务器校验文件访问权限中的允许访问文件的用户列表中是否包含了第三用户设备对应的用户;在允许访问文件的用户列表中是否包含了第三用户设备对应的用户的情况下,服务器校验文件访问权限中的允许访问设备类型是否包含了第三用户设备的用户证书中的设备类型;在允许访问设备类型是否包含了第三用户设备的用户证书中的设备类型的情况下,服务器校验文件访问权限中的允许访问设备安全级别是否小于或等于第三用户设备的用户证书中的设备安全级别;在允许访问设备安全级别小于或等于第三用户设备的用户证书中的设备安全级别的情况下,服务器校验文件访问权限的权限有效期是否过期;在文件访问权限的权限有效期未过期的情况下,服务器确定对第三用户设备授权认证成功。如此,可以避免不安全的设备或者不具有权限的设备即使得到受保护文件,服务器也不能对该设备检验成功,该设备也就无法解密并访问分享文件,保证了文件分享的安全性,实现了文件的版权保护。
在上述第四方面的一种可能的实现方式中,上述方法还包括:服务器接收第一用户设备发送的第一用户证书申请请求,第一用户证书申请请求中至少包括第一用户设备对应的证书公钥、设备类型和设备安全等级,并且第一用户证书申请请求用于请求服务器签发第一用户设备的用户证书并存储第一用户设备的用户信息与第一用户设备的用户证书之间的关系;服务器向第一用户设备发送第一用户证书申请响应,第一用户证书申请响应中包括服务器签发的第一用户设备对应的用户证书和服务器的证书公钥。
在上述第四方面的一种可能的实现方式中,第一用户设备的用户证书中包括第一用户设备的证书公钥、用户帐号ID、证书有效期、设备类型、设备安全等级。
在上述第四方面的一种可能的实现方式中,上述方法还包括:服务器存储第一用户设备的用户信息与第一用户设备的用户证书之间的关系。
在上述第四方面的一种可能的实现方式中,文件密钥密文是第一用户设备使用第一会话密钥加密得到的;第一会话密钥=(服务器的证书公钥+第二用户设备的证书公钥)*第一用户设备的证书私钥;中间密钥=第一用户设备的证书公钥*服务器的证书私钥;中间密钥用于第三用户设备生成第二会话密钥,第二会话密钥用于第三用户设备解密文件密钥密文;第二会话密钥=中间密钥+第一用户设备的证书公钥*第三用户设备的证书私钥。
第五方面,本申请实施例提供了一种文件加密传输系统,包括:如上述第二方面以及任意可能实现方式中涉及的第一用户设备、如上述第三方面以及任意可能实现方式中涉及的第三用户设备,以及上述第四方面以及任意可能实现方式中涉及的服务器。
第六方面,本申请实施例提供了一种可读介质,该可读介质上存储有指令,指令在电子设备上执行时使电子设备执行如上述第一方面以及任意可能实现方式中文件加密传输方法、如上述第二方面以及任意可能实现方式中的文件加密传输方法、如上述第三方面以及任意可能实现方式中的文件加密传输方法,或者,上述第四方面以及任意可能实现方式中的文件加密传输方法。
第七方面,本申请实施例提供了一种电子设备,包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及处理器,是电子设备的处理器之一,用于执行上述第一方面以及任意可能实现方式中文件加密传输方法、如上述第二方面以及任意可能实现方式中的文件加密传输方法、如上述第三方面以及任意可能实现方式中的文件加密传输方法,或者,上述第四方面以及任意可能实现方式中的文件加密传输方法。
附图说明
图1为现有技术提供的一种文件分享的系统架构示意图;
图2A为本申请实施例提供的一种文件分享的场景示意图;
图2B为本申请实施例提供的一种权限设置界面的示意图;
图2C为本申请实施例提供的一种原始文件和受保护文件的示意图;
图2D为本申请实施例提供的一种文件分享的系统架构的示意图;
图3为本申请实施例提供的一种文件加密传输方法的流程示意图;
图4为本申请实施例提供的一种DRM客户端模块申请DRM用户证书的流程示意图;
图5为本申请实施例提供的一种DRM客户端模块注销DRM用户证书的流程示意图;
图6A为本申请实施例提供的一种用户登录流程的界面交互图;
图6B为本申请实施例提供的一种用户登录流程的界面交互图;
图6C为本申请实施例提供的一种用户登录流程的界面交互图;
图7为本申请实施例提供的一种DRM客户端模块的DRM设置界面的示意图;
图8为本申请实施例提供的一种DRM客户端模块的DRM设置界面的示意图;
图9为本申请实施例提供的一种DRM客户端模块申请DRM用户证书的流程示意图;
图10为本申请实施例提供的一种权限设置界面的下拉界面的示意图;
图11A为本申请实施例提供的一种发送方设备显示的编辑界面的示意图;
图11B为本申请实施例提供的一种发送方设备显示的编辑界面的示意图;
图11C为本申请实施例提供的一种发送方设备显示的编辑界面的示意图;
图12为本申请实施例提供一种DRM客户端模块申请DRM用户证书的流程示意图;
图13为本申请实施例提供的一种接收方设备显示的聊天界面的示意图;
图14为本申请实施例提供的一种接收方设备在聊天界面上显示提示信息的示意图;
图15为本申请实施例提供的一种手机的硬件结构示意图;
图16为本申请实施例提供的一种服务器的硬件结构示意图。
具体实施方式
本申请的说明性实施例包括但不限于文件加密传输方法、系统、介质及设备。
为了方便描述,下面先对本申请实施例中涉及的术语或名词进行介绍。
文字处理系统(Word Processing System,WPS):为一款办公软件应用,可以用于编辑、查看文档等文件。
数字版权管理(Digital Rights Management,DRM):是指数字内容,如音视频节目内容、文档、电子书籍等在生产、传播、销售、使用过程中进行的权利保护、使用控制与管理的技术。
标识(Identity,ID):唯一标识符,例如下文中使用会话ID唯一标识一个会话。
椭圆曲线算法(Elliptic Curve cryptography,ECC):为一种非对称密钥算法,可以用于对文件密钥加密的算法。
RSA(Ron Rivest、Adi Shamir、Leonard Adleman algorithm):为一种一种非对称密钥算法,由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。本申请实施例中用于对文件密钥进行加密。
会话密钥(Session Key,SK):在本申请实施例中用来加密文件密钥。
中间密钥(Middle Key,MK):为申请实施例中接收方设备申请use policy时,DRM服务器生成并返回给接收方用户的中间密钥。
软件开发工具包(Software Development Kit,SDK):为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。
用户登录会话标识:用于对用户登录帐号的状态进行认证和标识,该标识可以是一个会话ID,也可以是一个带签名和有效期的令牌(token)。
设备类型:如手机、个人计算机(Personal Computer,PC)、平板电脑(Pad)、大屏设备(如智能电视)、智能手表、车机等智能设备类型。当然,在其他一些实施例中,设备类型不限于上述示例,还可以为摄像机、相机以及蜂窝电话、个人数字助理(personal digitalassistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备、媒体播放器、智能音箱等。可以理解的是,本申请提供的文件分享场景中,发送方设备也称为发送方的用户设备,接收方设备也称为接收方的用户设备。适用于本申请的用户设备包括但不限于上述设备类型中示出的各种设备。
设备安全等级:根据设备硬件和操作系统(Operating System,OS)的安全能力把设备的安全性能分为不同等级。例如,设备安全等级包括软件级、硬件级和增强硬件级设备,但不限于此。例如,不同设备对应的设备安全等级不同,如不支持可信执行环境(Trusted execution environment,TEE)的设备为软件级,而支持TEE的设备为硬件级,支持安全元件(Secure Element,SE)芯片的设备为增强硬件级。
DRM用户证书:用户所在登录设备向DRM服务器申请的证书。DRM用户证书中包含DRM用户证书公钥、用户帐号ID、证书有效期、设备类型、设备安全等级等信息,因此可以用来对用户的身份、DRM客户端模块所运行的设备类型或设备安全级别等进行认证。
密文文件:使用文件密钥对待保护的文件进行加密,加密后的文件叫密文文件。
密钥协商:两个或多个实体协商,共同建立会话密钥,任何一个参与者均对结果产生影响,不需要任何可信的第三方。典型的密钥协商算法有:针对RSA密钥的密钥交换协议(Diffie-Hellman)算法,和针对ECC密钥的椭圆曲线迪菲-赫尔曼秘钥交换(EllipticCurve Diffie–Hellman key Exchange,ECDH)算法。
auth Policy:也称为认证策略信息或加密策略信息,是发送方设备对文件进行DRM版权保护时设置的访问权限和加密信息,auth Policy包括发送方设备的DRM用户证书、签名信息、文件密钥密文和文件访问权限信息。
DRM版权保护的文件:把auth policy和密文文件打包到一起后的文件,称为DRM版权保护的文件,也称为受保护文件。相应的,本申请的一些实施例中,待分享的文件也可以称为待保护的文件,即待保护文件。
use Policy:也称为解密策略信息,包含auth Policy、中间密钥、接收方设备的DRM用户证书和DRM服务器的证书私钥的签名。接收方设备申请到use policy后才能使用use policy解密和访问DRM版权保护的文件。
本申请实施例提供的文件加密传输方法应用于用户间通过社交软件、电子邮件(Electronic Mail,Email)或其他方式与他人分享图片、视频、文档等文件的场景中。
在一些实施例中,本申请的文件加密传输方法具体可以应用的场景包括但不限于下述示例:
1、商务办公场景:通过使用等应用程序(Application Program,APP),作者可以对公司内部的机密文档进行加密和设置访问权限。
2、摄影摄像和艺术与设计场景:通过使用等应用,设计师可以对设计的作品进行加密和设置访问权限。
3、社交场景:通过使用等社交应用,用户可以对分享到朋友圈、群聊的视频/图片设置权限,只能好友或群里的用户可以查看,防止视频/图片扩散传播。
参照图2A所示,为一种文件分享的场景示意图。发送方设备10使用 对图片加密并设置访问权限,再通过社交软件分享受保护的图片给好友或者好友群。例如,设置的访问权限为允许使用/>或/>读取受保护的图片,但不允许转发和编辑。随后,接收方设备20在社交软件中接收到分享的受保护的图片后,可以通过/>打开该受保护的图片,但不能转发和编辑。如此,实现保护文件的版权,并保证文件分享的安全性。
当前,本申请实施例提供的文件分享场景不限于2A所示的场景,还可以为其他场景,例如发送方用户通过发送方设备10的将图片分享给接收方用户使用的接收方设备20的/>或者,发送方用户通过发送方设备10的/>将受保护的图片通过Email分享给接收方用户。
在一些实施例中,设置的访问权限不仅包括可访问的用户列表,用户的访问权限(例如,只读或可更改)、有效期、能否打印,还可以包括设备安全级别、设备类型和应用权限限制,但不限于此。
作为示例,如图2B所示,发送方用户可以在发送方设备10的权限设置界面K中设置分享文件的访问权限。该权限设置界面K中包括用户列表K1、设备控制K2、应用控制K3、附加权限K4、设备安全级别K5。在其他一些实施例中,上述权限设置界面K包括但不限于图2A示出的权限设置选型,还可以为其他选项。
作为示例,图2B示出的用户列表K1中设置了用户“张三”和用户“李四”为接收方用户,并且“张三”的权限为读取,“李四”的权限为更改(包括编辑和转发)。可以理解,发送方用户可以操作权限设置界面K的用户列表K1对应的扩展控件K11,以添加或者删除用户,即允许访问分享文件的接收方用户,并设置各个接收方用户的访问权限为“读取”或者“更改”。进而,在发送方用户将接收方用户添加至用户列表之后,还可以修改接收方用户的访问权限。例如,发送方用户可以操作图2A示出的用户“张三”对应的扩展控件K12,以修改用户“张三”的访问权限为“读取”还是“更改”。
在本申请的一些实施例中,用户列表中的用户的名称可以为接收方用户的用户账号名或标识等。其中,用户账号可以为用户设备的账号,可访问受保护文件的应用程序的用户账号,或者用于对分享文件设置访问权限和加密信息的模块或软件的用户账号中的任意一个。例如,在发送方设备通过生成并存储的图片时,发送方设备设置允许访问待分享图片的应用为/>或/> 那么接收方的用户账号“张三”、“李四”可以为/>或/> 的用户账号。又如,接收方的用户账号“张三”、“李四”可以为用于对分享文件设置访问权限和加密信息的模块或软件的用户账号。
设备控制K2用于设置设备类型K21,具体通过扩展控件K211设置设备类型,如设置为“PC、手机”表示允许PC和手机两种设备类型的接收方设备访问分享的文件。设备安全级别K22中设置的设备安全等级为软件级,并且可以通过扩展控件K221修改允许访问分享的受保护文件的用户设备的设备安全等级。
应用控制K3,用于设置应用列表,具体通过扩展控件131设置接收方应用,如设置为表示允许使用/>访问受保护文件。
附加权限K4中包括设置的文件的有效期为“2022-05-30”,以及允许打印权限,并且可以通过有效期对应的扩展控件K41修改有效期,通过允许打印对应的选择控件K42选择是否允许打印。
可以理解的是,本申请实施提供的文件分享场景中,发送方设备10可以使用文件密钥对分享的图片等文件加密得到文件密文,并将文件密钥加密为文件密钥密文,从而得到包含文件密钥密文等加密策略信息以及文件密文的受保护文件。进而,接收方设备需要从文件密钥密文中解密出文件密钥,才能使用该文件密钥解密出文件明文,并按照设定的访问权限访问该文件。
作为示例,参照图2C所示,示出了待分享的原始文件和受保护文件的示意图。原始文件的数据为:“Secret cola formula:·Water·HFCS·Brown@16”。受保护的文件中为文件密文为:“#!@#!#!@#ο()&)(*&)(@#!#!@#!#!@#ο()&)(*&)(@#!#!@#!#!@#ο()&)(*&)(@#!”。另外,受保护文件中还包括文件密钥密文等加密策略信息(图2C中描述为policy,即本文中的auth policy)。
参照图2D所示,为本申请实施例提供的一种文件分享的系统架构。该系统架构中包括一个或多个发送方设备10、一个或多个接收方设备20、DRM服务器30和一个用户账号服务器40(图2D中仅以一个发送设备10和一个接收方设备20为例示出)。
发送方设备10包括应用程序11和DRM客户端模块12。接收方设备20包括应用程序21和DRM客户端模块22。
应用程序11和应用程序21用于向用户提供文件(图片、文档、视频等)的查看、编辑等功能。DRM客户端模块12和DRM客户端模块22,用于提供对文件进行DRM保护的功能(对文件加密和设置使用权限),以及对DRM保护的文件申请授权(获取文件密钥)和文件解密功能。
在一些实施例中,上述应用程序11和应用程序21可以为等应用,但不限于此。
在一些实施例中,上述DRM客户端模块12和DRM客户端模块22可以为用户设备中的插件、功能模块、服务、应用程序或SDK。作为示例,在操作系统中一个DRM客户端模块可以为一个公共服务,可以被其他一个或多个应用或者进程所调用。在/>操作系统中一个DRM客户端模块可以为一个单独的程序,或者具有查看、编辑等功能的应用程序(如)中的插件。
DRM服务器30包括证书管理模块31和授权模块32。证书管理模块31用于向DRM客户端模块颁发DRM用户证书、管理和查询DRM用户证书列表。授权模块32用于向DRM客户端模块(如DRM客户端模块12)颁发use Policy(包括文件密钥的解密策略信息)。
用户帐号服务器40包括帐号登录管理模块41,用于处理发送方用户或接收方用户在DRM客户端模块(如DRM客户端模块11或DRM客户端模块12)的帐号登录请求,以及处理DRM服务器30对用户登录状态的认证请求。
可以理解的是,在其他一些实施例中,上述图2D中的文件分享的系统架构中还可以包括其他设备或服务器,例如还可以包括证书颁发机构(Certificate Authority,CA)服务器,用于与DRM服务器30交互实现对用户证书或服务器证书的签发、管理以及归档和吊销。那么,证书内包含了拥有证书者的姓名、地址、电子邮件帐号、公钥、证书有效期、发放证书的CA、CA的数字签名等信息。从而,实现证书的三大功能:加密、签名、身份验证。在本申请的一些实施例中,所描述的DRM服务器30签发DRM用户证书,指的是DRM服务器30与CA服务器交互实现签发DRM用户证书。
如前所述,RMS服务器与接收方设备交互能够从文件密钥密文中解密出文件密钥的明文,并且RMS服务器生成并存储用户证书的私钥增加了私钥泄露的风险,导致文件传输的安全性较低。
为此,本申请实施例提供一种文件安全传输方法,发送方设备和接收方设备可以生成并存储用户证书的公钥和私钥。在对分享的文件加密并设置访问权限时,发送方设备、接收方设备以及服务器可以进行三方的密钥协商算法,协商出会话密钥,再用会话密钥加密文件密钥,得到包含文件密文和加密策略信息的受保护文件。而接收方设备或者服务器需要同时拿到服务器的证书私钥和接收方设备的证书私钥才能解密出文件密钥的明文。那么,在接收方设备向服务器请求密文文件的解密策略信息时,由于服务器无法获取接收方设备的证书私钥而无法获取文件密钥的明文,能够自证清白,保证了文件密钥的安全性。并且,由于服务器不需要托管用户证书的私钥,保证了用户证书的私钥的安全性。从而,提升了文件分享的安全性,能够有效避免文件中的私密数据、机密数据以及具有版权的数据被泄露。
参照图3所示,为本申请实施例提供的文件加密传输方法的流程图,该方法由发送方设备10、接收方设备20和DRM服务器30交互执行,该方法流程包括如下步骤:
S301:发送方设备10获取待分享的文件。
S302:发送方设备10对待分享的文件设置访问权限。
S303:发送设备使用文件密钥加密分享文件,得到密文文件。
S304:发送方设备10与DRM服务器30和接收方设备20进行三方密钥协商算法,协商出发送设备侧的会话密钥。
其中,上述DRM服务器可以为DRM服务器30。
在一些实施例中,发送方设备10可以从DRM服务器30获取得到DRM服务器的证书公钥。还可从DRM服务器30获取得到接收方设备20的用户证书公钥,例如访问权限中限定的允许访问的用户列表中的用户对应的用户证书公钥。
进而,在一实施例中,发送方设备10可以根据DRM服务器30的证书公钥、发送方设备10的用户证书私钥和接收方设备20的用户证书公钥,生成发送设备侧的会话密钥。
S305:发送方设备10使用协商出的会话密钥加密文件密钥得到文件密钥密文。
S306:发送方设备10将文件密钥密文和访问权限信息打包为auth Policy。
S307:发送方设备10将auth Policy和密文文件打包为受保护文件。
S308:发送方设备10向接收方设备20发送受保护文件。
S309:接收方设备20从DRM服务器30获取auth Policy对应的use Policy,该usePolicy包括DRM服务器侧30的中间密钥。
在一些实施例中,DRM服务器可以根据DRM服务器30的证书私钥和发送方设备10的用户证书公钥,生成DRM服务器30侧的中间密钥。
S310:接收方设备20根据中间密钥与DRM服务器30和发送方设备10进行三方协商算法,协商出接收方设备20侧的会话密钥。
在一些实施例中,接收方设备20可以根据DRM服务器30侧的中间密钥、发送方设备10的用户证书公钥和接收方设备20的用户证书私钥生成接收方设备20侧的会话密钥。
需要说明的是,发送方设备10侧的会话密钥与接收方设备20侧的会话密钥相同,因此接收方设备20后续可以使用接收方设备20侧的会话密钥解密出文件密钥。
S311:接收方设备20根据接收方设备20侧的会话密钥解密文件密钥密文,得到文件密钥和访问权限信息。
S312:接收方设备20使用文件密钥解密密文文件得到文件明文,并按照访问权限访问该文件。
如此,DRM服务器30在接收方设备20申请usePolicy时,无法解密出文件密钥的明文,可以做到自证清白。并且,DRM服务器30不托管用户证书的私钥,私钥由用户设备的用户设备生成和存储,保证了用户证书的私钥的安全性,同时进一步使的DRM服务器能自证清白。
可以理解的是,上述图3示出的流程为发送方设备10与接收方设备20之间分享文件的总体流程。而在一些实施例中,本申请文件分享的场景主要涉及三个阶段:(1)DRM用户证书管理、(2)发送方设备10对分享文件进行加密和设置权限,以及(3)接收方设备申请usePolicy并解密文件。接下来,基于图2D所示的系统架构图分别对文件分享的三个阶段进行说明,即对图3示出的文件加密传输的文件分享流程进行具体说明。
(1)DRM用户证书管理
参照图4所示,为本申请实施例提供DRM客户端模块申请DRM用户证书的流程示意图。参照图5所示,为本申请实施例提供的DRM客户端模块注销DRM用户证书的流程示意图。其中,图4和图5中主要以发送方设备10中的DRM客户端模块12申请或注销DRM用户证书为例进行说明。那么,图4和图5中的执行主体为发送设备10、DRM服务器30以及用户账号登录服务器40中的模块。
此外,本申请中对其他任意用户设备中的DRM客户端模块,如接收方设备20中的DRM客户端模块22,申请或注销DRM用户证书的描述可以参照图4和图5中对DRM客户端模块12的相关描述,将不再赘述。
如图4所示,发送方设备10中DRM客户端模块12申请DRM用户证书的流程包括如下步骤:
S401:应用程序11调用DRM客户端模块12的初始化接口,以对DRM客户端模块12进行初始化。
作为示例,参照图2A所示的场景,应用程序11可以为发送方设备10中的运行的应用。
需要说明的是,本申请实施例中,应用程序11调用DRM客户端模块12的初始化接口的触发时机可以包括以下两种:第一种,用户打开应用程序11的时刻。第二种,发送方用户在应用程序11中对待分享的文件设置访问权限的时刻。
参照图6A所示,为本申请实施例提供的一种用户登录流程的界面交互图。以发送方设备10为手机,应用程序11为并以第一种触发时机为例进行说明。用户对图6A示出的手机10的桌面显示的/>的应用图标61进行点击操作时,/>调用DRM客户端模块12的初始化接口。
参照图6B所示,为本申请实施例提供的一种用户登录流程的界面交互图。以发送方设备10为手机,应用程序11为待分享的文件为图片M,并以第二种触发时机为例进行说明。用户对图6B示出的手机10显示图片M的编辑页面中的权限选项62的点击操作,可以触发/>调用DRM客户端模块12的初始化接口。
S402:DRM客户端模块12检查用户的登录状态。如果用户未登录或登录状态已过期,则进入S403,如果用户已登录且登录状态有效,则进入S407。
在一些实施例中,DRM客户端模块12检查的用户的登录状态,为应用程序11的用户账号的登录状态和/或DRM客户端模块12的用户账号的登录状态。
根据本申请的一些实施例,在第一种登录场景中,应用程序11的用户名和密码与DRM客户端模块12的用户名和密码相同,或者两者不同但是预先相互关联。那么,如果应用程序11处于登录状态,就表示DRM客户端模块12处于登录状态。
根据本申请的一些实施例,在第二种登录场景中,应用程序11的用户名和密码与DRM客户端模块12的用户名和密码不同且不关联。那么,用户输入应用程序11的用户名和密码以登录应用程序11之后,可以在上述第一种触发时机或者第二种触发时机下跳转到DRM客户端模块12的登录界面以登录DRM客户端模块12。
根据本申请的一些实施例,在第一种触发时机下,用户通常在初次使用应用程序11时输入应用程序11的用户账号和密码以登录应用程序11,进而实现登录DRM客户端模块12。在第二种触发时机下,用户通常持续在未登录状态或登录状态已过期下使用应用程序11时,分别登录应用程序11和DRM客户端模块12。
S403:DRM客户端模块12提示用户登录帐号。
根据本申请的一些实施例,第一种登录场景中,在DRM客户端模块12提示用户登录帐号时,如果用户打开应用程序11但未登录,发送方设备10会显示应用程序11的登录页面,使得用户通过登录应用程序11以实现登录DRM客户端模块12。
根据本申请的另一些实施例,第二种登录场景中,在DRM客户端模块12提示用户登录帐号时,如果用户打开已经登录应用程序11,发送方设备10再跳转并显示DRM客户端模块12的登录界面,以支持用户输入DRM客户端模块12的用户账号和密码。
根据本申请的另一些实施例,第三种登录场景中,无论发送方设备10是否登录应用程序11,在DRM客户端模块12提示用户登录帐号时,可以显示DRM客户端模块12的登录页面。
作为示例,在上述第一种触发时机以及第一种登录场景中,用户打开发送方设备10中的并且/>已经登录的情况下,参照图6C所示,发送方设备10跳转并显示DRM客户端模块12的登录界面63,该界面63中包括用户名输入框631和密码输入框632,还包括用于确定登录的登录控件633和用于取消登录的取消控件634。
S404:用户在DRM客户端模块12输入用户名和密码,然后点击帐号登录。
作为示例,用户在图6C所示的登录界面63中,在用户名输入框631输入用户名“xxxx”,并在密码输入框632中输入密码,点击登录控件633用于确定登录DRM客户端模块12。
S405:DRM客户端模块12发送登录帐号请求到帐号登录管理模块41,登录账号请求包含用户输入的用户名和密码。
S406:帐号登录管理模块41处理登录帐号请求,对登录账号请求中的用户名和密码进行校验,返回账号登录响应。具体地,如果校验通过则返回登录成功响应给DRM客户端模块12,登录成功响应中包含用户帐号ID(如用户名)、用户登录会话标识;否则返回登录失败响应给DRM客户端模块12且流程结束。
S407:DRM客户端模12块检查本地的DRM用户证书状态,如果本地没有DRM用户证书或DRM用户证书已过期,则进入S408;如果本地存在DRM用户证书且状态为有效,则进入S415。
S408:DRM客户端模块12生成一对公私钥对,称为DRM用户证书公钥和DRM用户证书私钥。
S409:DRM客户端模块12发送DRM用户证书申请请求给证书管理模块31,DRM用户证书申请请求包含用户登录会话标识、DRM用户证书公钥、设备类型和设备安全等级。其中,该用户登录会话标识可以为一个唯一标识的会话ID。并且,该DRM用户证书公钥、设备类型和设备安全等级为当前发送方设备10的证书公钥、设备类型和设备安全等级。
S410:证书管理模块31发送用户身份认证请求给帐号登录管理模块41,用户身份认证请求中包含用户登录会话标识。
S411:帐号登录管理模块41返回用户身份认证响应。具体地,帐号登录管理模块41处理用户身份认证请求,对用户登录会话标识进行校验,如果认证通过则返回的用户身份认证响应为用户身份认证成功响应,该响应包含用户帐号ID(例如,用户名);否则返回的用户身份认证响应为用户身份认证失败响应进而流程结束。
S412:证书管理模块签发DRM用户证书,证书中包含DRM用户证书公钥、用户帐号ID、证书有效期、设备类型、设备安全等级等;证书管理模块31存储用户帐号ID与新签发的DRM用户证书的关系。即证书管理模块31存储发送方设备10的用户账号ID与发送方设备10的DRM用户证书的关系。
S413:证书管理模块31返回DRM用户证书申请响应,包含步骤12签发的DRM用户证书、DRM服务器30的证书。
可以理解的是,DRM服务器30的证书可以为DRM服务器30预先从CA服务器等其他认证服务器获取得到的证书。并且,DRM服务器30的证书中包含DRM服务器30的证书公钥。
S414:DRM客户端模块12存储DRM用户证书、DRM用户证书私钥和DRM服务器30的证书。
S415:DRM客户端模块12返回初始化结果给应用程序11。
可以理解的是,DRM客户端模块12返回初始化结果给应用程序11,说明发送方设备10具备生成DRM版权保护的文件,即受保护文件的能力,进而将这些DRM版权保护的文件分享给其他用户。
类似的,对于接收方设备20或者其他任意用户设备,均可以采用上述S401至S415中的DRM用户证书申请流程对DRM客户端模块进行初始化,以支持后续基于DRM客户端模块将文件加密为DRM版权保护的文件,或者对DRM版权保护的文件进行解密,本申请对此不再赘述。那么,DRM服务器30中将存储这些用户设备的用户与DRM用户证书的关系。例如,用户“张三”和“李四”所使用的用户设备分别申请DRM用户证书之后,DRM服务器30中将存储用户“张三”与所使用的用户设备的DRM用户证书的关系、用户“李四”与所使用的用户设备的DRM用户证书的关系。
在一些实施例中,用户通常在更换用户设备、删除或重装应用程序或DRM客户端模块、重新安装用户设备的操作系统或者不需要分享DRM版权保护的文件等情况下,触发注销当前已有的DRM用户证书。接下来,继续以发送方设备10注销DRM用户证书为例进行描述。
如图5所示,发送方设备10中DRM客户端模块12注销DRM用户证书的流程包括如下步骤:
S501:用户在DRM客户端模块12点击退出帐号登录。
结合上述图4示出的实施例,在第一种登录场景和第二种登录场景中,在用户在应用程序11中点击退出账号登录的情况下,发送设备10退出应用程序11的登录状态的同时,会自动退出DRM客户端模块12的账号。此时,S501中的点击退出账号登录指的是点击应用程序11退出账号登录的控件,即同时触发退出登录应用程序11和退出登录DRM客户端模块12。
而在第三种登录场景中,用户可以打开DRM客户端模块12的用户界面,以DRM客户端模块12的用户界面中触发退出账号登录。
作为示例,参照图7所示,以DRM客户端模块12为发送设备10的设置应用中的插件为例,DRM客户端模块12的DRM设置界面71中包括退出登录713。用户点击登录713为在DRM客户端模块12点击退出帐号登录。此外,设置界面71中包括用户账号对应的扩展控件711,用于修改或者查看DRM客户端模块12的用户名和密码等;还包括关联应用对应的扩展控件712,用于设置可以调用DRM客户端模块12的应用程序,如等。
S502:DRM客户端模块12发送退出帐号登录请求到帐号登录管理模块41,包含用户登录会话标识。
S503:帐号登录管理模块41处理退出帐号登录请求,删除用户登录会话标识所关联的会话信息。
S504:帐号登录管理模块41返回退出帐号登录响应给DRM客户端模12。
S505:DRM客户端模块12发送DRM用户证书注销请求给证书管理模块31,DRM用户证书注销请求包含发送方设备10的用户帐号ID、DRM用户证书、DRM用户证书私钥的签名等信息。
可以理解的是,DRM客户端模块12在发送DRM用户证书注销请求的过程中,可以使用DRM用户证书私钥对DRM用户证书注销请求进行签名得到签名信息。
S506:证书管理模块31对DRM用户证书注销请求进行校验,如果校验成功,则证书管理模块31删除用户帐号ID与请求中的DRM用户证书的关系。
在一些实施例中,证书管理模块31对DRM用户证书注销请求进行校验的过程包括:S5061,校验DRM用户证书注销请求中的DRM用户证书是否由DRM服务器30签发且有效期未过期。如果否则校验失败,如果是则进入S5062。S5062,使用DRM用户证书注销请求中的DRM用户证书对DRM用户证书私钥的签名进行校验。如果否则校验失败,如果是则进入S5063。S5063,校验DRM用户证书的用户账号ID与DRM用户证书注销请求中的用户帐号ID是否一致。如果否则校验失败,如果是则进入S507。
S507:证书管理模块31返回DRM用户证书注销响应。具体的,如果证书管理模块31对DRM用户证书注销请求校验成功,则返回DRM用户证书注销成功响应;否则返回DRM用户证书注销失败响应且流程结束。
S508:DRM客户端模块12删除本地存储的DRM用户证书。
S509:DRM客户端模块12向用户返回退出登录结果。
作为示例,参照图8所示,在图7的基础上,DRM客户端模块12可以通过用户交互界面显示提示消息721“已经成功注销”,以提示用户当前的DRM用户证书已经删除,并且当前已经退出登录DRM客户端模块12。
类似的,对于接收方设备20或者其他任意用户设备,均可以采用上述S501至S509中的DRM用户证书注销流程退出登录DRM客户端模块并删除当前的DRM用户证书,本申请对比不再赘述。并且,DRM服务器30中将删除这些用户设备的用户与DRM用户证书的关系。例如,用户“张三”和“李四”所使用的用户设备分别注销DRM用户证书之后,DRM服务器30将删除用户“张三”与所使用的用户设备的DRM用户证书的关系、用户“李四”与所使用的用户设备的DRM用户证书的关系。
如此,用户可以触发用户设备申请DRM用户证书以及注销DRM用户证书的流程,以支持后续用户设备通过DRM用户证书将文件加密为DRM版权保护的文件或者对接收到的DRM版权保护的文件进行解密。
(2)发送方用户对分享文件进行加密和设置权限
参照图9所示,为本申请实施例提供DRM客户端模块申请DRM用户证书的流程示意图。其中,图9中主要以发送方设备10中的DRM客户端模块12生成DRM版权保护的文件为例进行说明。那么,图9的执行主体为发送设备10、DRM服务器30以及用户账号登录服务器40中的模块。
如图9所示,发送方设备10生成DRM版权保护的文件的流程包括如下步骤:
S901:用户请求应用程序11对待分享的文件进行DRM版权保护,并对文件设置访问权限,包括允许访问文件的用户列表/应用程序/设备类型/设备安全级别、文件操作权限(读取、修改、另存为、打印、复制等)、权限有效期等。
作为示例,参照图2B所示的设置界面K,以应用程序11为指定的待保护的文件为图片M为例,发送方用户可以在发送方设备10中通过/> 中的设置界面K设置图片M的访问权限。作为示例,基于图2B,如图10所示的界面K的下拉界面P中还包括申请保护91控件,用于触发申请对文件进行DRM版权保护。
此外,作为示例,参照图2C所示的原始文件可以为待分享的文件。
S902:应用程序11请求DRM客户端模12块对待分享的文件进行DRM版权保护。
作为示例,在用户对图10示出的申请保护91控件进行点击之后,应用程序11请求DRM客户端模12块对文件进行DRM版权保护,即申请后续使用文件密钥对待分享的文件加密,并对文件密钥进行加密。
S903:DRM客户端模块12发送DRM用户证书查询请求给证书管理模块31,DRM用户证书查询请求包含:允许访问文件的用户列表。可以理解的是,DRM客户端模块12在完成初始化的情况下,发送DRM用户证书查询请求给证书管理模块31。作为示例,允许访问文件的用户列表中包括用户“张三”和用户“李四”。
在其他一些实施例中,虽然图10未示出,但是如果DRM客户端模块12未完成初始化,则返回失败响应给应用程序11且流程结束。
S904:证书管理模块31根据DRM用户证书查询请求中的用户列表查询各个用户对应的DRM用户证书列表。
作为示例,证书管理模块31查询得到用户“张三”对应的一个或多个DRM用户证书组成的DRM用户证书列表,以及用户“张三”对应的一个或多个DRM用户证书组成的DRM用户证书列表。
S905:证书管理模块31向DRM客户端模块12返回DRM用户证书查询响应,DRM用户证书查询响应响应中包含查询到的DRM用户证书列表。
可以理解的是,每个用户对应的DRM用户证书列表中包含该用户对应的不同用户设备各自的DRM用户证书,例如用户“张三”对应的手机、平板电脑以及智能手表各自的DRM用户证书。也就是说,发送方设备10向一个接收方用户分享文件后,如果允许该接收方用户访问文件,那么后续该接收方用户对应的DRM用户证书列表中限定的多个用户设备均可以访问该文件。
S906:DRM客户端模块12生成文件密钥,并使用文件密钥对待分享的文件进行加密为密文文件。
在一些实施例中,上述文件密钥可以为随机数,由DRM客户端模块12随机生成,但不限于。
S907:DRM客户端模块12使用会话密钥对文件密钥进行加密,得到文件密钥密文。
在一些实施例中,DRM客户端模块12可以采用ECC密钥算法或RSA密钥算法等算法对文件密钥进行加密,但不限于此。
为方便说明,本申请的一些实施例进行如下定义:DRM服务器30的证书公钥为S,对应的证书私钥为s;接收方设备20的DRM用户证书公钥为B,对应的证书私钥为b;发送方设备10的DRM用户证书公钥为A,对应的证书私钥为a。
在一些实施例中,本申请中对文件密钥的加密算法如下:使用私钥a与(公钥S+公钥B)的结果进行密钥协商,得到会话密钥,再使用会话密钥加密文件密钥得到文件密钥密文。
作为示例,下面以ECC密钥算法为例:根据ECC算法的定义和上面的定义,则有如下关系:S=s*G,B=b*G,A=a*G,则会话密钥SK=(S+B)*a。其中,“*”表示乘号,G为ECC算法的基点。从而,可以使用会话密钥SK=(S+B)*a对文件密钥进行加密,得到文件密钥密文。
S908:DRM客户端模块12将发送方设备10的DRM用户证书、签名信息、文件密钥密文和访问权限信息打包为auth policy。
其中,DRM客户端模块12可以使用发送方设备10的DRM用户证书私钥对文件密钥密文和访问权限信息进行签名得到auth policy对应的签名信息。
S909:DRM客户端模块12把auth policy和密文文件打包为DRM版权保护的文件。
S910:DRM客户端模12返回DRM版权保护的文件给应用程序11。
S911:应用程序11返回对分享文件进行DRM版权保护的结果(即DRM版权保护的文件)给用户。作为示例,参照图2B所示,以图2B中的原始文件为分享文件时,DRM版权保护的文件为可以包含发送方设备10生成的auth Policy(图2B示出为policy)和密文文件。可以理解的是,发送方用户可以在应用程序11中触发向接收方用户发送DRM版权保护的文件,例如在应用程序11中调用社交软件,在社交软件中向好友或好友群甚至朋友圈中分享该DRM版权保护的文件。例如,参照图2A所示的场景,如图11A所示,发送方用户在发送方设备10显示的编辑界面中选择分享控件111,显示分享列表112,该分享列表中包括社交应用113等多个应用。参照图11B所示,用户对图11A示出的社交应用113点击操作之后,如图11C所示可以显示社交应用113的好友列表114,该好友列表中包括用户“张三”的标识115。那么,用户对用户“张三”的标识115的点击操作,可以触发发送设备10将DRM版权保护的图片M通过社交应用113发送用户“张三”。此时,社交软件的用户“张三”与中的用户“张三”可以指的是相互关联的账户。
本申请的一些实施例中,如果用户设备中编辑、生成DRM版权保护的文件的应用程序与分享该文件的应用程序不同。
本申请实施例中,一方面,发送方用户设备对文件进行加密和设置权限时,先请求DRM服务器获取接收方用户设备上申请的DRM用户证书,并采用DRM服务器、发送方用户设备、接收方用户设备进行三方的密钥协商得到的会话密钥对文件密钥进行加密,从而DRM服务器不能解密文件密钥。这是因为,该算法要求同时拿到DRM服务和接收方设备的证书私钥才能解密出文件密钥,而DRM服务无法获得收方用户设备的证书私钥。如此,保证了文件密钥的安全性。另一方面,DRM客户端申请DRM用户证书时,证书私钥在DRM客户端生成并不上传到服务器,DRM服务器维护用户登录设备的DRM证书列表;发送方用户在对文件进行加密和设置权限时,请求DRM服务器获取接收方用户在所有登录设备的DRM证书列表。从而,可以实现发送方用户对文件授权一次,接收方用户在所有登录的用户设备上都能解密和使用受保护的文件,方便了接收方用户便捷的解密、并查看DRM版权保护的文件。另一方面,由于发送方用户对文件设置设备安全级别、设备类型和应用权限限制,接收方用户只有在满足要求的设备类型和应用才能打开文件,保证了文件分享的安全性。
(2)接收方用户申请use Policy以解密和访问文件
参照图12所示,为本申请实施例提供DRM客户端模块申请DRM用户证书的流程示意图。其中,图12中主要以接收方设备20中的DRM客户端模块22解密并范文DRM版权保护的文件为例进行说明。那么,图12的执行主体为接收方设备20、DRM服务器30以及用户账号登录服务器40中的模块。
如图12所示,接收方设备20解密DRM版权保护的文件的流程包括如下步骤:
S1201:用户请求应用程序21访问DRM版权保护的文件。
可以理解的是,接收方设备20从发送方设备10接收到DRM版权保护的文件之后,再由应用程序21请求解密该文件。
作为示例,参照图2A示出的场景,在发送方设备10通过将DRM版权保护的文件通过社交软件(如/>)分享给接收方用户时,接收方设备20通过相同的社交软件接收到该文件,并在聊天界面中显示该文件的图标或入口。那么,如果发送方用户对该文件设置的访问权限中限定/>21和/> 类型的应用允许打开该文件,而当前社交软件不允许该文件。那么,那么接收方设备20可以提示接收方设备通过/>21或打开该文件。当然,如果当前接收方设备20中未安装/>21或/>那么将无法在该设备上访问该文件。
作为示例,如图13所示,接收方设备20的社交应用中发送方用户(如用户“王五”)与接收方用户“张三”的聊天界面131中显示有DRM版权保护的图片M的图标132。可以理解的是,图13示出的示例中应用程序为社交软件。此时,用户对图标132的点击操作用于触发请求访问DRM版权保护的图片M。
S1202:应用程序21请求DRM客户端模块22对DRM版权保护的文件进行解密。
S1203:DRM客户端模块22检查本地是否存在该DRM版权保护的文件对应的usePolicy,如果存在则进入步骤S1214;如果不存在则进入S1205。
可以理解的是,DRM客户端模块22是在初始化完成的情况下检查本地文件的usePolicy的。
此外,在其他一些实施例中,如果DRM客户端模块22未完成初始化,则返回失败给应用程序21且流程结束。相应的,后续接收方设备20可以通过应用程序21调用DRM客户端模块22的初始化接口,以重新完成初始化。
S1204:DRM客户端模块22发送申请use Policy请求给授权模块32,申请usePolicy请求包含接收方设备20的登录会话标识、auth Policy(从DRM版权保护的文件中获取到)、接收方设备20的DRM用户证书及对应证书私钥的签名信息。
S1205:授权模块32发送用户身份认证请求给帐号登录管理模块,请求中包含接收方用户登录会话标识。
S1206:帐号登录管理模块41处理用户身份认证请求,对用户登录会话标识和用户帐号ID进行校验。如果验证成功,则进入S1207,否则结束流程。
S1207:帐号登录管理模块41返回用户身份认证响应。具体的,如果认证通过则返回用户身份认证成功响应,响应包含用户帐号ID;否则返回用户身份认证失败响应且流程结束。
S1208:授权模块32对申请usePolicy请求进行校验。
根据本申请的一些实施例,对申请usePolicy请求进行校验包括如下步骤:S12081,校验请求中的接收方设备20的DRM用户证书是否由DRM服务器30签发且有效期未过期。如果否则校验失败,如果是则进入S12082。S12082,对申请usePolicy请求中的证书私钥的签名进行校验。如果验证失败则结束,如果验证成功则进入S12083。S12083,校验接收方设备20的DRM用户证书中的用户帐号ID与步骤S1207的用户身份认证响应中的用户帐号ID是否一致;如果不一致则结束,如果一致则进入S12084。S12084,后使用auth Policy中的发送方用户的DRM用户证书(即用户证书的公钥)校验auth Policy的签名信息;如果校验失败则流程结束,如果校验成功则进入S1209。
S1209:授权模块32对接收方设备20进行授权认证。
在一些实施例中,上述授权认证的过程包括步骤:首先,校验auth Policy中的文件访问权限中的允许访问文件的用户列表中是否包含了接收方用户,如果包含则继续授权认证,否则授权认证失败;然后,校验auth Policy中的文件访问权限中的允许访问设备类型是否包含了接收方用户的DRM用户证书中的设备类型,如果包含则继续授权认证,否则授权认证失败;再校验auth Policy中的文件访问权限中的允许访问设备安全级别是否小于等于接收方用户的DRM用户证书中的设备安全级别,如果小于或等于则继续授权认证,否则授权认证失败;最后校验auth Policy中的文件访问权限的权限有效期是否过期,如果未过期则授权认证成功,否则授权认证失败。作为示例,在设置允许访问文件的设备类型为手机、PC,设备安全级别为软件级。
S1210:授权模块32生成中间密钥。
在一些实施例中,上述生成中间密钥的过程为:使用私钥s与公钥A进行密钥协商,得到中间密钥。下面以ECC密钥算法为例:中间密钥MK=A*s。
S1211:授权模块32生成use Policy。
其中,授权模块使用DRM服务器30的私钥对auth Policy、生成的中间密钥、接收方用户的DRM用户证书进行签名,得到use Policy对应的签名信息。
并且,授权模块把auth Policy,生成的中间密钥、接收方用户的DRM用户证书和use Policy对应的签名信息打包为use Policy。
S1212:授权模块32返回申请use Policy响应,申请use Policy响应包含usePolicy。
S1213:DRM客户端模块22使用DRM服务器30的公钥校验use Policy中的签名信息。如校验失败则流程结束,如果验证成功则进入S1214。
S1214:DRM客户端模块22在本地保存use Policy。
S1215:DRM客户端模块22生成会话密钥。
在一些实施例中,DRM客户端模块22生成会话密钥的过程包括:使用私钥b与公钥A进行密钥协商,然后使用密钥协商结果与中间密钥进行加运算得到会话密钥。下面以ECC密钥算法为例:会话密钥SK=MK+A*b。
需要说明的是,下面是证明发送方设备10与接收方设备20生成的会话密钥是相同的过程:
发送方设备10中的DRM客户端12生成会话密钥:SK=(S+B)*a;
DRM服务器30生成中间密钥:MK=A*s;
接收方设备20中的DRM客户端22合成会话密钥:MK+A*b=A*s+A*b=A*(s+b)=a*G*(s+b)=a*(s*G+b*G)=(S+B)*a=SK。显然,这三方设备生成的会话密钥相同。
S1216:DRM客户端模块22使用会话密钥解密use Policy中的文件密钥,然后使用文件密钥解密文件得到文件明文和访问权限。作为示例,DRM客户端模块22使用解密出的文件密钥解密DRM版权保护的图片M,得到图片M和对应的访问权限。
S1217:DRM客户端模块22返回文件明文和文件访问权限给调用方应用程序21a。具体地,DRM客户端模块22校验use Policy中的允许访问文件的应用程序列表中是否包含调用方应用程序(如或/>),如包含则DRM客户端模块22返回文件明文和文件访问权限给调用方应用程序21a,否则流程结束。
作为示例,在用户点击图13示出的图标132之后,如果接收方设备20中安装有和/>(即调用方应用程序),那么,如图14所示,接收方设备20在聊天界面131上显示提示信息“请选择打开方式”以及多个应用按钮,例如/>的应用按钮141和/>的应用按钮142。
S1218:调用方应用程序21a根据访问权限对文件进行控制。
作为示例,用户点击图14示出的的应用按钮141触发接收方设备20跳转到/>的界面时,由/>打开并按照设置的文件权限访问DRM版权保护的图片M。
类似的,在接收方用户在其他设备上也可以解密并访问DRM版权保护的图片M,该过程与上述接收方设备20的解密过程类似,此处不再赘述。如此,极大方便了同一用户在不同设备上访问受保护文件,例如即使其中一个用户设备的安全等级不符,另一个设备的安全等级也可能是相符的。
本申请实施例以下,以用户设备为手机为例,对用户设备的硬件结构进行描述。具体的,以下以发送方设备10为手机10为例进行说明,接收方设备20以及其他用户设备的结构与手机10的结构类似,以下不再赘述。
如图15所示,手机10可以包括处理器110、电源模块140、存储器180,移动通信模块130、无线通信模块120、传感器模块190、音频模块150、摄像头170、接口模块160、按键101以及显示屏102等。
可以理解的是,本发明实施例示意的结构并不构成对手机10的具体限定。在本申请另一些实施例中,手机10可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如,可以包括中央处理器CPU(Central Processing Unit)、图像处理器GPU(Graphics Processing Unit)、数字信号处理器DSP、微处理器MCU(Micro-programmed Control Unit)、AI(ArtificialIntelligence,人工智能)处理器或可编程逻辑器件FPGA(Field Programmable GateArray)等的处理模块或处理电路。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器110中可以设置存储单元,用于存储指令和数据。在一些实施例中,处理器110中的存储单元为高速缓冲存储器180。例如,手机10作为发送方设备可以编辑并生成DRM版权保护的文件。手机10作为接收方设备可以解密并访问DRM版权保护的文件。
电源模块140可以包括电源、电源管理部件等。电源可以为电池。电源管理部件用于管理电源的充电和电源向其他模块的供电。在一些实施例中,电源管理部件包括充电管理模块和电源管理模块。充电管理模块用于从充电器接收充电输入;电源管理模块用于连接电源,充电管理模块与处理器110。电源管理模块接收电源和/或充电管理模块的输入,为处理器110,显示屏102,摄像头170,及无线通信模块120等供电。
移动通信模块130可以包括但不限于天线、功率放大器、滤波器、LNA(Low noiseamplify,低噪声放大器)等。移动通信模块130可以提供应用在手机10上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块130可以由天线接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块130还可以对经调制解调处理器调制后的信号放大,经天线转为电磁波辐射出去。在一些实施例中,移动通信模块130的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块130至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivisionmultiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),无线局域网(wireless local areanetworks,WLAN),近距离无线通信技术(near field communication,NFC),调频(frequency modulation,FM)和/或field communication,NFC),红外技术(infrared,IR)技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidounavigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
无线通信模块120可以包括天线,并经由天线实现对电磁波的收发。无线通信模块120可以提供应用在手机10上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。手机10可以通过无线通信技术与网络以及其他设备进行通信。
在一些实施例中,手机10的移动通信模块130和无线通信模块120也可以位于同一模块中。
显示屏102用于显示人机交互界面、图像、视频等。显示屏102包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organiclight-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flexlight-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。例如,显示屏102可以显示DRM版权保护的文件的设置界面、访问界面等。
传感器模块190可以包括接近光传感器、压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
音频模块150用于将数字音频信息转换成模拟音频信号输出,或者将模拟音频输入转换为数字音频信号。音频模块150还可以用于对音频信号编码和解码。在一些实施例中,音频模块150可以设置于处理器110中,或将音频模块150的部分功能模块设置于处理器110中。在一些实施例中,音频模块150可以包括扬声器、听筒、麦克风以及耳机接口。
摄像头170用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件把光信号转换成电信号,之后将电信号传递给ISP(Image SignalProcessing,图像信号处理)转换成数字图像信号。手机10可以通过ISP,摄像头170,视频编解码器,GPU(Graphic Processing Unit,图形处理器),显示屏102以及应用处理器等实现拍摄功能。
接口模块160包括外部存储器接口、通用串行总线(universal serial bus,USB)接口及用户标识模块(subscriber identification module,SIM)卡接口等。其中外部存储器接口可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机10的存储能力。外部存储卡通过外部存储器接口与处理器110通信,实现数据存储功能。通用串行总线接口用于手机10和其他电子设备进行通信。用户标识模块卡接口用于与安装至手机1010的SIM卡进行通信,例如读取SIM卡中存储的电话号码,或将电话号码写入SIM卡中。
在一些实施例中,手机10还包括按键101、马达以及指示器等。其中,按键101可以包括音量键、开/关机键等。马达用于使手机10产生振动效果,例如在用户的手机10被呼叫的时候产生振动,以提示用户接听手机10来电。指示器可以包括激光指示器、射频指示器、LED指示器等。
如图16所示,为本申请实施例提供一种服务器的硬件结构示意图。例如,该服务器可以为上文中的DRM服务器或者用户账号登录服务器。
具体地,如图16所示,服务器1600包括:处理器1601、存储器1602、通信接口1603以及总线1604。其中,处理器1601、存储器1602和通信接口1603通过总线1604相互连接。其中,上述总线1604可以是外设部件互连标准(英文:Peripheral Component Interconnect,简称:PCI)总线或扩展工业标准结构(英文:Extended Industry Standard Architecture,简称:EISA)总线等。上述总线1604可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可以理解的是,在一种示例中,上述服务器1600为DRM服务器时,处理器1601用于签发各个用户设备的DRM用户证书等,并查询用户与DRM用户证书的关系。上述存储器1602用于存储用户与各个用户设备的DRM用户证书的关系。通信接口1603用于接收手机10发送的DRM用户证书申请请求等,并向手机10返回响应。
其中,本申请实施例提供的服务器1600中各个模块的详细描述以及各个模块执行上述实施例中的相关方法步骤后所带来的技术效果可以参考本申请方法实施例中的相关描述,此处不再赘述。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。

Claims (30)

1.一种文件加密传输方法,其特征在于,包括:
第一用户设备使用第一会话密钥将文件密钥加密为文件密钥密文,所述文件密钥用于将分享文件加密为密文文件,所述第一会话密钥是所述第一用户设备根据服务器的证书公钥、第二用户设备的证书公钥和在本地生成的所述第一用户的证书私钥生成的,所述第二用户设备为所述第一用户设备设置的文件访问权限指示的用户设备;
所述第一用户设备向第三用户设备发送所述文件密钥密文、所述文件访问权限的信息和所述密文文件;
所述第三用户设备从所述服务器获取中间密钥,所述中间密钥为所述服务器使用所述服务器的证书私钥和所述第一用户设备的证书公钥生成的;
所述第三用户设备根据所述中间密钥、所述第一用户设备的证书公钥和本地生成的所述第三用户设备的证书私钥,生成第二会话密钥,所述第二会话密钥与所述第一会话密钥相同;
所述第三用户设备使用所述第二会话密钥解密所述文件密钥密文得到文件密钥的明文;
所述第三用户设备使用所述文件密钥解密所述密文文件得到所述分享文件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第三用户设备按照所述文件访问权限访问所述分享文件。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述第三用户设备向所述服务器发送所述文件访问权限的信息;
所述服务器根据所述文件访问权限,对所述第三用户设备进行授权认证;其中,所述中间密钥为所述服务器对所述第三用户设备授权认证成功后生成并发送的。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述文件访问权限包括以下至少一项:允许访问的用户列表、允许访问的应用程序、允许访问的设备类型、允许访问的设备安全级别、允许的文件操作权限、权限有效期。
5.根据权利要求4所述的方法,其特征在于,所述第一会话密钥=(所述服务器的证书公钥+所述第二用户设备的证书公钥)*所述第一用户设备的证书私钥;
所述中间密钥=所述第一用户设备的证书公钥*所述服务器的证书私钥;
所述第二会话密钥=所述中间密钥+所述第一用户设备的证书公钥*所述第三用户设备的证书私钥。
6.一种文件加密传输方法,应用于第一用户设备,其特征在于,包括:
所述第一用户设备获取分享文件;
所述第一用户设备对所述分享文件设置文件访问权限;
所述第一用户设备使用文件密钥对所述分享文件加密,得到密文文件;
所述第一用户设备从服务器获取第二用户的证书公钥,所述第二用户设备为所述文件访问权限指示的用户设备;
所述第一用户设备根据服务器的证书公钥、第二用户设备的证书公钥和所述第一用户设备的证书私钥生成第一会话密钥,其中各个用户设备的证书公钥和证书私钥为相应的用户设备生成并存储的,所述第二用户设备为所述文件访问权限指示的用户设备;
所述第一用户设备使用所述第一会话密钥对所述文件密钥加密,得到文件密钥密文;
所述第一用户设备向第三用户设备发送所述文件密钥密文、所述访问权限的信息和所述密文文件。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述第一用户设备生成所述第一用户设备对应的证书公钥和证书私钥;
所述第一用户设备向所述服务器发送第一用户证书申请请求,所述第一用户证书申请请求中至少包括所述第一用户设备对应的证书公钥、设备类型和设备安全等级,并且所述第一用户证书申请请求用于请求所述服务器签发所述第一用户设备的用户证书并存储所述第一用户设备的用户信息与所述第一用户设备的用户证书之间的关系;
所述第一用户设备从所述服务器接收第一用户证书申请响应,所述第一用户证书申请响应中包括所述服务器签发的所述第一用户设备对应的用户证书和所述服务器的证书公钥。
8.根据权利要求7所述的方法,其特征在于,所述服务器中存储有用户信息与用户证书之间的关系,一个用户信息对应一个或多个用户设备的用户证书。
9.根据权利要求7所述的方法,其特征在于,一个用户证书中包含对应的用户设备的证书公钥、用户帐号ID、证书有效期、设备类型、设备安全等级。
10.根据权利要求6至9中任一项所述的方法,其特征在于,所述文件访问权限包括以下至少一项:允许访问的用户列表、允许访问的应用程序、允许访问的设备类型、允许访问的设备安全级别、允许的文件操作权限、权限有效期。
11.根据权利要求10所述的方法,其特征在于,所述第一用户设备向所述服务器发送第一用户证书查询请求,所述第一用户证书请求中包含所述文件访问权限中设置的允许访问的用户列表;
所述第一用户设备从所述服务器接收第一用户证书查询响应,所述第一用户证书查询响应中包括所述用户列表中的每个用户对应的一个或多个用户证书。
12.根据权利要求11所述的方法,其特征在于,所述第二用户设备为所述第三用户设备,且所述第二用户设备为所述用户列表中的任意一个用户对应的用户设备。
13.根据权利要求11所述的方法,其特征在于,所述第一会话密钥=(所述服务器的证书公钥+所述第二用户设备的证书公钥)*所述第一用户设备的证书私钥。
14.一种文件加密传输方法,应用于第三用户设备,其特征在于,包括:
所述第三用户设备接收第一用户设备发送的文件密钥密文、文件访问权限的信息和密文文件,所述文件密钥密文为所述第一用户设备使用第一会话密钥加密得到的,所述密文文件是所述第一用户设备使用所述文件密钥对分享文件加密得到的;
所述第三用户设备从服务器获取中间密钥,所述中间密钥为所述服务器使用所述服务器的证书私钥和所述第一用户设备的证书公钥生成的;
所述第三用户设备根据所述中间密钥、所述第一用户设备的证书公钥和本地生成的所述第三用户设备的证书私钥,生成第二会话密钥,所述第二会话密钥与所述第一会话密钥相同;
所述第三用户设备使用所述第二会话密钥解密所述文件密钥密文得到文件密钥的明文;
所述第三用户设备使用所述文件密钥解密所述密文文件得到所述分享文件;
所述第三用户设备按照所述文件访问权限访问所述分享文件。
15.根据权利要求14所述的方法,其特征在于,
所述第一会话密钥=(所述服务器的证书公钥+第二用户设备的证书公钥)*所述第一用户设备的证书私钥,其中所述第二用户设备为所述文件访问权限指示的用户设备;
所述中间密钥=所述第一用户设备的证书公钥*所述服务器的证书私钥;
所述第二会话密钥=所述中间密钥+所述第一用户设备的证书公钥*所述第三用户设备的证书私钥。
16.根据权利要求15所述的方法,其特征在于,所述方法还包括:
所述第三用户设备生成所述第三用户设备对应的证书公钥和证书私钥;
所述第三用户设备向所述服务器发送第三用户证书申请请求,所述第三用户证书申请请求中至少包括所述第三用户设备对应的证书公钥、设备类型和设备安全等级,并且所述第三用户证书申请请求用于请求所述服务器签发所述第三用户设备的用户证书并存储所述第三用户设备的用户信息与所述第三用户设备的用户证书之间的关系;
所述第三用户设备从所述服务器接收第三用户证书申请响应,所述第三用户证书申请响应中包括所述服务器签发的所述第三用户设备对应的用户证书和所述服务器的证书公钥。
17.根据权利要求16所述的方法,其特征在于,所述服务器中存储有用户信息与用户证书之间的关系,一个用户信息对应一个或多个用户证书。
18.根据权利要求17所述的方法,其特征在于,一个用户证书中包含对应的证书公钥、用户帐号ID、证书有效期、设备类型、设备安全等级。
19.根据权利要求14至18中任一项所述的方法,其特征在于,所述文件访问权限包括以下至少一项:允许访问的用户列表、允许访问的应用程序、允许访问的设备类型、允许访问的设备安全级别、允许的文件操作权限、权限有效期。
20.根据权利要求19所述的方法,其特征在于,所述第三用户设备按照所述文件访问权限访问所述分享文件,包括:
所述第三用户设备判断所述第三用户设备中的目标应用程序是否为所述文件访问权限中允许访问的应用程序;
在所述目标应用程序为所述文件访问权限中允许访问的应用程序的情况下,所述第三用户设备使用目标应用程序按照所述文件访问权限访问所述分享文件。
21.一种文件加密传输方法,应用于服务器,其特征在于,包括:
所述服务器接收第三用户设备发送的解密策略申请请求,所述解密策略信息用于请求解析所述第三用户设备接收到的密文文件;
所述服务器根据所述服务器的证书私钥和第一用户设备的证书公钥,生成中间密钥;
所述服务器向所述第三用户设备发送解密策略申请响应,所述解密策略申请响应中包括所述中间密钥,所述中间密钥用于解密所述第三用户设备接收到的受保护文件中的文件密钥密文。
22.根据权利要求21所述的方法,其特征在于,所述解密策略信息中包括所述密文文件对应的文件访问权限的信息;所述文件访问权限包括以下至少一项:允许访问的用户列表、允许访问的应用程序、允许访问的设备类型、允许访问的设备安全级别、允许的文件操作权限、权限有效期。
23.根据权利要求22所述的方法,其特征在于,所述方法还包括:
所述服务器校验所述文件访问权限中的允许访问文件的用户列表中是否包含了所述第三用户设备对应的用户;
在所述允许访问文件的用户列表中是否包含了所述第三用户设备对应的用户的情况下,所述服务器校验所述文件访问权限中的允许访问设备类型是否包含了所述第三用户设备的用户证书中的设备类型;
在所述允许访问设备类型是否包含了所述第三用户设备的用户证书中的设备类型的情况下,所述服务器校验所述文件访问权限中的允许访问设备安全级别是否小于或等于所述第三用户设备的用户证书中的设备安全级别;
在所述允许访问设备安全级别小于或等于所述第三用户设备的用户证书中的设备安全级别的情况下,所述服务器校验所述文件访问权限的权限有效期是否过期;
在所述文件访问权限的权限有效期未过期的情况下,所述服务器确定对所述第三用户设备授权认证成功。
24.根据权利要求21至23中任一项所述的方法,其特征在于,所述方法还包括:
所述服务器接收所述第一用户设备发送的第一用户证书申请请求,所述第一用户证书申请请求中至少包括所述第一用户设备对应的证书公钥、设备类型和设备安全等级,并且所述第一用户证书申请请求用于请求所述服务器签发所述第一用户设备的用户证书并存储所述第一用户设备的用户信息与所述第一用户设备的用户证书之间的关系;
所述服务器向所述第一用户设备发送第一用户证书申请响应,所述第一用户证书申请响应中包括所述服务器签发的所述第一用户设备对应的用户证书和所述服务器的证书公钥。
25.根据权利要求24所述的方法,其特征在于,所述第一用户设备的用户证书中包括所述第一用户设备的证书公钥、用户帐号ID、证书有效期、设备类型、设备安全等级。
26.根据权利要求25所述的方法,其特征在于,所述方法还包括:
所述服务器存储所述第一用户设备的用户信息与所述第一用户设备的用户证书之间的关系。
27.根据权利要求21所述的方法,其特征在于,
所述文件密钥密文是所述第一用户设备使用第一会话密钥加密得到的;
所述第一会话密钥=(所述服务器的证书公钥+第二用户设备的证书公钥)*所述第一用户设备的证书私钥,其中所述第二用户设备为所述文件访问权限指示的用户设备;
所述中间密钥=所述第一用户设备的证书公钥*所述服务器的证书私钥;
所述中间密钥用于所述第三用户设备生成第二会话密钥,所述第二会话密钥用于所述第三用户设备解密所述文件密钥密文;
所述第二会话密钥=所述中间密钥+所述第一用户设备的证书公钥*所述第三用户设备的证书私钥。
28.一种文件加密传输系统,其特征在于,包括:如权利要求6至13中任一项所涉及的第一用户设备、如权利要求14至20中任一项所涉及的第三用户设备以及如权利要求21至27中任一项所涉及的服务器。
29.一种可读介质,其特征在于,所述可读介质上存储有指令,所述指令在电子设备上执行时使所述电子设备执行如权利要求1至5中任一项所述的文件加密传输方法,或者,如权利要求6至13中任一项所述的文件加密传输方法,或者,如权利要求14至20中任一项所述的文件加密传输方法,或者,如权利要求21至27中任一项所述的文件加密传输方法。
30.一种电子设备,其特征在于,包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及处理器,是所述电子设备的处理器之一,用于执行如权利要求1至5中任一项所述的文件加密传输方法,或者,如权利要求6至13中任一项所述的文件加密传输方法,或者,如权利要求14至20中任一项所述的文件加密传输方法,或者,如权利要求21至27中任一项所述的文件加密传输方法。
CN202211099432.3A 2022-09-07 2022-09-07 文件加密传输方法、系统、介质及设备 Pending CN117714087A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211099432.3A CN117714087A (zh) 2022-09-07 2022-09-07 文件加密传输方法、系统、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211099432.3A CN117714087A (zh) 2022-09-07 2022-09-07 文件加密传输方法、系统、介质及设备

Publications (1)

Publication Number Publication Date
CN117714087A true CN117714087A (zh) 2024-03-15

Family

ID=90159366

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211099432.3A Pending CN117714087A (zh) 2022-09-07 2022-09-07 文件加密传输方法、系统、介质及设备

Country Status (1)

Country Link
CN (1) CN117714087A (zh)

Similar Documents

Publication Publication Date Title
US10412061B2 (en) Method and system for encrypted communications
EP3605989B1 (en) Information sending method, information receiving method, apparatus, and system
WO2020143414A1 (zh) 无线网络接入方法、装置、设备及系统
US11108762B2 (en) Methods and systems for controlling access to a protected resource
US9118662B2 (en) Method and system for distributed off-line logon using one-time passwords
US9832183B2 (en) Key management using quasi out of band authentication architecture
US8606234B2 (en) Methods and apparatus for provisioning devices with secrets
EP2887615A1 (en) Cloud-based scalable authentication for electronic devices
US11019054B2 (en) Method, first device, second device and server for proving user information with authentication data issued by the server and verified on-line
CN113821835B (zh) 密钥管理方法、密钥管理装置和计算设备
AU2020419473B2 (en) Device sharing method and electronic device
KR20120051344A (ko) 휴대형 통합 보안 저장장치와 이를 이용하는 서비스 처리 장치 및 방법
US9240982B2 (en) Method for associating an image-forming device, a mobile device, and a user
CN113821821B (zh) 安全架构系统、安全架构系统的密码运算方法和计算设备
US11496299B2 (en) Method and chip for authenticating to a device and corresponding authentication device and system
JP2020078067A (ja) モバイルデバイスを有するユーザがスタンドアロンコンピューティングデバイスの能力にアクセスすることをセキュアに可能にするためのシステム及び方法
CN114218510A (zh) 业务页面显示方法、装置和设备
EP2658297A1 (en) Method and system for accessing a service
CN113630405B (zh) 入网认证方法、装置、电子设备及存储介质
CN108924136B (zh) 授权认证方法、装置及存储介质
CN117714087A (zh) 文件加密传输方法、系统、介质及设备
US20210306328A1 (en) Multi-factor geofencing system for secure encryption and decryption system
CN107318148B (zh) 无线局域网接入信息存储方法及装置
Batyuk et al. Multi-device key management using visual side channels in pervasive computing environments
CN113626777A (zh) 身份认证方法、存储介质和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication