嵌入式Linux下文件管理系统的设计与实现

2015-09-18 01:22王文晶胡艳慧山西大学商务学院信息学院太原030031
现代计算机 2015年15期
关键词:加密算法解密密钥

王文晶,胡艳慧(山西大学商务学院信息学院,太原030031)

嵌入式Linux下文件管理系统的设计与实现

王文晶,胡艳慧
(山西大学商务学院信息学院,太原030031)

目前的文件管理系统大多是基于Windows操作系统的,很少有针对Linux系统。针对目前计算机中文件信息不能有效保护,易于泄露和篡改,设计基于Linux系统的文件管理系统。该设计使用Java加密框架完整实现文件系统的加密,同时利用校验技术对用户进行认证。通过测试,该加密文件系统在功能和性能上满足设计的目标,达到很好的试验效果。

文件管理系统;Linux系统;加密框架

省级重点项目(No.2012011013-2)

0 引言

近些年来,数据的加密越来越受人们的关注。入侵者通过硬件设备以及计算机网络,对数据进行入侵篡改,对数据的安全性提出更高的要求。最根本的原因是由于计算机中大多数的数据以明文的形式存储,所以使用数据加密技术可以对计算机中的数据进行有效保护。加密文件系统目前已经成为对数据加密的一种有效手段。加密文件系统可以防止管理员利用别的操作系统窃取计算机中的数据[1]。

目前,加密基于Linux的文件加密系统主要有AFS和TCFS。加密系统是对数据写操作和读操作进行加密和解密,确保数据以密文形式存储。TCFS加密系统对于不同的文件有不同的加密密钥,同时同一文件的不同块实现不同秘钥。AFS文件加密系统对客户端和服务器的对话加密。这些文件加密系统对数据进行了一定程度的保护,但是保护不严密,同时性能低。由于Java的可移植性强,源代码开放,所以本文设计了一个基于嵌入式Linux系统下的文件安全保护系统,通过对文件加密和解密,达到对系统文件的安全保护[2]。

1 系统框架

加密文件系统模块主要包括文件保护模块、用户认证模块、文件浏览。关系图如图1所示。

文件加密和解密是通过DES算法实现的。由于DES算法是一种对称加密算法。用户可以对文件加密,并将加密后的数据文件保存于文件管理系统,也可以对文件解密,将文件管理系统中的文件解密后存储在指定位置[3]。文件浏览主要用于用户传输文件时候需要查找文件。文件可以通过目录形式进行查找。这两个模块的执行必须是用户通过认证模块。用户认证通过用户名和密码认证,本系统不直接存储用户名密码,而是存储经过散列以后的值,这样可以防止入侵者窃取和篡改用户信息,保证用户数据的安全性[4]。

图1 加密文件管理系统结构图

2 系统设计

2.1用户认证模块

用户认证模块主要实现用户注册认证和用户登录认证,它的主要作用是确保数据操作安全。此外对口令的修改会更新认证数据。

当新用户注册信息时,应保证账户名称的唯一性。所以必须检查注册账户名是否已存在于数据库中。对于用户的口令,必须拥有足够的长度以确保账户的相对安全。为了防范口令通过数据库被盗用,可以将口令以MD5摘要信息的形式存储[5]。账号登录需要验证相应的账户名是否存在以及和口令信息是否与数据库中的存储数据相匹配,此外若一个账户已经登录则不能重复登录,所以还需检测对应账户是否存在于在线客户链表中。

2.2文件的发送、接收

为了保证文件在传输过程中防止篡改,采用PGP认证。PGP认证过程是基于RSA非对称加密算法进行的,发送方和接收方在认证前必须相互交换各自的RSA公钥。

认证时,消息发送方将利用散列算法(如MD5)计算消息摘要,并将摘要用自己的私钥加密生成签名,此时该签名只能用发送者的公钥才能解密。故只有用发送方公钥解密签名并比较获得的结果与原消息摘要,匹配一致才能说明此签名用发送方的私钥加密,从而确定发送方身份。认证流程图如图2所示。

图2 PGP认证图

2.3文件加密解密模块

PGP加解密前也必须交换双方公钥。加密时发送方用将用IDEA加密算法,加密原文压缩包,并将文件加密密钥用接收方公钥加密,最后将密文和加密密钥一起发送接收方。此时只有接收方才能用自己的私钥解密提取IDEA文件密钥从而继续解密明文并最终获得明文[6~7]。PGP加密解密流程图如图3所示。

图3 PGP加密解密流程图

本系统使用DES算法进行文件加密,由于DES属于对称加密算法,其加密和解密文件使用相同的密钥,所以在加密完毕以后有必要将密钥存储于数据库中,这样既能保证密钥不会因人为疏忽而丢失,也能实现在文件解密时自动调取密钥解密,从而增加系统的易用性。对于RSA密钥,由于它只应用于文件传输过程中的数字签名,而每次的文件传输都需要用随机产生的RSA计算签名,所以为了传输安全不会重用上次会话使用过的密钥,因此无需对RSA密钥进行存储。

函数send_md5_deskey式设置RSA私钥和公钥,生成摘要和数字签名。首先调用函数des_encry加密文件并提取摘要和密钥,然后设置对方公钥和私钥,加密文件密钥和摘要。部分关键算法如下:

/*创建并发送数字签名和文件密钥*/

bool CLIENTCORE::send_md5_deskey(pnode ptr)// ptr为传输文件信息节点地址

{

char buffer[MAX]={0},

tmp[MAX]={0};

des_encry(ptr->filename,ptr->key,ptr->md5);//加密文件并提取摘要和密钥

intn=ptr->key.size()+1;

rsa.set_keys(ptr->hs_d,0,ptr->hs_n);//设置RSA密钥(对方公钥)

rsa.rsa_enc_msg(ptr->key.c_str(),(buffer+30),n);//加密文件密钥

n=ptr->md5.size()+1;

rsa.set_keys(ptr->my_e,0,ptr->my_n);//设置RSA密钥(私钥)

rsa.rsa_enc_msg(ptr->md5.c_str(),tmp,n);//加密摘要(签名)

n=n*4+4;

rsa.set_keys(ptr->hs_d,0,ptr->hs_n);//设置RSA密钥

rsa.rsa_enc_msg(tmp,(buffer+90),n);//加密签名

string msg=MSG_DAK+ptr->sock+SPRT; //创建协议头

memcpy(buffer,msg.c_str(),msg.size());//设置发送信息协议头

}

3 试验结果

本设计以MySQL开发后台数据库,使用Qt图形界面应用程序设计交互界面。预期实现功能要求,能在传输密文之后自动解密,还原明文与发送一致。本文只对加密的速度进行了测试。本系统所用加密及摘要算法与其他典型加密及摘要算法的比较如表1所示。

通过测试结果可以看出AES算法的密钥长度是128、192、256位,长度最长,加密速度也最快,安全性也最高。其次是DES算法,密钥长度56位,第二位,加密速度也是紧跟其次,主要用于大批数据加密。

通过测试说明,该文件的加密算法在功能和性能上都实现了初期的目标和要求,包括用户的认证,文件的加密和解密,Linux文件完整性校验,目录文件的浏览查询。该加密算法可以尝试移植到别的平台。

4 结语

由于设计时间较短,并未充分考虑交互界面的美化方案,故用户界面的设计也有一定的完善空间。同时算法还需要改进,提高加密和解密的速度。在最后的测试阶段展现出的一系列漏洞虽然已经修补,但并不能确定该系统在使用过程中不会再发现新的问题,因此需要用户在实际使用中不断发现不足以实现系统的进一步优化。

表1 典型摘要计算及数据加密算法比较表

[1]任伟.密码学与现代密码学研究.信息网络安全,2011,11,1~5

[2]刘传领,范建华.RSA非对称加密算法在数字签名中的应用研究.通信技术,2009,42:12~13

[3]刘晓星,胡畅霞,刘明生.安全加密算法DES的分析与改进.微计算机信息,2006,5:23~26

[4]段璐琳.数论中一个欧拉公式的证明及其在解题中的应用.广西教育学院学报,2012,1:14~18

[5]王连笑.费马小定理和欧拉定理的应用.科技日报,2008,6:34~37

[6]丁宏,郭艳华.快速大数模乘算法及其应用.杭州电子工业学院,2003

[7]Philip Zimmermann.PGPMarks 10th Anniversary.New York:Spring-Verlag,2001

DocumentManagement System;Linux;Cryptographic Framework

Design and Implementation of Embedded Linux of DocumentManagement System

WANGWen-jing HU Yan-hui
(College of Information,Business College of Shanxi University,Taiyuan 030031)

Most of the current documentmanagement system is based on the W indows operating system,there is little for the Linux system.File information for the current computer can not be effectively protected,easy to leakage and tampering,the design is based on Linux system's filemanagement system.Ituses a full implementation of the Java Cryptographic Framework encrypted file system,while taking the advantage of technology to verify the user authentication.Through testing,the encrypted file system functionality and performance to meet the design objectives,achieve good test results.

1007-1423(2015)15-0063-04

10.3969/j.issn.1007-1423.2015.15.016

王文晶(1981-),女,山西沁县人,硕士,讲师,研究方向为自然语言处理、信息安全

胡艳慧(1976-),女,山西太原人,硕士,讲师,研究方向为网络管理

2015-03-24

2015-05-11

猜你喜欢
加密算法解密密钥
幻中邂逅之金色密钥
炫词解密
解密“一包三改”
密码系统中密钥的状态与保护*
炫词解密
基于整数矩阵乘法的图像加密算法
基于混沌系统和DNA编码的量子图像加密算法
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
混沌参数调制下RSA数据加密算法研究