关于移动存储设备的认证

上传人:ji****72 文档编号:33997223 上传时间:2018-02-19 格式:DOC 页数:13 大小:248KB
返回 下载 相关 举报
关于移动存储设备的认证_第1页
第1页 / 共13页
关于移动存储设备的认证_第2页
第2页 / 共13页
关于移动存储设备的认证_第3页
第3页 / 共13页
关于移动存储设备的认证_第4页
第4页 / 共13页
关于移动存储设备的认证_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《关于移动存储设备的认证》由会员分享,可在线阅读,更多相关《关于移动存储设备的认证(13页珍藏版)》请在金锄头文库上搜索。

1、信息安全综合课程设计报告题目:移动存储设备的认证专业班级:信息安全 0801 班学 号:0909080121姓 名:谢 旺 辉指导老师:柳 溶时 间:2011.12-2012.011一、 任务描述与需求分析 1. 任务描述1.1设计背景:当今世界,随着电子信息产业的飞速发展,计算机已成为信息产业行业主流产品和人们在工作、生活、学习等各个方面不可缺少的工具,从而,信息数据的存储和转移成为计算机的一大问题,移动存储设备的发展和使用似乎成功解决了这一问题,但新的产品必然面临着新的问题:病毒和木马以移动存储设备为媒介进行传播,移动存储设备的广泛使用转移和窃取计算机主机的机密文件或重要文件等。我们可以给

2、移动存储设备和计算机之间添加认证和保护层来解决这些问题。1.2 任务描述:实现一个基于移动存储设备的认证系统,以 U 盘为介质,PC 主机实现软件,合理选择加密算法,实现 U 盘和主机之间的内部认证、外部认证及双向认证。2. 需求分析(1) 以客户端形式实现认证系统软件和界面。(2) 对盘符进行扫描,保存于数据库中,当有 U 盘插入时进行检测,实现移动存储设备的检测功能。(3) 通过权限对自己的或获得允许的 U 盘进行注册,生成加密文件,供检测 U 盘时使用,实现 U 盘的权限管理功能。(4) 对 U 盘进行认证,通过检测认证文件的对应和符合性,检测该 U盘是否为本机的合法注册设备,实现对非法

3、 U 盘的控制和 U 盘访问的权限(5) 对 U 盘的系统主机进行认证,检测系统是否为 U 盘的合法主机,实现内部认证。3. 开发平台与工具本系统采用 Java 语言开发,其跨平台性和可移植性的特点适合于本系统的开发。.开发平台:Win7 系统;.开发环境:Java 6.0;.开发工具:Eclipse 3.2。二、 系统设计1、 系统结构22.1 系统功能实现模块图如图 2.11,系统分为四大模块:初始化环境模块、U 盘注册模块、U 盘认证模块、系统认证模块。2、 功能说明(1) 初始化环境功能通过盘符扫描,实现 U 盘或移动存储设备的检测。(2) U 盘注册功能通过生成加密文件,实现对 U

4、盘的注册。(3) U 盘认证功能通过检测加密文件的对应性,实现对 U 盘的合法性和权限检测。(4) 系统认证功能通过主机数据库,检测系统主机。3、 数据库如下表是系统主机数据库中的初始盘符表。表 2.1 root_sysrootNameCDEFGH移动存储设备认证系统初始化环境模块 U 盘注册模块 U 盘认证模块 系统认证模块3如下表是系统数据库中已注册 U 盘的加密认证文件。表 2.2 key_inputkeyStr keyET12 C20ad4d76fe97759aa27a0c99bff6710三、 详细设计1. 系统流程图否 否 否是 是是图 3.1 系统流程图开始客户端启动初始化环境

5、U 盘注册 系统认证U 盘认证初始化成功注册成功密码输入重新输入 初 始 化 环 境化环境正确是否成功与否输入代号认证失败U 盘弹出 认证成功欢迎使用成功与否认证失败 初 始 化 环 境 化环境认证成功42. 系统用例图3.2 系统用例图main()dealReg()dealPW()Encrypt(str)Compute()deal()dealGetU()CreateDB()Save()listRoots()toSting()run()MyFrame DealRootsRegFrame RootDaoEncryptRootsScanJtime53. 代码实现图 3.3 代码结构实现3.1客户端

6、界面功能实现用 java 控件实现系统客户端界面功能,通过调用和解析系统数据库中和 U 盘中的加密文件实现系统认证和 U 盘认证,即实现内部认证,外部认证及双向认证功能,利用认证系统的初始化功能,实现 U 盘插入的检测功能。相关代码:super();getContentPane().setLayout(null);setBounds(100,100,400,300);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);final JPanel panel =new JPanel();panel.setLayout(null);panel.setBoun

7、ds(0, 0, 400, 300);getContentPane().add(panel);final JButton bt1=new JButton();bt1.setText(u盘注册);bt1.setBounds(10,40,80,30);panel.add(bt1);final JButton entry=new JButton();entry.setText(认证系统);entry.setBounds(115,40,90,30);panel.add(entry);final JButton bt2=new JButton();bt2.setText(认证u盘);bt2.setBou

8、nds(245,40,80,30);6panel.add(bt2);final JLabel label=new JLabel();label.setText(欢迎使用u盘认证系统!);label.setBounds(10,5,300,30);panel.add(label);final JButton bt3=new JButton();bt3.setText(初始化环境);bt3.setBounds(10,180,100,30);panel.add(bt3);outt=new JTextField();outt.setBounds(20, 120, 200, 30);outt.setTex

9、t(系统信息:);panel.add(outt);3.2 注册功能实现在系统和 U 盘中生成加密文件,保存在数据库和 U 盘中,实现 U 盘的注册功能。相关代码:setTitle(u盘注册密码输入);final JPanel panel =new JPanel();panel.setLayout(null);panel.setBounds(0, 0, 300, 180);getContentPane().add(panel);final JLabel passWord=new JLabel();passWord.setFont(new Font(微软雅黑,Font. PLAIN,12);pas

10、sWord.setText(请输入权限密码:);passWord.setBounds(20,20,100,30);panel.add(passWord);passWordTextField=new JPasswordField();passWordTextField.setText();passWordTextField.setBounds(120,20,100,30);panel.add(passWordTextField);final JButton jb=new JButton();jb.setText(确定);jb.setBounds(200,80,60,40);panel.add(j

11、b);3.3使用 MD5加密对注册生成文件进行加密,生成加密文件保存于数据库中。代码实现算法:public class Encrypt private String inStr;private MessageDigest mad5;public Encrypt(String inStr)7this.inStr=inStr;trythis.mad5=MessageDigest.getInstance(MD5);catch(Exception e)System.out.println(e.toString();e.printStackTrace();public String compute()c

12、har charArray=this.inStr.toCharArray();byte byteArray=new bytecharArray.length;for(int i=0;icharArray.length;i+)byteArrayi=(byte)charArrayi;byte md5Bytes=this.mad5.digest(byteArray);StringBuffer hexValue=new StringBuffer();for(int i=0;imd5Bytes.length;i+)int val=(int)md5Bytesi)if(val16)hexValue.appe

13、nd(0);hexValue.append(Integer.toHexString(val);return hexValue.toString(); 3.4数据库实现利用数据库实现系统初始环境和加密文件的保存,利于检测和认证外来存储设备。代码实现:private Connection conn=null;public void initConnection() throws ExceptionClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); conn=DriverManager.getConnection(jdbc:odbc:mySQL,root,adm

14、in); public void closeConnection()if(conn!=null)try conn.close(); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace(); public void createDB()8try this.initConnection();String sql1 = drop table Root_sys;String sql = drop table key_input;String sql2=create table Root_sys(rootName

15、char(5);String sql0=create table key_input(keyStr char(20),keyET varchar(50);Statement stat = conn.createStatement();stat.executeUpdate(sql1);stat.executeUpdate(sql);stat.executeUpdate(sql2);stat.executeUpdate(sql0);System.out.println(创建成功!); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();finallycloseConnection();四、 实现过程1. 具体实现1.1客户端启动图 4.1 为客户端启动的初始状态。图 4.1 客户端9当没有 U 盘或移动存储设备插入时,会显示系统信息,然后自动关闭,如下图:图 4.2 无 U 盘插入的客户端状态图1.2初始化环境对系统盘符进行扫描和数据保存,用于检测 U 盘。图 4.3 初始化成功图1.3 U盘注册对合法或获得允许的 U 盘进行注册,给与其访问权限。无 U 盘插入时显示如下:图 4.4 U 盘提示插入检测当 U 盘插入时10图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号