Usbkey身份认证毕业设计报告Word文档格式.docx
- 文档编号:16319725
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:22
- 大小:406.58KB
Usbkey身份认证毕业设计报告Word文档格式.docx
《Usbkey身份认证毕业设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《Usbkey身份认证毕业设计报告Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
1.2背景……………………………………………………………………4
1.3课题……………………………………………………………………5
第二章环境的配置………………………………………………………5
2.1设计环境…………………………………………………………………………5
2.2设计涉及到的相关软件……………………………………………………5
2.3设计开发语言………………………………………………………………5
第三章系统的结构分析与设计………………………………………………5
3.1储备知识……………………………………………………………………6
3.2设计要点分析……………………………………………………………………6
3.1.1调查……………………………………………………………………6
3.1.2可行性分析……………………………………………………………6
3.3模块分析设计…………………………………………………………………6
第四章系统实现与系统测试……………………………………………8
4.1加密锁内部结构…………………………………………………………………9
4.2usbkey身份认证验证原理模块……………………………………………10
4.3部分设计成果展示图片…………………………………………………………11
4.4设计相关代码……………………………………………………………………16
4.1.1前台相关代码……………………………………………………………16
4.1.2后台相关代码………………………………………………………………16
第五章小结………………………………………………………………………16
5.1系统开发中遇到的问题………………………………………………………16
5.2小组分工与协作………………………………………………………………17
参考文献………………………………………………………………………………17
致谢…………………………………………………………………………………18
第一章前言
1.1设计目的
本次毕业设计我们选择了Usbkey身份认证作为毕业设计课题。
1.2背景
而今是一个网络信息时代在线交易(购物,付款),收发电子邮件,在线聊天交友及表单签名,文件数字签名等操作的用户越来越多、对自身身份认证的要求也越来越高,如果使用一般的软件进行身份认证将会造成;
1、软件加密容易被破解2、文件在传输过程中易被截获、纂改3、加密软件损坏,文件无法恢复。
4、用户名密码太长容易忘记5、存储在计算机上容易被盗6、输入用户名和密码时容易被盗或多个信息系统的密码混淆等。
Usbkey认证系统安全登录解决方案:
Usbkey是一种通过USB(通用串行总线接口)直接与计算机相连、具有密码于是USB接口设备,Usbkey通过USB端口提供的电源来工作,不需要额外的电源、具有密码验证功能、可靠高速的小型存储设备。
Usbkey是对现行的网络安全体系的一个极为有力的补充,通过中国信息安全测评认证中心认证的网络安全产品。
基于可信计算基及智能卡技术把易用性,便携性和最高级别的安全性带给了使用MicrosoftIE或NetscapeNavigator进行Web访问,在线交易(购物,付款),收发电子邮件,在线聊天交友及表单签名,文件数字签名等操作的用户,保证用户在Usbkey下的操作不可篡改、抵赖。
Usbkey最大的特点就是安全性高,技术规范一致性强,操作系统兼容性好,携带使用灵活。
Usbkey作为网络身份认证令牌,它是Web站点用户密码的安全便携存储器。
Usbkey代表用户身份,通过使用Usbkey,可以控制同一时间只能有一个用户登陆网页。
由于Usbkey使用USB接口,因此具有体积小,速度快,兼容性好的特点而且Usbkey自身所具备的存贮器可以用来存储一些个人信息或证书,Usbkey的内部密码算法可以为数据传输提供安全的管道,Usbkey是适用于单机或网络应用的身份认证安全防护产品。
1.3课题
硬件加密。
本课题以Usbkey硬件为设计对象,设计的内容包括。
第二章设计环境
2.1运行环境
操作系统:
windowsXP
内存:
1G
CPU主频:
2.01GHz
2.2开发工具
Visualstudio2005
2.3开发语言
C#面向对象程序设计语言
第三章系统的结构分析与设计
3.1储备知识
完成课题的条件:
本课题的研究设计难度较大,需要掌握的知识较多,也需要花费大量时间,由于学习单片机设计的时间有限,对这方面知识的认识和掌握并不是很透彻,并且没有相关方面的实践经验,应用起来就显得相对很难。
设计还没有投入到真真切切的环境中去,不过我一直在致力于这方面知识的收集和整理。
若要顺利完成该usbkey身份认证的设计,要认真做好需求分析,加强自学,进一步提高usbkey的使用方法,同时要积极与指导教师沟通,认真听取指导教师的指导意见和要求。
尽管自身条件在做该课题设计并不是很有实力,但是通过指导教师的帮助,小组人员共同努力,认真做好每一个内容,该课题设计一定会顺利完成。
综合该usbkey设计的内容和要求,若要很好地完成该课题需要以下条件:
1.认真进行课题研究,做好自己的本职工作,全身心投入到设计过程中;
2.需要指导教师耐心指导,多给学生提供意见和方法,以及经验帮助;
3.同组人员通力合作,共同讨论,相互帮助;
4.大量查阅相关书籍和资料;
5.向有相关系统开发经验的前辈请教;
3.1.1调查
调查的具体内容:
1.对使用工行“U盾”进行过网购的部分学生进行调查分析。
2.了解硬件的构造,以及相关固化函数。
3.向专业人士请教,指点设计的关键之处。
3.1.2可行性分析
可行性分析:
通过可行性分析对所开发的usbkey从适用性、经济效益以及开发成本进行研究。
通过调查和usbkey设计目标分析,对要开发的硬件、软件从技术、经济、资源和管理进行可行性的分析。
以保证资源合理使用、避免失误和浪费。
●技术可行性:
本课题采用C#语言进行编程,使用查找锁函数,获取锁基本信息,固化算法函数,读写存储器函数以及增强算法函数来实现身份认证。
●经济可行性:
本课题使用的单片机,具有极高的性能价格比,受到人们的重视和关注。
它体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易,而且操作的时间非常短,因此使用起来非常方便。
●操作可行性:
要进行身份验证,必须要在客户端安装锁的驱动程序,它其实不是真正的驱动程序,而是安装必要的客户端控件。
然后安装usbkey开发工具,对读写锁进行设置,生成加密代码和模板工程等其他相关配置,将基本实现用户身份认证功能。
3.2模块分析设计
(1)、设计流程
设计可行性分析阶段
酒店
Usbkey硬件购买
认证函数库的学习
酒店室内设计阶段
软硬件结合并测试
编写程序控制代码
(2)、设计的具体步骤安排:
前期(设计准备阶段):
此阶段根据选题的具体内容和指导老师进行细致的沟通,听取老师的意见和向老师表达自己的设计理念。
对设计进行可行性分析和对相关资料的收集整理,购买usbkey硬件。
中期(设计的具体实施阶段):
该阶段按部就班地进行设计,并根据实际情况修改设计细节,同时在设计上遇到问题及时向老师求助。
定期向老师汇报设计进度和呈现设计成果。
详细分析usbkey硬件内部结构、以及起固化函数库。
理清设计思路,并根据设计安排查阅相应书籍和搞懂实现的关键操作。
编写程序代码。
后期(设计的整合编制阶段):
该阶段主要是对设计成果进行相应整合,制作成设计作品,同时应反复和老师交流,更正设计中的不足,完善设计作品。
主要工作是对编写的代码进行调试,以及软硬件结合并测试。
3.2设计要点分析
该设计我们使用visualstudio2005软件进行代码编写,安装驱动,在加密锁中写入用户名,密码。
通过页面来进行身份认证的测试。
第四章系统实现与系统测试
4.1加密锁内部结构图:
320到430的储存空间用于储存网站及相关的信息
加密锁内部结构
4.2usbkey身份认证验证原理模块:
usbkey身份认证验证原理模块图
4.3部分设计成果图片展示
图一、没有插入usbkey
图二、没有插入usbkey点击提交后的效果
图三、插入usbkey,并且已经写入用户名和密码
图四、插入usbkey后,返回后的效果图示
图五、插入usbkey返回后修改随机数所得到的效果
4.4相关设计代码
4.4.1前台代码
<
scriptlanguage="
javascript"
type="
text/javascript"
>
<
!
--
vardigitArray=newArray('
0'
'
1'
2'
3'
4'
5'
6'
7'
8'
9'
a'
b'
c'
d'
e'
f'
);
functiontoHex(n){
varresult='
'
varstart=true;
for(vari=32;
i>
0;
){
i-=4;
vardigit=(n>
i)&
0xf;
if(!
start||digit!
=0){
start=false;
result+=digitArray[digit];
}
return(result=='
?
'
:
result);
}
functionButton1_Click()
{
varDevicePath,ret,n,mylen;
try
{
//建立操作我们的锁的控件对象,用于操作我们的锁
varaObject=newActiveXObject("
Syunew3A.s_simnew3"
//查找是否存在锁,这里使用了FindPort函数
DevicePath=aObject.FindPort(0);
if(aObject.LastError!
=0)
{
window.alert("
没有发现加密锁,请插入加密锁!
!
"
return;
}
//'
读取锁的唯一ID
form1.KeyID.value=toHex(aObject.GetID_1(DevicePath))+toHex(aObject.GetID_2(DevicePath));
//GetID_1()返回指定加密锁的ID号的前4个字节;
加密锁的ID号由8个字节组成,GetID_2()功能:
返回指定设备路径的加密锁的ID号的后4个字节;
if(aObject.LastError!
=0)//返回结果--如果LastError的值为0,则表示方法执行成功,则返回结果为该加密锁的ID号的前4个字节。
如果LastError值为其它值,则表示方法失败,错误原因可以参见错误代码含义
window.alert("
ErrtoGetID,ErrCodeis:
+aObject.LastError.toString());
return;
//获取设置在锁中的用户名,使用默认的读密码"
FFFFFFFF"
"
FFFFFFFF
ret=aObject.YReadEx(0,1,"
ffffffff"
DevicePath);
//YReadEx()功能:
从加密锁的指定储存空间地址读出数据,该函数用于读取一批数据
mylen=aObject.GetBuf(0);
//在调用YReadEx方法后,应立即调用GetBuf方法从数据缓冲区中取回数据,如果返回结果为0,则表示方法执行成功,调用GetBuf方法从数据缓冲区中取回数据。
如果为其它值,则表示方法失败
form1.UserName.value=aObject.YReadString(1,mylen,"
"
DevicePath);
//YreadString()功能:
从加密锁的指定起始位置读取字符串,返回结果--如果LastError的值为0,则表示方法执行成功,则返回结果为加密锁address的储存空间中储存的字符串。
window.alert("
ErrtoGetUserName,ErrCodeis:
//获到设置在锁中的用户密码,,使用默认的读密码"
ret=aObject.YReadEx(20,1,"
//
form1.Password.value=aObject.YReadString(21,mylen,"
//21表示读出的字符串储存在加密锁的起始位置是21
ErrtoGetPwd,ErrCodeis:
//这里返回对随机数的HASH结果
form1.return_EncData.value=aObject.EncString(form1.rnd.value,DevicePath);
//EncString()功能:
使用增强算法对字符串进行加密,form1.rnd.value是要加密的字符串
window.alert("
ErrtoStrEnc,ErrCodeis:
return;
form1.submit();
}
catch(e)
alert(e.name+"
:
"
+e.message);
-->
/script>
%
if(KeyID.Text=="
)
%>
bodybackground="
images/bg_body.gif"
style="
background-repeat:
repeat;
>
formid="
form1"
runat="
server"
center>
divid="
logo"
divstyle="
margin-top:
60px"
asp:
LabelID="
Label1"
Text="
usbkey身份认证"
left:
300px;
position:
absolute;
top:
0px"
/asp:
Label>
/div>
middle"
TextBoxID="
KeyID"
ForeColor="
Red"
OnTextChanged="
KeyID_TextChanged"
position:
relative;
0px;
left:
-1px;
height:
20px;
Height="
22px"
TextBox>
UserName"
UserName_TextChanged"
1px;
Password"
Password_TextChanged"
relative"
rnd"
rnd_TextChanged"
return_EncData"
return_EncData_TextChanged"
ButtonID="
Button1"
OnClientClick="
Button1_Click()"
OnClick="
Button1_Click"
提交"
BackColor="
LightSlateGray"
BorderColor="
White"
BorderStyle="
Groove"
Transparent"
Width="
/>
divid="
bottom"
marqueedirection="
right"
scrollamount="
1"
scrolldelay="
10"
onmouseover='
this.stop()'
onmouseout='
this.start()'
height="
100"
--head_scrolltext-->
ImageID="
Image1"
101px"
ImageUrl="
~/images/4.jpg"
140px"
&
nbsp;
Image2"
~/images/3.jpg"
Image3"
~/images/2.jpg"
Image4"
~/images/1.jpg"
Image5"
~/images/5.jpg"
Image6"
~/images/7.jpg"
Image7"
~/images/8.jpg"
--endhead_scrolltext-->
/marquee>
TextBox1"
Font-Bold="
True"
black"
220px"
ReadOnly="
Style="
z-index:
100;
150px"
TextMode="
MultiLine
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Usbkey 身份 认证 毕业设计 报告