用户身份认证技术在计算机信息安全中的应用

时间:2022-10-23 03:17:48

用户身份认证技术在计算机信息安全中的应用

【 摘 要 】 用户身份认证是安全的第一道大门,是各种安全措施可以发挥作用的前提。在计算机信息安全领域中,身份认证是一门重要课程。通过概述信息用户身份认证技术在学校数字校园网络中的应用,阐述了身份认证系统的设计目标,提出了身份认证系统要能以多种方式加以运用,然后对基于PHP 的互联网身份认证系统的原理及实现进行了分析,对动态口令用户身份验证流程进行了研究。最后,对依托图片动态验证码实现身份认证和应用MD5 算法实现身份验证方法进行了举例分析。

【 关键词 】 身份认证;计算机;信息安全;动态验证码

1 引言

随着各单位对信息化技术要求的提高,网络业务系统逐渐成熟。各类业务系统都具备身份认证技术和机制,以确保计算机信息安全。操作者要牢记十多个业务系统的用户名和密码,反复登录多个业务系统才能开展工作。现在,各个高校都在建设数字化校园网,校园网信息安全成为当前的重要工作之一。高校建设数字校园网络时,既要统一标准建设新业务平台,还有整合、集成原有业务系统,打造统一完整、功能齐全、安全网点的统一的用户身份认证系统,这已成为校园网的基础。因此,要在多个网络业务系统中融入单点身份认证技术。用户登录一次,认证一遍,就可以访问该平台上的多个业务系统,在各系统中转移时,也不需要受到限制。

2 身份认证系统设计目标

用户身份认证依托Web Service封装为网络服务,将数据库中仓储的各个业务系统的信息和用户身份信息进行统一,按需调用,进而统一认证、管理和授权。其设计目标有几个方面。

(1)为用户带来方便,统一、集中、有效管理用户,借助已有的业务系统的用户设置和权限分配,缩减重新开放用户数据库的开发成本,并且减少对已有业务系统的修改影响。

(2)凸显身份认证单点登录,登录后,在各系统中切换时,不需要退出。

(3)信息平台上的各个业务系统均基于同一个数据库设计。

(4)认证系统的可整合性和扩展性良好,既能兼容已有的业务系统和用户数据库,也能支持新建设的业务系统,可以将其以身份认证的集成模块嵌入新系统。

(5)在应用上要灵活便捷,该身份认证系统要能以多种方式加以运用。在设计用户的统一管理和认证身份时,在设计思想上要注重角色的分级权限管理、业务系统的安全维护、证书的统一管理和资源的统一匹配,以强化集中数据、资源和应用。

3 基于PHP 的互联网身份认证系统的原理及设计

秉承计算机信息安全的理念,按照统一身份认证的原则,来分析基于PHP 的互联网身份认证系统的原理及实现。

Apache系统 作为网络服务底层主系统,借助PHP 程序通过网页表单与客户端进行直接通信,是软件的使用不受限制。该系统主在计算机信息安全方面的表现有两个方面:一是基于PHP的验证码对身份的验证模块;二是基于MD5的加密模块。

管理员具备识别系统管理员的用户名、密码以及IP信息的功能。该模块主要用PHP 程序通过网络表单操作数据库,从而实现用户的添加、删除、修改等功能。

在密码验证模块中,用户的密码经过MD5 散列处理后,在数据库中记录的是加密的信息。用户登录时,程序是对加密信息的验证,不易被外界破解,增加了安全性。该模块作为系统的前台模块,可以连接系统与客户端,实现有效认证身份信息。用户身份认证的过程,是通过在系统中验证一次性用户口令,对用户的身份进行识别,依照用户的不同权限,参与相关种类的服务内容。

动态口令用户身份验证流程。这种验证方式的流程是认证双方对密钥共享,借助该种子密钥对密码的算法进行验证,借助对称算法等验证计算值的一致性。动态口令每一次都不一样,登录后,改密码就实效。密码通常是8-10位的字符串,应用便捷。这与常规的静态口令的认证方法相同,和系统的整合性好,所以,动态密码的应用越来越广泛,可以在网络应用、手机业务等多个领域应用。动态密码有事件模式、时间模式和应答模式等几种。

(1)登录网络系统的注册网址,键入用户名和密码,服务器程序按MD5散列模式把密码加密,存储在数据库中。

(2)网络服务器接收用户名后,在MD5模组与客户端校验。校验通过,服务器把登录时间、随机字符串和客户端网址通过网络传输协议传递到浏览器端。用户以此输入用户名和密码,以及随机配给的动态字符串,客户端把该信息传递到服务器端。

(3)服务器获取数据后,先验证传递的数据是否在约定的时间内,如果超期,则此次验证实效。接着,对客户端发回的时间与随机动态字符串与系统核对,如果校验错误则终止。然后,服务器对用户名和密码进行验证。如果通过,就将用户带至相关权限的页面中。

4 身份认证的技术应用

4.1 依托图片动态验证码实现身份认证

以PHP为例实现图片验证。

4.1.1生成验证文件yanzheng.php

(1)第一步,在session变量中存入数字或字符为组合的8位随机数。

session_start();

$yanzhengma="";

$chars = 'abcdefghijklmnopqrstuvwxyz0123456789';

$password = '';

for ( $i = 0; $i

{

$password = substr($chars, mt_rand(0, strlen($chars)-1), 1);

$_SESSION["yanzhengma"]=$ yanzhengma。

(2)产生图片

$img=imagecreate(100,50); //新建一个基于调色板的图像

$blackys=imagecolorallocate($im,0,0,0); //为一幅图像分配颜色

$whitebj=imagecolorallocate($im,255,255,255); //为一幅图像分配颜色

$grayys=imagecolorallocate($im,200,200,200); //为一幅图像分配颜色

imagefill($im,0,0,$grayys); //填充颜色。

(3)将字符串绘入图片中

for($i=0;$i

$chicun=mt_rand(5,8);

imagestring($im,$ chicun,(2 + $i*10), $str, $ yanzhengma [$i], imagecolorallocate($im, rand(0,130), rand(0,130),rand(0,130)));}//将字符串横向显示出来。

(4)将验证码的背景做模糊处理,增加干扰信息

for($i=0;$i

$suijiyanse=imagecolorallocate($im,rand(0,200),rand(0,200),rand(0,200));

imagesetpixel($im,rand()%70,rand()%30,$ suijiyanse);}。

(5)建立PNG格式的验证图像

header("Content-type:image/png");

imagepng($im);

imagedestroy($im); //将图像销毁。

4.1.2 登录页面denglu.php

在浏览器端页面denglu.php 文件上显示验证码图片,登录者开始登录时,就显示新的验证码,提交验证码后,程序进行核对。代码为:

……

输入验证码:

……

4.1.3 登录检查文件jianyan.php

验证变量session中的验证码信息和登陆页提交的验证码信息是否一致,如果输入字符与图片相同,则通过验证。

if(strcmp($_post["author "],$_SESSION["yanzhengma "])==0){

echo"通过验证.";

} else{ echo"请重新输入验证码!";}。

4.2 应用MD5 算法实现身份验证

在PHP 中有很多加密算法。例如使用异或( XOR)运算, 将明文与密钥进行异或运算得到密文, 再将密文与密钥进行异或运算还原成明文。

还可以利用PHP提供的crypt(1)函数完成简单的单向加密功能。单向加密可以加密一些明码, 但不能够将密码转换为最原始明码。单向加密的口令一旦落入第三方人的手里, 由于不能被还原为明文,因此对第三方来说也是没有什么用处的。

如果需要较高的安全性, 可以采用MD5(Message Digest Algorithm 5)散列加密算法。散列算法是指将任意长度的二进制值映射为固定长度的较二进制,,二进制值比值称为散列值法。散列一段明文后, 哪怕只更改一个字母, 生成的散列值都将变化很大。已经证明, 要找到散列为同一个值的两个不同的输入, 在计算上是不可行的。MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被/压缩0成一种保密格式, 即使用一个散列函数,。

将一个可变长度的信息变换为具有固定长度被散列过的输出, 也被称作/信息文摘0。固定长度的字符串可以用来检查文件的完整性和验证数字签名与用户身份。PHP 内置的md5( ) 散列函数把一个可变长度的信息转换为128位( 32个字符)的信息文摘 。可以看出MD5算法是一种较复杂的单向加密算法,加密程度较高。

MD5加密算法在PHP中的应用模式为:

$miwen=”yonghuming1”;

Echo “原文:$miwen”.”

”;

$encrypt_jiami=md5($miwen);

Echo “加密后:$encrypt_jiami”;

?>

这里的PHP代码应用了嵌套的MD5加密模式,把明文编译散列为密文,长度为32字符。编译后输出为:

原文:yonghuming1

加密后:d53862742a272e95a8e7576b87deb121

修改原文中的yonghuming1为yonghuming2,输出为:

原文:yonghuming1

加密后:0835e7098a4e975b92ee30f072416fe7

以上可见,细微的差别,经过MD5加密后结果大不相同,也体现了MD5机制的加密可靠性。

现在许多系统都用MD5算法对密码进行保护:用户登录系统时,在入口处键入用户名和密码,程序把密码经过MD5加密后的值与储存在数据库中的密文相较验,如果相符,就通过验证。

//首先连接数据库

if($yonghu!=0)//数据库中存在该用户

{……

if ($mima==$cunmima)

//通过验证

Else ……//重新输入密码

}

?>

5 结束语

依据身份认证技术原理采用PHP脚本语言自动提供动态验证码,为用户校验账号和密码,是计算机信息安全理念的具体体现。模拟用户登录应用系统的身份认证模型,使用户只须完成最初的验证过程就可以直接访问应用系统,无须每次访问一个应用资源都登录一次,大大提高了工作效率。这个模型与应用系统无关,应用系统无须修改就可使用,具有高度扩展性和延生性。

参考文献

[1] 王萍利.基于J2EEWeb服务的统一身份认证系统的设计与实现.电子设计工程,2012年24期.

[2] 刘建良.浅谈网络安全身份认证技术的研究分析.数字技术与应用,2012年11期.

[3] 王一平.再论数字化校园中统一身份认证平台的建设和管理.中国电子商务,2012年15期.

[4] 陶玉龙,卢凯,王小平等.面向云服务的高性能计算柔平台[J].信息网络安全,2012,(06):57-60.

[5] 吴志军,王娟.基于IPSec的大型机场无线局域网接入认证方法研究[J].信息网络安全,2012,(06):14-17.

作者简介:

熊俊(1974-),男,汉族,湖南临澧人,硕士,讲师;研究和关注领域:计算机信息安全。

上一篇:浅谈汽车车身涂装工艺及其质量控制 下一篇:基于多媒体应用的安全研究