APP下载

基于一种云计算数据保护的多级加密算法的应用研究

2020-04-01任凌翔PadmapriyaPortia

工业技术与职业教育 2020年1期
关键词:明文加密算法密文

任凌翔,A. Padmapriya,R. Portia

(1.唐山职业教育中心,河北 唐山 063000;2.阿拉嘎帕大学,印度 泰米尔纳德邦 630003)

0 引言

根据CNCERT监测数据,自 2019 年以来,CNCERT在持续开展的MongoDB、 Elasticsearch等数据库数据泄露风险应急处置过程中,发现存在隐患的数据库搭建在云服务商平台上的数量占比超过40%[1]。这已经成为云数据泄露的隐性爆发风险点。

云计算是可配置的计算机系统资源和高级服务的共享器,可以通过互联网(通常是通过Internet)以最少的管理成本快速地提供数据资源。云计算依靠共享数据资源和高速处理数据的能力来实现数据交互处理,已实现在较大规模经济投入下的盈利,类似于公共计算机设备[2]。

云计算环境是松散耦合的。用户大致可以分为非法用户和合法用户。合法的用户可以通过提供的服务访问存储在云中的数据,而非法用户需要获取云中数据时,就只能花费大量精力对云中存储的数据进行恶意入侵和暴力破解。一般情况下,存储在云中的数据是加密的,合法注册用户可以在登陆云时及时解密。

云用户数据被加密并存储在云中(这包括用户名和密码以及大量用户数据)。根据加密方法的不同,可分为对称加密算法(Symmetric Encryption/Symmetric Algorithm)和非对称加密(Asymmetric Encryption/Asymmetric Algorithm)。这2种加密算法都会用到密钥(Public-key),一个较为复杂的密钥是数据加密后不会轻易被黑客破解的保障。根据不同的算法参数,会形成不同加密密钥,每种加密方法都会有自己的优点和缺点。其中过于复杂的密钥算法会占用大量的云计算资源,导致响应时间过长,直接影响用户的使用体验。

1 云安全问题

云计算用户将数据信息存储在云服务器上,云服务提供商确保客户的信息安全,客户信息不存在数据丢失、数据被盗等问题。还有一种可能性是,非法用户可以通过伪装成合法用户渗透到云中,从而感染整个云并获取云服务器中的合法数据[3]。这将会影响许多合法用户的数据安全并感染共享数据的云客户[4]。在讨论云的安全性时,出现了5种类型的问题[5]。

1.1 5种云安全问题

1)数据问题。在云中所用户数据都要保障其在云存储中的时间性、安全性和完整性,也就是云计算中的存储正确性;2)隐私问题。快速定位数据错误,在云服务器发生入侵时能在有效的时间内地定位故障服务器并能检测出被感染数据;3)动态数据支持。用户在云计算中的数据文件在云存储中可以添加、修改、删除或追加新的数据并能保持在相同的存储级别下数据的正确性、完整性和可逆性;4)安全问题和可靠性。尽量减少由数据错误或服务器故障引起的故障,服务器串通攻击故障和恶意数据修改故障,增强数据可用性防止拜占庭故障;5)信任问题。尽可能减少云中合法用户的使用成本和响应时间,使云计算服务商利润最大化。

1.2 云计算的部署模型

2011年,NIST对云计算的定义是私有云、社区云、公共云和混合云4种部署模式,如图1所示。

1)私有云(Private Cloud)也称为“内部云”,它设置了访问边界,只允许授权用户和组织内访问系统和服务。私有云平台是一个基于云的安全环境,该环境是由属于特定组织的IT部门管理的高级防火墙进行保护。私有云只允许授权用户访问,从而为私有云提供了较为安全的运维环境,数据安全也有较大的可控性。

2)社区云(Community Cloud)是另一种类型的云计算,在属于同一社区或区域的不同组织之间为达到共享信息的目的所建立起来的云被称为社区云。多租户设置是社区云的用户特征,在属于具有类似社区云关系的特定社区或组的不同组织之间,使用多租户设置进行访问。

3)公共云(Public Cloud)是云托管的一种类型,它允许客户端/用户很容易地访问系统及其服务。云服务是开放式的,提供公共云设施的公司有IBM、谷歌、亚马逊、微软等;还有阿里、百度、腾讯等国内云服务提供商。这种类型的云计算是云托管的真实案例,其中服务提供商为各种客户端/用户提供服务。从技术角度看,私有云与公共云在结构设计上的差异最小。安全级别取决于服务提供者和云客户端使用的类型。公共云更适合用于管理负载较大的运算项目。因为减少了硬件投资和运维云的费用,所以这种类型的云是性价比较高。

4)混合云(Hybrid Cloud)是另一种云计算类型,它包括社区云、分布式云、多云、大数据云和高性能计算云,是众多云服务的组合。非关键任务(如开发和测试工作负载)可以使用公共云完成,而敏感的关键任务(如组织数据处理)则使用私有云完成。在混合云托管中,这2种部署模型以及社区部署模型都有是好的模型。

图1 云计算的部署模型

2 背景研究

2.1 加密算法

加密算法可分为对称加密算法(Symmetric Encryption/Symmetric Algorithm)和非对称加密(Asymmetric Encryption/Asymmetric Algorithm)。在对称加密算法中明文(PlainText)通过加密程序(Encryption)在加密密钥(Secret Key)的作用下转换成密文(CipherText)储存在云存储中。当需要解密时通过解密程序(Decryption)在解密密钥(Secret Key)的作用下再转换成明文(Plain Text)输出到客户端/用户。对称加密算法的特点是加密密钥和解密密钥相同(Same Key),常用的对称加密算法有DES、3DES、AES等[6],如图2所示。

如图2 对称加密算法

在不对称加密算法中明文(PlainText)通过加密程序(Encryption)在加密密钥(也称为公开密钥)的作用下转换成密文(CipherText)储存在云存储中。当需要解密时通过解密程序(Decryption)在解密密钥(Secret Key)的作用下再转换成明文(Plain Text)输出到客户端/用户。非对称加密算法的特点是加密密钥与解密密钥不同(Different Key),常见的非对称加密算法有RSA、DSA等,如图3所示。

图3 非对称加密算法

2.2 多级加密算法

印度阿拉嘎帕大学研究员Subhasri和Padmapriya提出了一种多级加密算法,应用在云计算数据安全中能使云计算中的数据得到安全保障[7]。该系统的安全体系结构是使用对称加密算法模块,并通过多级数据加密来实现数据存储安全,使得黑客在获得数据后会花费大量的时间和资源进行数据解密,从而达到保护数据安全的目的。Subhasri和Padmapriya提出的多级加密算法,分如下几个步骤实现数据加密和解密。第1步:获取纯文本并分配字母的位置;第2步:生成纯文本字母的ASCII值;第3步:分配相同的键值被视为键;第4步:使用公式加密;第5步:解密是加密算法的逆过程。

本文的主要贡献是提出了一种新的基于多级对称加密算法的数据加密安全解决方案,对复杂安全解决方案的设计具有重要的参考价值。

3 多级加密、解密数据方法

数据加密是对数据或信息进行再次编码的过程,通过固定的加密形式对数据或信息(即明文)进行再次编码(即加密方法)已达到保护数据安全的目的。解密形式如同加密形式的逆运算,将加密后的数据或信息(即密文)通过固定的解密形式还原到原始的数据或信息(即明文)形式。在云计算中只有合法用户才能访问云存储中的数据或信息,而非法用户是不能进行访问的,即使黑客通过非法的形式获得信息或数据也不能在短时间内进行解密(即还原到明文形式)。本文提出了一种多级加密方法,用来保护云计算存储中的数据安全。

3.1 多级加密方法

本文提出了以换位加密算法和置换加密算法相结合的多级加密算法形式,用来对云存储中数据进行加密保护。例如将字母“R”保存到云存储器中,它将经过如下加密过程。

首先一级加密是通过换位加密算法将字母“R”进行换位加密。第1步:获取明文也就是将明文中的字母“R”提取出来,并确定字母“R”在明文中的位置。第2步:生成字母“R”(的ASCII值为82)在明文中的ASCII值(即ASCII格式)。第3步:将明文中字母“R”的ASCII值转换为二进制值(即二进制格式)。第4步:将明文中字母“R”的二进制值向左移一位(即左移格式)。第5步:将得到的明文字母“R”的左移格式值转换为XOR(即XOR格式)。根据上面的步骤对明文字母“R”进行加密运算,笔者发现经过4次加密运算(Change1-4),明文字母“R”(的ASCII值为82)转换为密文字母“Z”(的ASCII值为90)并存放到云存储中,这就完成了第一级数据加密过程,如图4所示。

图4 换位加密算法的加密过程

第2级数据加密过程为置换加密算法运用以下公式对数据进行加密运算:E =(p + k + i) % 128。公式中“E”为二级加密后输出结果一般为ASCII值以十进制形式表示的数值或对应的字母值。“p”为第1级加密运算后得到的加密后文本值,如上文中提到的一级加密运算后字母“Z”的数值(ASCII值为90)。“k”为密钥值,这里设为常量:7。“i”为置换位移值,这里设为常量:0。

根据上述公式可以得到二级加密的密文。密文为一般以十进制表示的ASCII值。例如:

E = (p + k + i) % 128

= (90 + 7 + 0) % 128

= 97

根据以上加密算法公式,得到密文“E”的值为97是以十进制表示的ASCII值。

3.2 多级解密方法

将第2级加密得到的密文值“E”进行解密运算,数据解密过程首先为置换解密算法,运用以下公式对数据进行解密运算:D = ((E - k - i) + 128) %128。公式中“E”为二级加密后输出结果。如上文中提到的二级加密运算后密文“E”的数值97。“k”为密钥值,这里设为常量:7。“i”为置换位移值,这里设为常量:0。公式中得到“D”的值为第1级加密运算后得到的密文值,也就是上文中“P”的值。根据上述公式可以得到二级加密算法执行前的密文值,也就是得到一级加密算法结束后的密文值。例如:

D = ((E - k - i) + 128) % 128

= ((97 - 7- 0) +128) % 128

= 90

根据以上解密算法公式,得到二级解密明文“D”也就是上文中一级加密算法得到的密文“P”用十进制表示的ASCII值为90转换成明文字母“Z”。

一级解密算法也就是一级加密算法的逆运算为换位解密算法,第1步:将得到的二级解密密文“Z”,它的十进制ASCII值为90转化为二进制(即二进制格式)。第2步:解密密文“Z”的二进制格式取反转换为XOR格式。第3步:将解密密文中字母“Z”的二进制值向右移一位(即右移格式)。第4步:把右移格式中的二进制数转换为ASCII值以十进制数表示为82即字母“R”,解密过程结束。根据上面的步骤对二级解密密文字母“Z”进行解密运算,笔者发现经过3次解密运算(Change1-3),二级解密密文字母“Z”(的ASCII值为90)转换为明文字母“R”(的ASCII值为82)并输出到云计算客户端/用户,这就完成了多级数据解密的全过程,如图5所示。

图5 换位加密算法的解密过程

3 结论和未来发展方向

云计算是一个大型的、易于访问的虚拟化资源服务系统,向客户提供硬件、开发平台和各种数据处理服务。云计算的发展目标是解决广大云用户的需求。随着云技术应用于更多的领域,它的安全问题也引起越来越多人的关注,所以需要解决云技术中的安全问题。与云计算相关的主要数据安全问题有数据隐私性、数据完整性和防数据窃取等。多级加密算法可以更好地解决云计算中的数据泄漏问题。提高云计算内存储数据的安全水平,解决云计算提供商的安全威胁。本文提出了一种基于多级加密、解密算法的新数据安全解决方案,该方案使用了ASCII半码128个字符加密的反向凯撒密码算法。本文的主要范围是解决云提供商和云消费者(云用户)使用多级加密、解密方法进行多级加密时的安全问题。与其他方法相比,密文的结构较为复杂,加密、解密过程中耗费的资源较少,降低了云计算运行成本,提高了计算效率。尽管效率提高了,但是存储在第三方区域的数据,尤其是互联网上的数据仍然存在安全威胁。由于云计算的数据安全问题,许多商业组织都害怕将数据存储在云中,因为这些数据与业务相关。因此,云计算提供商最具挑战性的任务是为其数据提供较高的数据存储安全空间。未来,谷歌云SQL将用来实现这种多级加密解决方案。

猜你喜欢

明文加密算法密文
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
基于整数矩阵乘法的图像加密算法
奇怪的处罚
混沌参数调制下RSA数据加密算法研究
一种基于密文分析的密码识别技术*
一种基于密文分析的密码识别技术*
奇怪的处罚
基于小波变换和混沌映射的图像加密算法
四部委明文反对垃圾焚烧低价竞争