APP下载

基于个人隐私的移动终端位置信息安全保护

2018-08-22董霖苏晴

科学与财富 2018年20期
关键词:加密算法

董霖 苏晴

摘要:移动终端的位置信息安全保护是个人隐私保护的重要部分,移动用户在享受LBS服务时易发生移动终端中存储的位置信息泄露问题,对移动终端中的位置信息进行加密是有效的保护方法。本文采取了轻快性序列密码算法对个人私密的位置信息进行加密保护,并进行了实验分析。

关键词:位置信息安全;序列密码算法;轻快性序列密码;加密算法

0 引言

对以往的研究进行分析可以发现,分组密码是密码学的先驱,如今的多种序列密码算法都是在分组密码之上发展的,但都具体一定的缺点。

对称加密算法[1]中,DES的加解密操作简单速度快,可进行大量的数据加密,加解密的密钥可相互导出。非对称加密算法中,RSA的密钥分配简单,信息保密性好,但密钥的尺寸大所以加解密的速度要慢很多。单向散列算法中MD5和SHA1加密性好,但加密性强的散列一定是不可逆的并且安全性也相对较差。

结合多种加密算法的优缺点,本文设计了一种轻快性序列密码算法,来更加有效地对移动终端的个人位置信息进行安全保护,使其在少消耗的前提下,达到安全保护的目的。

1 加密算法的设计

1.1 单分组的散列函数的设计

对哈希函数的理论知识和主要思想进行改进可得到一种对较短信息进行运算的散列函数[2],即单分组散列函数SBH。SBH算法又称为SBH-128,因为算法的输入与输出都为128位。单分组散列函数不仅仅使算法得以优化,利用较少的系统资源,而且在时间和效率方面有着很大的提升。

SBH-128算法的运算过程如下:

(1)初始化缓存和预处理阶段;

(2)算法的主循环逻辑的设计;

(3)每轮每步的具体设计过程。

在完成多步循环运算后,所有的分组输出最终所得的四个寄存器:A、B、C、D,就是位置消息经过单分组散列函数输出的消息摘要值。

1.2 哈希链运算形成的密码序列

A、B、C、D四个缓存输出的密钥序列即为一个SBH散列函数求得的运算结果。接下来我们对这128位密钥进行哈希链方式的处理。

处理步骤如下:

(1)首先采取哈希链运算,即对一个SBH进行计算;

(2)记录此次哈希链运算的结果,并把此次的运算结果作为输入,进行下一次的哈希链运算;

(3)重复以上步骤,形式如:h(h(h(h(x))))。

也就是说,每次的SBH-128输出结果作为下次运算的输入值[3],并且记录每次运算的输出结果,最后得到一个128*n位的哈希链,这个128*n位的哈希链即为输出的密码序列。

1.3 轻快性序列密码的设计

轻快性序列密码SC-SBH的核心内容是:

(1)记录单分组散列函数输出的非线性结果,即分组密码的加密部件,并对此加密部件进行哈希链运算;

(2)记录(1)中的输出结果,结果中的哈希链即为密钥序列,使用分组密码算法,设计出一种新的轻快性序列密码模型;

(3)运算结束时得到的哈希链就是轻快性序列密码的密钥序列[4];

(4)最后将密钥序列与明文进行按位异或运算,得到的即为密文。

轻快性序列密码算法SC-SBH的整体设计逻辑简图如下:

对于SBH-128的初始值的设定有着一定的要求,序列密码需要每一次都加密,也就是说,密钥的长度与消息的长度保持相同,所以用 方法来生成随机数[5],这样,初始值的设定问题就得以解决了。

对于密钥的生成,运算的次数十分重要。运算次数的多少由哈希链的长度来决定,可以计算出来,密钥的长度和哈希链的位数相同都是 128*n,把进行n次运算的结果与输入的数值进行按位异或运算,并去掉多余的密钥部分。

轻快性序列密码算法SC-SBH总结了现代序列密码算法的不足之处并加以改进。在对短消息处理的单分组散列函数算法的基础上,将单分组散列函数输出的非线性结果作为序列密码生成的密钥序列,得到了轻快的、非线性的序列密码的新加密算法。

2 实验与分析

根据上文中轻快性加密算法设计的具体过程进行了实验分析。本实验中,采用了java编程语言,编译工具为Eclipse,实验运行环境是PC机。

运用基础的逻辑函数如底层位运算等方法来进行实验的。实验中采用了文件存取的方法,首先在一个文件中存储明文消息,然后通过main函数对文件进行读取,逐位遍历文件中的明文并进行加密处理。最后,在另一个文件中得到存储的密文结果。

2.1 安全性分析

一个加密算法的应用是在其安全性的基础上的。哥伦布随性假设中第一条假设是在序列的一个周期内,0和1出现的个数相差至多为1。也即,如果N为偶数,则在一个周期内0与1的数目各占N/2;如果N为奇数,则在一个周期内0的数目为(N+1)/2或者(N-1)/2,相应地1的数目为(N-1)/2或者(N+1)/2。实验中对长度分别为1MB、5MB、10MB的明文采取了加密处理,统计密文中“1”的个数占密钥序列[6]长度的百分比约为53%,所以轻快性序列密码算法基本满足第一条要求。

哥伦布随性假设中第二条假设是在长度为T的周期内,长度为i的游程个数占游程总数的1/2i,i=1,2,…。且在长度为i的游程中,0的游程与1的游程数目相等或至多相差一个。实验中对长度分別为1MB、5MB、10MB的明文生成的密钥采取了游程测试,可以得出,0的游程与1的游程数目比例约为1,所以轻快性序列密码算法基本满足第二条要求。

2.2 性能分析

在该实验中,采用不同的加密方式和不同的加密算法对轻快性序列密码算法进行了性能分析,加密方式包括逐条、逐列和整体的方式,加密算法包括本文的SC-SBH算法、SC-MD5算法和SC-SHA算法。为了使结果更准确,分别对12个小时、24个小时、48个小时的消息记录进行处理,并记录加密时所用的平均加密时间。

从记录中可以得到结论,加密所用时间最短的是部分加密方式的轻快性序列密码算法。所以,轻快性序列密码算法能够比其他密码算法更有效地实现移动终端位置信息的安全保护。

3 结论

本文的核心思想是对SBH-128算法的非线性输出结果即分组密码的加密部件采用哈希链方式处理,序列密码的密钥就是运算之后输出的哈希链,这样就形成了利用分组密码算法的有效的轻快性序列密码算法。并且在实验中对轻快性序列密码算法进行了安全性分析和性能分析,验证了该算法对移动终端位置信息安全保护有着一定的安全性和实用性。

参考文献:

[1]于工等.《现代密码学原理与实践》.西安电子科技大学出版社. 2009-01-01

作者简介:董霖,女,就读于延边大学,主要研究领域为计算机科学与技术;苏晴,通讯作者,女,吉林省延吉市人,计算机科学与技术专业,工学硕士,助教,主要研究领域为网络通信与信息安全

猜你喜欢

加密算法
基于整数矩阵乘法的图像加密算法
基于混沌系统和DNA编码的量子图像加密算法
混沌参数调制下RSA数据加密算法研究
基于单图像局部置乱和动态反馈扩散的混沌图像加密算法
HES:一种更小公钥的同态加密算法
基于小波变换和混沌映射的图像加密算法
基于显著像素复合矩阵的多图像同步实时加密算法
Hill加密算法的改进
快速置乱耦合3D混沌映射的图像加密算法研究
对称加密算法RC5的架构设计与电路实现