首页 > 范文大全 > 正文

一种系统登录加密新方法研究与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇一种系统登录加密新方法研究与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:针对当前系统登录方式在安全方面存在的问题和不足,分析传统加密方式中存在易被解密的隐患,提出┮恢知基于伪密码的加密方法。首先由加密函数将用户的真密码转换为随机的伪密码并存储在数据库中,再由解密函数将存放在数据库中的伪密码解密,并与用户的原密码比较,从而确定用户身份的合法性。该方法实现简单,对应的伪密码毫无规律,不易破解,安全性较强。

关键词:系统安全; 加密方法; 伪密码解密; 数据库

中图分类号:TP311 文献标识码:A

文章编号:1004-373X(2010)12-0051-02

New Method and Its Realization of System-registry Encryption

YANG Dong-feng

(Computer Center, Yan’an University, Yan’an 716000,China)

Abstract:Aiming at the shortages of logging in terms of its security, the hidden trouble of decryption that exists in the traditional way of encryption, is analyzed and a new encrypting method based on the pseudo-password is proposed. The users′real-passwords are converted to the random pseudo-passwords by means of the encryption function and are stored in the database. Then the pseudo-passwords stored in the database are decoded by the decryption function, compared with the users′ original passwords, and the legitimacy of user identity is identified. This method is easy to realize, in addition, the corresponding pseudo-passwords are so erratic that it is difficult to crack. Therefore, the strong system security is provided.

Keywords:system security; encryption; pseudo-password decryption; database

0 引 言

随着我国信息化建设的飞速发展,以网络和数据库技术为基础的信息处理系统应用正逐步深入。但是,由于技术限制和软件缺陷等因素,系统的正常运行可能会受到来自不同方面的安全威胁(如自然的,物理的和人为的),尤其是一些黑客总是凭借自己的破密技术非法登录系统,对信息系统造成不可估量的破坏[1],因而,系统的登录加密技术就显得尤为重要,这里必须采取行之有效的方法来保证系统登录的安全性。下面,就系统登录采用传统加密方法存在的弊端进行讨论,进而提出┮恢知新的加密方法[2]。

1 传统的系统加密方式及其弊端

目前,在大多数开发的应用系统中,最常用的方式就是使用口令实现对系统操作权限的访问控制。实现的方法就是在进入系统时提示操作者输入一个字符串口令。这种口令的设置方法是将固定的口令密码写在程序代码中,在系统开始运行时,要求操作者输入该密码,如果密码正确,方可进入,否则,系统是不能让操作者使用的。这种传统加密方式的缺点是密码固定,而且整个系统只有一个密码,不会随机改变,而且容易被别人破解。所以,这种传统的加密方式存在极大的安全隐患[3]。

2 一种系统新加密方法的提出

在设计系统时,也有的程序设计者针对传统的系统加密方式采用了一种较为安全的加密方式,即将用户在进入系统时输入的口令通过加密转换为一种称为加密伪码的数据,存储在数据库中[4],但这种方法的密码和伪码仍有明显的对应关系,容易被破解。针对这种情况,提出了一种在Visual FoxPro中用随机伪密码存储在数据库中的方法,实现了简单可靠的系统加密。这种方法的特点是实现简单,加密可靠,不易破解[5]。它的原理是可将1个1~7位的用户密码转换为20位的随机伪密码,且每次重新设定密码时所产生的伪码都不相同。通过变换生成的20位伪码没有任何规律性,即使从数据库中擦除伪码也无法进入系统,从而实现了可靠的密码权限控制[6] 。

2.1 生成随机的伪密码

从用户密码到存库的随机伪码之间的变换由2个函数完成,即加密函数和解密函数。加密函数的思想是对用户密码(真码)进行复杂化、隐蔽化处理,也就是将真码淹没在20位伪码中,加密函数如下[7]:

FUNC JMCX

PARA ZMM

ZMZ=VAL(ZMM)

N1=RAND()*10^9

IF N1

N1=N1+10^9

ENDIF

N1=INT(N1)

C1=STR(N1+ZMM)+STR(N1)

C2=SUBS(C1,5,20)+SUBS(C1,1,4)

P1=″

P2=″

FOR i=1 TO 10

P1=P1+SUBS(C2,2*i-1,1)

P2=P2+SUBS(C2,2*i,1)

ENDFOR

WMM=P1+P2

RETU WMM

若真码为1234567,则伪码为6491530215286819-3982,无论真码是1位还是多位,伪码总是具有同样的不确定性和复杂性,所以若想通过简化真码来分析伪码是不可能的。

2.2 解码

解码函数是将数据库中存放的伪码转换成原用户密码,其代码如下:

FUNC JMCX

PARA WMM

PP=″

FOR i=1 TO 5

PP=PP+SUBS(WMM,i,1)+SUBS(WMM,i+5,1)

ENDFOR

DD=SUBS(PP,17,4)+SUBS(PP,1,16)

M1=SUBS(DD,1,10)

M2=SUBS(DD,11,10)

ZMM=INT(VAL(M1)-VAL(M2))

RETU ZMM

由于提交的系统全是编辑的,非法者是无法得到密码转换函数中的信息的,所以解密方法不易被发现。

3 对用户权限控制的实现

对一个包含多种业务操作的应用系统,由于业务的要求,常需要限制不同操作者的业务操作范围,在VFP中,可以建立一个权限数据表,表中有多个字段,分别用于存储每个操作者的代号、姓名、伪密码等信息,如见┍1所示[8]。

系统主表单上的多个业务模块由多个按钮来实现启动,那么在系统主表单的 【确定】 按钮CLICK 方法程序中添加一些判断代码,就可以实现系统的口令和操作权限控制。输入工号和口令后,按【确定】,CLICK中的代码则首先根据输入的工号,对权限数据表中所对应记录的口令伪码进行解码,得出的真码与输入口令一致方可进入系统[9]。为了在系统一启动就打开权限数据表,故要将权限表添加到主表单的数据环境中。不同工号的操作员在进入系统后可以自行修改自己的密码,而管理员无法知道操作员的密码,只能进行擦除,这一点更加提高了操作员密码的安全性[9]。

表1 权限数据表

工号 姓名 伪密码

01 刘四龙 75913006360053614589

02 王高鹏 17615822156435449957

03 房金锁 16710714110199886591

04 杨毛丹 58613143131858393185

4 结 语

该文是笔者在实际系统设计开发过程中,针对系统登录采用传统加密方式存在的缺陷,充分利用数据库提供的用户角色这一数据保护功能[10],应用数据加密技术对用户信息进行合理可行的加密运算,设计出了┮恢知新的安全登录机制,从而加强了整个系统登录的安全性。

参考文献

[1]卿斯汉.密码学与计算机网络安全[M].北京:清华大学出版社,2001.

[2]李世取.密码学中的有关概率模型[ M] .北京:电子工业出版社,2006.

[3]朱泉,何月顺.数字签名技术及其在OA中的应用[J].计算机与数字工程,2005,33(4):127-129.

[4]袁鹏飞.数据库高级应用开发技术[M].北京:人民邮电出版社,2000.

[5]高品均,陈粮.数据库加密技术综述[N].计算机世界,2000(27):3-11.

[6]肖攸安,李腊元.数字签名技术的研究[J].武汉理工大学学报:交通科学与工程版,2002,26(6):737-740.

[7]孙兆林.软件加密解密与计算机安全技术[M].北京:中国水利水电出版社,2001.

[8]李礴.资金结算子系统操作指南[M].北京:中国铁道出版社,1999.

[9]孙飞显,徐明洁,杨进,等.基于Web的教务管理系统安全方案设计[J].2006,26(5):1198-1199.

[10]肖攸安,李腊元.数字签名技术的发展[J].交通与计算机,2003,21(2):2-4.