非法获取计算机信息系统数据罪-计算机数据加密技术研究
一、数据加密技术研究
现在计算机网络上的数据是异常庞大的,原有的数据加密方式多是通过数据采样和分而治之的方式来进行加密,由于加密的数据相对较为单一,而且体量比较小因而效果非常显著,但是因为数据体量的变化和数据类型的变化,传统数据加密的效果会非常低,因此在本文当中笔者尝试探索一些在当前时代背景下比较有效的数据加密技术。
(一)密码数据加密
密码加密相对来说比较简单,就是将数据进行二进制处理以后,设置密钥来加密。这其中有对称密钥和非对称密钥两种。具体来看,前者突出的是在网络传输当中数据发送和接收双方享同一个密钥,数据在传输时需要双方同时确定才能够进行数据传输以及数据解密。后者则是数据的拥有者提供两个密钥,一个是公共密钥可以供任何人访问数据,另外一个密钥则是私密密钥,只有指定的用户才能访问数据。这两个密钥分别对应公共密钥加密和椭圆曲线加密。在具体的应用当中,密码加密的方式一般比较适合针对文本型数据。
(二)属性基数据加密
属性基加密是现在比较先进的一种加密技术,主要是针对数据的身份、属性等进行扩展式加密。该技术主要的手段是密钥基加密和政策基加密,前者是在密文当中整合集成密文和属性,并形成映射关系,当用户在访问数据时,需要提供映射关系当中的谓词(密钥)来解密。后者则是将明文数据表示为与、或、非用逻辑表达的方式进行加密,用户获取了数据要解密需要满足对应属性的密钥要求。
在具体的应用当中,这个加密技术不会对数据访问的用户数量、身份以及数据用途作出限制,但是访问数据的用户要提供满足要求的密钥才能获取数据。同时当需要调用加密的密文,访问用户必须要与密文属性相匹配。因为密钥是随机产生的,在破解方面有难度,对串谋、策略破解等具有比较好的防范效果,一般比较适合定向数据传输和隐私管理等方面。比如学校人事处想将一份重要文件下发给学校的信息学院并且要满足教授或50岁以上的教职工,这其中教授或50岁以上的就是属性基加密的要求,在发送当中直接发送给信息学院的所有教职工,但是只有满足教授或50岁以上的教职工才能解密。这是一个非常典型的一对多数据加密传输机制。
(三)并行计算加密
并行计算加密有一个关键就是MapReduce并行编程模型,这个模型的核心能力就是能够将数据进行自动分割,并变成程序模块实现分步加密。MapReduce提供的Map函数对输出的数据结果进行排序,然后利用Reduce函数来实现输入。这种技术将数据空间和时间进行并行计算处理,提高了处理的效率以及准确度。在云服务当中这种加密技术是比较常用的,但现在来说应用方面还处于初级阶段,但前景非常广阔。
二、网络交互数据加密思考
应用程序或者网页在数据传输过程当中只要能够抓住数据包,一般就可以清楚的指导这个请求获取到的数据,这样的网络接口对于工程师而言简直就是福音,要抓数据轻而易举。数据的安全性非常重要特别是用户的一些敏感信息,在前后端的网络交互当中API调用时数据的安全可以采取通信使用https方案,请求签名,防止数据被篡改,身份确认机制,使用sslpinning来防止抓包,对所有请求和响应都进行加解密操作。
其中对所有请求和响应都进行加解密,即数据加密是比较理想的方案,因为即便能够抓包,或者调用接口,但是返回的数据是加密的,加密的算法不出问题,即使被抓包数据内容也并无大的影响。
在本节介绍一种相对比较简单的数据加密,spring-bootstarter-encrypt,用springboot封装一个starter然后内置一个AES算法就可以实现很多功能。在具体操作中启用@EnableEncrypt注解来开启功能,然后用@Import导入自动配置类。其中在EncryptAutoConfiguration当中配置请求和响应的处理类,RequestBodyAdviceandResponseBodyAdvice,这是非常方便的一种方法,如果更复杂一点需要从底层去封装,那就需要用到servlet。
三、结束语
综上所述,在当前时代背景下,计算机网络信息安全方面用数据加密算法来保证信息安全是相当重要的,可保证即便被抓包,但不会出现泄密。现在主要是根据计算速度、能耗、时效、交互等方面进行优化改进,提高效率和安全性。本文对数据加密技术进行了简单的研究分析,可能存在不足,但希望有参考价值。