王 华
(河南工业贸易职业学院,河南 新郑 451191)
云计算是一种基于互联网远程服务器来实现数据的存储、管理和处理的技术。云存储的优点是易存储、易管理、可扩展、高可靠性和低成本。基于以上优势,可以将数据转移到云端上,使用云服务提供商(Cloud Service Provider,CSP)提供的存储服务。但是,大数据云也面临诸多安全威胁,如数据泄露、数据丢失、账户安全、拒绝服务、漏洞、共享技术等,正在影响着数据安全,因此,必须要保护数据免受未经授权访问和拒绝服务。
要实现数据的安全,就需要使用到加密技术。加密就是将原始数据转换成无法直接读取的形式,解密就是将编码后的数据转换成原始形式。通过对数据的加密,只有被授权的用户才可以解码原始数据。因此,数据的安全性问题是通过加密实现的。
本文主要目标是通过数据加密技术实现对云环境的敏感数据进行保护,提出一种在云环境中的多级体系框架,通过认证、授权、加密、解密等多种安全服务,实现4级数据保护。多级别体系结构见图1。
图1 大数据云的多级别安全体系
云环境中安全体系结构分为4个级别。数据提供者和数据用户需在系统中注册,填写详细信息,登录系统时需由CSP进行认证,这是第一级安全。CSP通过使用数据提供者的证书对数据提供者进行授权,并向授权的数据提供者提供加密密钥,这是第二级安全。只有经过授权的用户才能对数据进行加密和上传,数据文件授权后,通过ABE/AES/ABE+AES/SDBS 4种方案中的任何一种对数据进行加密,并上传到云端,这是第三级安全[1]。只有经过授权的用户才可以访问存储的加密数据。作为第四级安全,授权用户在下载数据时向CSP请求解密密钥和动态口令(One-Time Password,OTP)。
OTP是由CSP生成的随机数,生成随机数后向数据用户的电子邮件ID和手机号码进行发送。OTP验证后,就可以实现数据文件的下载,并通过算法对收到的密钥进行解密,这样用户就可以看到数据文件了。
在多级安全架构中,涉及的主要实体有:数据提供者、数据用户、CSP和云服务器,具体定义如下。
1)数据提供者可以将数据存储到大数据云服务器中。
2)数据用户可以检索存储在云服务器上的数据。
3)大数据云服务器是一个存储加密数据的数据仓库,云服务器的容量与数据量的大小有关。
4)CSP负责验证数据提供者和数据用户的登录信息和个人凭据,并负责生成OTP和加密密钥。1.1 数据上传阶段
1)注册阶段。数据提供者需要提供用户名、密码、电子邮箱、手机号码、出生日期、地址等信息,进行注册。
2)登录阶段。数据提供者使用用户名和密码登录系统。
3)认证阶段。数据提供者使用用户名和密码登录系统时,CSP对信息进行验证,认证通过即可访问系统。
4)授权阶段。经过认证的数据提供者发送上传数据文件的请求,CSP使用数据提供者的证书进行授权,并发送加密密钥。
5)加密阶段。数据文件使用ABE/AES/ABE+AES/SDBS算法进行加密,并由CSP发送加密信息。
6)上传阶段。所有权证明(Proof of Ownership,PoW)用于查找资源拥有者的证明,并由数据提供者将加密后的数据文件一起上传到大数据云服务器。
1)注册阶段。数据用户需要提供用户名、密码、电子邮箱、手机号码、出生日期、地址等信息,进行注册。
2)登录阶段。数据用户使用用户名和密码登录到系统。
3)认证阶段。通过CSP验证数据用户的用户名和密码,并通过认证进入系统。
4)授权阶段。经过CSP认证的数据用户可以请求下载数据文件。CSP通过使用其证书授权数据用户,并发送解密密钥。CSP还可以通过发送OTP到数据用户的邮箱或手机号码进行授权,数据用户在授权后可以从大数据云下载数据文件。
5)下载阶段。在验证之后,数据用户可以下载加密的数据文件。
6)解密阶段。数据用户获取CSP发送的解密密钥后,使用ABE/AES/SDBS算法对下载的数据文件进行解密,解密后的数据文件被保存到数据用户的系统中。
数据提供者和数据用户的注册信息存储在大数据云服务器上。
身份验证是第一级安全。数据提供者和数据用户通过CSP进行身份验证。如果数据提供者想要上传数据文件,他必须使用用户名和密码登录到系统中,登录时CSP将数据提供者的用户名和密码与数据库进行核对和验证,并接受或者拒绝该请求。这是数据提供者的CSP身份验证或非身份验证。以同样的方式,如果数据用户想从大数据云服务器上下载数据文件,也需要用自己的用户名和密码登录。CSP对数据用户登录信息进行验证,信息验证正确就可以接受请求,否则就拒绝请求。这是数据用户的CSP身份验证或非身份验证[2]。
经过身份验证的数据提供者发送请求可以获取密钥对数据文件进行加密。CSP将通过验证数据提供者的证书存储在数据库中,用于对数据提供者进行授权。只有经过授权的数据提供者才能上传数据文件。为了下载数据文件,经过认证的数据用户向CSP发送请求,以获得下载数据文件所需的OTP和解密密钥。CSP会核实数据用户的凭证,并只向获得授权的数据用户发送OTP和密匙,以便下载数据文件,并发送密钥对数据文件进行解密。授权是第二级安全。
数据文件使用SDBS(Secure Dynamic Bit Standard)算法进行加密,并由授权的数据提供者上传到云服务器,只有合法的数据用户才能通过OTP下载和解密文件。
SDBS一共有3个级别,即128 b,256 b和512b。当数据提供者想要上传一个数据文件到云服务器时,会随机选择任何一个级别,并将它转换为字节。基于这个字节值,CSP将使用随机生成器生成主密钥和会话密钥,主密钥由会话密钥加密,加密后的主密钥和会话密钥都将被发送给数据提供者。会话密钥将被用来解密主密钥,而主密钥则用于加密数据文件。加密后的数据文件将与CSP生成的PoW一起上传到大数据云服务器中。128位SDBS算法的加密过程见图2。在SDBS加密过程中,有4种主要运算操作:字节替换、行移位、列混合、轮密钥加。
图2 SDBS加密过程
采用密钥调度算法(Key Schedule Algorithm,KSA)生成各轮的子密钥,算法见图3。
图3 密钥调度算法的加密过程
SDBS算法的优点:一是安全性高。利用混合加密技术,对称密钥密码用于数据加密,非对称密钥密码用于密钥生成[3]。二是效率高。由于它同时使用了对称密钥和非对称密钥加密技术,因此非常安全,效率很高。三是数据完整性好。由于加密后的数据文件只能被经过认证的用户解密,因此不可能修改或删除数据文件。四是性能好。数据文件加密、解密速度快,上传和下载的性能也是最好的。
数据用户想下载数据时,第一步输入数据用户名和密码进行数据用户认证。数据用户登录到系统后,CSP就会使用证书对数据用户进行授权。数据用户获得授权后,就可以通过CSP发送的电子邮件和手机信息获取动态口令。OTP是CSP使用随机密码生成器生成的16个或24个或32个字母、数字或特殊字符的组合,在OTP验证之后,数据用户就可以下载数据文件,数据文件同时被密钥解密。
需要通过PoW来识别上传到大数据云服务器的资源所有者身份。其中包括:数据提供者ID、用户名、上传文件的日期和时间等信息,这些信息显示了数据文件的来源,数据用户在下载文件后就可以知道以上信息。
大数据云中的数据安全与数据用户的认证相互关联。添加适合的安全策略,如限制数据文件的用户访问数量、权限等。数据的完整性也是信息安全系统中的一个重要部分,一般来说,这项服务可以保护数据不会被未经授权的修改或删除。
SDBS算法的性能可以通过两种参数来分析,即加密时间和解密时间。加密时间是指完成与文件大小相对应的加密过程所需的时间,而解密时间是完成与文件大小相对应的解密过程所需的时间。
将基于文件大小的SDBS算法加密时间和解密时间与ABE/AES/ABE+AES算法进行了比较,与其他技术相比,SDBS的加密和解密时间较短。该算法加密100 KB的数据文件需要0.26 s,加密1 GB的数据文件需要2.2 s;对100 KB数据文件解密时间为0.15 s,1 GB数据文件的解密时间为1.95 s。
为了分析大数据云多级安全系统在工作负荷逐渐增大时的工作情况,创建了云密钥数据库。数据库创建开始时,会对多级安全云应用执行多次查询。大数据分析查询是从多级安全应用报告的整个过程中选择的,这些查询基于上传/下载过程的聚合查询和分组,或基于数据文件ID、数据提供者名称、数据用户、电子邮件、数据文件大小、上传和下载时间、数据文件加密和解密时间、数据提供者和数据用户使用的字节数以及数据文件的状态。对于每一个数据信息,查询得到的结果都会存储到大数据云中,大数据的分析功能可查看CSP、数据提供者和数据用户的当前状态。根据以上分析,图4为使用SDBS算法进行数据文件上传、下载的对比数据,对每个数据提供者、数据用户使用的总字节数和上传、下载的数据文件进行分类并给出结果。
图4 基于SDBS算法的文件上传、下载时间
本文提出了一种面向大数据云用户的安全技术。在上传或下载过程中,数据文件可使用不同算法进行加密或解密,如ABE,AES,ABE+AES和SDBS,本文提出的SDBS算法,在提高数据文件存储安全性的同时,增加对共谋攻击、暴力破解攻击、结构化查询语言(Structured Query Language,SQL)注入攻击等云攻击的防护能力,加密和解密数据文件所用时间会更短[4]。与其他算法相比,本文提出的SDBS算法对数据文件具有数据保密性好、存储安全性高、数据不会丢失等优点。