信息安全概论课程设计.docx
- 文档编号:28068420
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:12
- 大小:317.49KB
信息安全概论课程设计.docx
《信息安全概论课程设计.docx》由会员分享,可在线阅读,更多相关《信息安全概论课程设计.docx(12页珍藏版)》请在冰豆网上搜索。
信息安全概论课程设计
信息安全概论课程设计
电子科技大学电子工程学院
课程设计
(一次性口令设计)
课程名称:
信息安全概论
任课老师:
熊万安
专业:
信息对抗技术
小组成员:
张基恒学号:
80014
一、【实验目的】
(1)了解口令机制在系统安全中的重要意义。
(2)掌握动态生成一次性口令的程序设计方法。
二、【实验要求】
(1)编写一个一次性口令程序
(2)运行该口令程序,屏幕上弹出一个仿Windows窗口,提示用户输入口令,
并给出提示模式。
(3)用户输入口令,按照一次性算法计算比较,符合,给出合法用户提示;否
则给出非法用户提示。
(4)再一次运行口令程序,如果输入与第一次同样的口令,系统应当拒绝,提
示非法用户。
每次提示和输入的口令都是不一样的。
(5)写出设计说明(含公式、算法,随机数产生法,函数调用和参数传递方式)。
三、【实验设备与环境】
(1)MSWindows系统平台
(2)设计语言:
C语言
四、【实验方法步骤】
(1)选择一个一次性口令的算法
(2)选择随机数产生器
(3)给出口令输入(密码)提示
(4)用户输入口令(密码)
(5)给出用户确认提示信息
(6)调试、运行、验证。
五、【程序流程和功能】
密码系统设计为两个部分:
一个服务器上的密码系统和一个用户手持的密码器。
程序使用两重认证,分别在于认证密码系统用户的真伪和认证密码生成器的真
伪。
使用方法为:
a)用户分别登陆服务器和密码器,这分别需要两个用户自己掌握
的密码。
b)登陆服务器后,服务器自动生成一个9位数随机码。
c)用户将随机
码输入手持的密码器,由密码器生成一次性密码;同时,服务器用相同的算法
生成该一次性密码。
d)用户在服务器上输入一次性密码,如果密码吻合,则可
以进入功能性页面操作。
系统的优点在于:
a)将两种密码按网络和物理分开,两者由相同的一次性密码
算法相关,但是密码器本身没有能力生成关键的9位随机码。
b)用户只能通过
密码器获得最终的一次性密码,而密码器本身和密码器的密码由用户自己掌握,
从物理上隔绝了密码攻击的风险。
由于能力问题和演示方便,我将系统简化,并且把两个密码部分放在一个程序
里模拟。
设计流程为:
程序流程为:
六、【实验结果截图】
1、用户登录
2、密码验证
3、生成99位随机码
4、随机码输入验证
5、生成一次性密码
七、【心得体会】
通过本次课程设计,我对密码算法特别是一次性密码有了更深的理解,对密码
安全的实现有了新的体会。
通过结合课上知识和生活实际设计密码系统并用CC
程序实现,我对这么课的理解有了进一步加深。
同时通过课程设计加强了我运
用用C语言编写程序解决实际问题的思维能力。
由于个人能力问题,我设计的系统不能真正实现,我编写的程序和密码算法也
相对简单,密码的保密性还不够。
但相信随着能力提高,我最终可以实现这一
设计。
附源程序:
#include<>
#include<>
#include<>
#include<>
#include<>
voidINI()
{
inta;
intp=920323;
printf("USERNAM:
LNJLNJ\n");
printf("PASSWORD:
");
scanf("%d",&a);
if(a==p)
{
printf("验证正确\n");
printf("\n");
}
else
{
printf("输入错误,还有两次机会\n");
printf("PASSWORD:
");
scanf("%d",&a);
if(a==p)
{
printf("验证正确\n");
printf("\n");
}
else
{
printf("输入错误,还有一次机会\n");
printf("PASSWORD:
");
scanf("%d",&a);
if(a==p)
{
printf("验证正确\n");
printf("\n");
}
else
{
printf("输入错误");
exit(0);
}
}
}
return0;
}
randam1(unsignedintr)
{
srand((unsigned)time(NULL));
r=rand()%0+0;
printf("随机码为:
%d\n",r);
printf("\n");
returnr;
}
randam2(unsignedintq)
{
time_tnowtime;
structtm*timeinfo;
time(&nowtime);
timeinfo=localtime(&nowtime);
inta,b,c,d,ra;
a=timeinfo->tm_sec;
b=timeinfo->tm_min;
c=timeinfo->tm_hour;
d=10000*a+100*b+c;
srand((unsigned)time(NULL));
q=rand()%900000+100000;
ra=d+q;
printf("一次密码为:
%d\n",ra);
returnra;
}
voidmain()
{
unsignedintr;
unsignedintq;
intcode;
intIcode;
INI();
randam1(r);
code=randam1(r);
printf("输入随机码:
");
scanf("%d",&Icode);
if(Icode==code)
{
printf("\n");
randam2(q);
}
else
{
printf("输入错误,还有两次机会\n");
printf("\n");
printf("输入随机码:
");
scanf("%d",&Icode);
if(Icode==code)
{
printf("\n");
randam2(q);
}
else
{
printf("输入错误,还有一次机会\n");
printf("\n");
printf("输入随机码:
");
scanf("%d",&Icode);
if(Icode==code)
{
printf("\n");
randam2(q);
}
else
{
printf("\n");
printf("输入错误");
exit(0);
}
}
}
getch();
return0;
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 安全 概论 课程设计