加密方法和装置、解密方法和装置及终端与流程

文档序号:12789489阅读:225来源:国知局
加密方法和装置、解密方法和装置及终端与流程

本发明涉及网络信息安全领域,特别是一种加密方法和装置、解密方法和装置及终端。



背景技术:

智能终端日益成为个人信息助理,越来越多重要的数据存储在终端,随着木马病毒等终端安全问题日益突出,数据安全保护、特别是加密密钥安全性成为智能终端安全的难题。传统的数据加解密中,数据明文、加密密钥直接经加密算法运算后,得到密文,解密过程相反。

现有的智能终端数据加密和密钥存储的方案存在以下问题:

1.终端加密:数据由终端加解密、密钥存储于终端数据库或文件,密钥容易失窃从而危及数据安全性。

2.云端加密:终端数据上传至云端加密并存储,密钥由云端管理,云服务商较强的安全防护措施可降低密钥失窃的风险,但内部管理员可获取该密钥并解密数据,用户可能对服务商存在疑虑。



技术实现要素:

本发明的一个目的在于降低密钥失窃的风险,提高数据的安全性。

根据本发明的一个方面,提出一种加密方法,其特征在于,包括:将密钥元素基于密钥规则进行运算,生成密钥;将明文根据密钥基于密钥规则进行加密运算,生成密文;将密钥规则基于用户口令和/或终端标识进行加密运算,生成密钥规则密文;将密钥规则密文上传到云服务器存储。

可选地,还包括:将密文上传到云服务器存储。

可选地,密钥元素包括终端数据文件、终端配置信息、网络配置信息和/或网络服务器文件。

可选地,还包括:从云服务器和/或独立于密钥元素的智能卡获取密钥规则。

通过这样的方法,能够采用密钥元素和密钥规则对数据进行加密,且将密钥规则加密后上传到云服务器,与终端密钥元素分离存储。由于加解密密钥由密钥规则作用于密钥元素生成,且二者分别由云服务器、终端管理,任一部分信息的失窃都难以获得密钥,大大降低密钥失窃的风险,提升了终端数据的安全性。

根据本发明的另一个方面,提出一种解密方法,包括:从云服务器获取密钥规则密文;基于用户口令、终端标识对密钥规则密文进行解密运算,确定密钥规则;将密钥元素基于密钥规则进行运算,生成密钥;根据密钥和密钥规则对密文进行解密运算,确定明文。

可选地,还包括:从云服务器获取密文。

可选地,密钥元素包括终端数据文件、终端配置信息、网络配置信息和/或网络服务器上的文件。

通过这样的方法,能够从云服务器获取密钥规则密文,结合终端密钥元素,实现对密文的解密,从而保证了在采用密钥元素和密钥规则对数据进行加密且密钥规则和密钥元素分离存储的情况下实现对密文的有效解密,提高了终端数据的安全性。

根据本发明的又一个方面,提出一种加密装置,包括:密钥生成模块,用于将密钥元素根据密钥规则生成密钥;密文生成模块,用于将明文和密钥根据密钥规则进行加密运算,生成密文;规则密文生成模块,用于将密钥规则基于用户口令和/或终端标识进行加密,生成密钥规则密文;上传模块,用于将密钥规则密文上传到云服务器存储。

可选地,上传模块还用于将密文上传到云服务器存储或发送给目的终端。

可选地,密钥元素包括终端数据文件、终端配置信息、网络配置信息和/或网络服务器文件。

可选地,还包括规则获取模块,用于从云服务器和/或独立于密钥元素的智能卡获取密钥规则。

这样的装置能够采用密钥元素和密钥规则对数据进行加密,且密钥规则和密钥分离存储。由于加解密密钥由密钥规则作用于密钥元素生成,且二者分别由云、端管理,任一部分信息的失窃都难以获得密钥,大大降低密钥失窃的风险,提升终端数据的安全性。

根据本发明的再一个方面,提出一种解密装置,包括:数据获取模块,用于从云服务器获取密钥规则密文;规则解密模块,用于基于用户口令和/或终端标识对密钥规则密文进行解密运算,确定密钥规则;密钥确定模块,用于将密钥元素基于密钥规则生成密钥;密文解密模块,用于根据密钥和密钥规则对密文进行解密运算,确定明文。

可选地,数据获取模块还用于从云服务器或源终端获取密文。

可选地,密钥元素包括终端数据文件、终端配置信息、网络配置信息和/或网络服务器上的文件。

这样的装置能够从云服务器获取密钥规则密文,结合终端密钥元素,实现对密文的解密,从而保证了在采用密钥元素和密钥规则对数据进行加密且密钥规则和密钥元素分离存储的情况下实现对密文的有效解密,提高了终端数据的安全性。

另外,根据本发明的一个方面,提出一种终端,包括上文中提到的任一种加密装置和任一种解密装置。

这样的终端能够采用密钥规则与密钥元素结合的方式对数据进行加密,且密钥规则和密钥元素分离存储;终端还能够获取密钥规则和密钥元素,实现对加密数据的解密,从而在实现对数据加、解密的基础上,提高了数据的安全性。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明的加密方法的一个实施例的流程图。

图2为本发明的加密方法的另一个实施例的流程图。

图3为本发明的解密方法的一个实施例的流程图。

图4为本发明的加解密方法的一个实施例的示意图。

图5为本发明的加密装置的一个实施例的示意图。

图6为本发明的加密装置的另一个实施例的示意图。

图7为本发明的解密装置的一个实施例的示意图。

图8为本发明的终端的一个实施例的示意图。

具体实施方式

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

本发明的加密方法的一个实施例的流程图如图1所示,

在步骤101中,终端将密钥元素使用密钥规则进行运算,生成密钥。

在步骤102中,终端将明文根据密钥基于密钥规则进行加密运算,生成密文。其中,密钥由密钥元素基于密钥规则生成,密钥元素是终端中相对稳定的信息。

在步骤103中,终端将密钥规则基于用户口令或终端标识进行加密运算,生成密钥规则密文。

在步骤104中,终端将密钥规则密文上传到云服务器存储,删除终端的密钥规则。

通过这样的方法,能够采用密钥元素和密钥规则对数据进行加密,且将密钥规则加密后上传到云服务器,与终端密钥元素分离存储。由于加解密密钥由密钥规则作用于密钥元素生成,且二者分别由云、端管理,任一部分信息的失窃都难以获得密钥,大大降低密钥失窃的风险,提升了终端数据的安全性。

在一个实施例中,可以将密文也上传到云服务器存储。这样的方法不仅可以释放一部分的终端空间,也避免了终端故障导致的数据丢 失,更加安全方便。

在一个实施例中,密钥元素是用于产生密钥的素材,可以是存储的文本、图像、视频等各类数据文件、也可以是终端ID、IMSI等终端、网络配置信息、甚至是网络服务器上的文件。这样的方法中,密钥元素样本空间非常大、规则可任意设计,密钥产生具有很强的随机性,极大的提高了密钥破解的难度。

由于密钥由密钥规则作用于密钥元素生成,为确保密钥的稳定性,密钥元素应该是终端中相对稳定的信息,密钥元素格式、内容不限。在一个实施例中,密钥元素来源于终端存储的文件,如:

密钥元素:<Element name=”F1”,Type=”video/mp4”,src=”/storage/sdcard1/DCIM/Camera/VID_20151006_114854.mp4”/>

密钥规则:

<Rule>

<Key>src=”F1”&&type=”pixels”&&value=”frame=316&&pixels=2n(1<=n<=128)”</Key>

</Rule>

在此实施例中,密钥元素为视频文件“VID_20151006_114854.mp4”,取该视频文件的第316帧第2n(1<=n<=128)个像素值构成密钥。采用视频文件作为密钥元素,由于数据量巨大,即使该视频文件失窃,也难以确定密钥,提高了数据的安全性。

在另一个实施例中,密钥元素来自网络文件与本机终端ID的组合,如:

密钥元素:

<Element name=”F1”,Type=”image/jpg”,src=”http://www.foo.com/pic/11035604.jpg”/>

<Element name=”MEID”,Type=”string”/>

密钥规则:

<Rule>

<Key value=”k1”+”k2”/>

<Key name=”k1”>

Src=”F1”&&type=”bitmap”&&value=”bits=2n+1(100<=n<=131)”

</Key>

<Key name=”k2”>

Src=”MEID”&&type=”byte”&&value=”byte=n(3<=n<=8)”

</Key>

</Rule>

在此实施例中,采用图片“11035604.jpg”和终端MEID(Mobile Equipment Identifier,移动设备识别码)作为密钥元素,取图片“11035604.jpg”第100-131像素值与终端MEID第3-8个字节的值组成密钥。这样的密钥结合了网络图片中的数据和终端MEID的数据共同构成,进一步降低了失窃、破译的可能性,提高了数据安全性。

在一个实施例中,密钥规则不仅可指定密钥生成规则,还可指定加解密运算中算法等参数。如:

<Rule>

<Key value=”k1”+”k2”/>

<Key name=”k1”>

Src=”F1”&&type=”bitmap”&&value=”bits=2n+1(100<=n<=131)”

</Key>

<Key name=”k2”>

Src=”MEID”&&type=”byte”&&value=”byte=n(3<=n<=8)”

</Key>

<Algorithm>SM4</Algorithm>

</Rule>

上述密钥规则在上一个实施例的基础上,还指定了加密采用国有商用密码算法SM4。这样的密钥规则在利用密钥元素生成密钥的基础 上,还能够对明文基于密钥进行加密运算,生成密文,保证密钥规则与密钥、密文的生成过程直接相关,而由于密钥规则与密钥元素分别存储于云端和终端,密文无论存储于云服务器还是终端,都能够具有很高的安全性。

本发明的加密方法的另一个实施例的流程图如图2所示。

在步骤201中,终端从云服务器或者独立于密钥元素的智能卡获取密钥规则。

在步骤202中,终端将密钥元素使用密钥规则进行运算,生成密钥。

在步骤203中,将明文根据密钥基于密钥规则进行加密运算,生成密文。其中,密钥由密钥元素基于密钥规则生成。

在步骤204中,将密钥规则基于用户口令或终端标识进行加密运算,生成密钥规则密文。

在步骤205中,将密钥规则密文上传到云服务器存储,删除终端侧的密钥规则。

这样的方法中,终端获取的密钥规则来自于云服务器或者智能卡,而密钥元素是终端中相对稳定的信息,保证密钥规则与密钥元素不相关,降低了密钥元素与密钥规则同时失窃的可能性,提高了安全性。

本发明的解密方法的一个实施例的流程图如图3所示。

在步骤301中,终端从云服务器获取密钥规则密文。密钥规则密文由密钥规则基于用户口令或终端标识加密运算生成。

在步骤302中,终端基于用户口令、终端标识等信息对密钥规则进行解密运算,生成密钥规则。

在步骤303中,将终端的密钥元素基于密钥规则进行运算,生成密钥。

在步骤304中,基于密钥和密钥规则对密文进行解密,确定明文。

通过这样的方法,能够从云服务器获取密钥规则密文,结合终端密钥元素,实现对密文的解密,从而保证了在采用密钥元素和密钥规 则对数据进行加密且密钥规则和密钥分离存储的情况下实现对密文的有效解密,提高了终端数据的安全性。

在一个实施例中,密文可能存储于云服务器,终端需要从云服务器获取密文,再对密文进行解密,获取明文。这样的方法不仅可以释放一部分的终端空间,也避免了终端故障导致的数据丢失,更加安全方便。

在一个实施例中,密钥元素是用于产生密钥的素材,可以是存储的文本、图像、视频等各类数据文件、也可以是终端ID、IMSI等终端、网络配置信息、甚至是网络服务器上的文件。这样的方法中,密钥元素样本空间非常大、规则可任意设计,密钥产生具有很强的随机性,极大的提高了密钥破解的难度。

本发明的加解密方法的一个实施例的示意图如图4所示。

在终端加密过程中:

(1)将密钥元素E和密钥规则R进行运算生成密钥K。

(2)将明文F和密钥K基于密钥规则R进行加密运算生成密文F’。

(3)将密钥规则R采用用户口令、或终端标识等加密,形成密钥规则密文R’。

(4)密钥规则密文R’上传至云存储服务器存储、管理,数据密文F’可根据需要存储于终端、也可存储于云端。

在解密过程中:

(1)从云存储服务器下载密钥规则密文R’;如果密文F’存储于云端,则下载该密文F’。

(2)将密钥规则密文R’使用用户口令、或终端标识解密,得到密钥规则R。

(3)将密钥元素E依据密钥规则R生成密钥K。

(4)将密文F’、密钥K依据密钥规则R进行解密运算,得到明文F。

通过这样的方法,能够采用密钥规则与密钥元素结合的方式对数 据进行加密,且密钥规则和密钥元素分离存储;终端还能够获取密钥规则和密钥元素,实现对加密数据的解密,从而在实现对数据加、解密的基础上,提高了数据的安全性。

本发明的加密装置的一个实施例的示意图如图5所示。其中,501为密钥生成模块,能够将密钥元素根据密钥规则生成密钥。502为密文生成模块,利用密钥生成模块501生成的密钥,基于密钥规则对明文进行加密,生成密文。503为规则密文生成模块,用于将密钥规则基于用户口令、终端标识进行加密,生成密钥规则密文。504为上传模块,用于将密钥规则密文上传到云服务器存储。

这样的装置能够采用密钥元素和密钥规则对数据进行加密,且密钥规则和密钥分离存储。由于加解密密钥由密钥规则作用于密钥元素生成,且二者分别由云、端管理,任一部分信息的失窃都难以获得密钥,大大降低密钥失窃的风险,提升终端数据的安全性。

在一个实施例中,上传模块504还能够将密文也上传到云服务器存储。这样的装置不仅可以释放一部分的终端空间,也避免了终端故障导致的数据丢失,更加安全方便。

在一个实施例中,密钥元素是用于产生密钥的素材,可以是存储的文本、图像、视频等各类数据文件、也可以是终端ID、IMSI等终端、网络配置信息、甚至是网络服务器上的文件。这样的装置中,密钥元素样本空间非常大、规则可任意设计,密钥产生具有很强的随机性,极大的提高了密钥破解的难度。

本发明的加密装置的另一个实施例的示意图如图6所示。其中,601为密钥生成模块,602为密文生成模块,603为规则密文生成模块,604为上传模块,其结构和功能与图5的实施例中对应部分相似。加密装置还包括规则获取模块605,用于从云服务器或者独立于密钥元素的智能卡获取密钥规则。规则获取模块605与密钥生成模块601、密文生成模块602、规则密文生成模块603连接,为加密装置提供密钥规则。

这样加密装置中,密钥规则来自于云服务器或者智能卡,而密钥 元素是终端中相对稳定的信息,保证密钥规则与密钥元素不相关,降低了密钥元素与密钥规则同时失窃的可能性,提高了安全性。

本发明的解密装置的一个实施例的示意图如图7所示。其中,701为数据获取模块,用于从云服务器获取密钥规则密文。702为规则解密模块,能够基于用户口令、终端标识等对密钥规则密文进行解密运算,确定密钥规则。703为密钥确定模块,能够基于密钥规则对密钥元素运算生成密钥。704为密文解密模块,根据密钥确定模块703确定的密钥和规则解密模块702确定的密钥规则对密文进行解密运算,确定明文。

这样的装置能够从云服务器获取密钥规则密文,结合终端密钥元素实现对密文的解密,从而保证了在采用密钥元素和密钥规则对数据进行加密且密钥规则和密钥分离存储的情况下实现对密文的有效解密,提高了终端数据的安全性。

在一个实施例中,密文可能存储于云服务器,终端需要从云服务器获取密文,再对密文进行解密,获取明文。这样的解密装置不仅可以释放一部分的终端空间,也避免了终端故障导致的数据丢失,更加安全方便。

在一个实施例中,密钥元素是用于产生密钥的素材,可以是存储的文本、图像、视频等各类数据文件、也可以是终端ID、IMSI等终端、网络配置信息、甚至是网络服务器上的文件。这样的解密装置的密钥元素样本空间非常大、规则可任意设计,密钥产生具有很强的随机性,极大的提高了密钥破解的难度。

本发明的终端的一个实施例的示意图如图8所示。其中,801为上文中提到的任一种加密装置,802为任一种解密装置。采用加密装置801对数据进行加密运算,采用802对加密数据进行解密运算。

这样的终端能够采用密钥规则与密钥元素结合的方式对数据进行加密,且密钥规则和密钥元素分离存储;终端还能够获取密钥规则和密钥元素,实现对加密数据的解密,从而在实现对数据加、解密的基础上,提高了数据的安全性。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1