加密狗生产管理系统届别***系别***专业***姓名***指导教师***二○一一年五月加密狗生产管理系统学生姓名:*** 指导教师:***摘要加密狗是一种通过USB串口插在计算机上的软硬件结合的加密产品,是目前被广泛应用的依赖于硬件的加密手段。
本文参考国内外加密软件形势并结合实际企业应用介绍了自主设计开发的加密狗生产管理系统,本系统使用简单但功能强大的VB语言设计开发,通过Access数据库处理数据,采用TEA算法实现字符串的加密,对加密狗的帐号、项目、生产、注销、查询、日志功能进行了详细阐述。
本系统已通过测试成功使用,将企业的不同软件进行分类加密同时对所有项目进行统一管理,具有极高的可行性,并且实现了对软件产品的有效控制和授权使用,极大的解决了安全问题。
关键字加密狗TEA算法VB Access1目录一、绪论 (5)1.1论文写作背景 (5)21.2国内外研究概况 (5)1.3文论写作目的和意义 (6)二、加密狗生产管理系统理论综述 (6)2.1 开发环境和工具 (6)2.1.1Microsoft Visual Studio (6)2.1.2Visual Basic6.0 (6)2.1.3Access (6)2.1.4VB编程语言 (6)2.2 加密算法 (7)2.2.1加密原理 (7)2.2.2加密算法 (7)2.2.3开发方法 (7)三、加密狗生产管理系统总体论述 (7)3.1加密狗生产管理系统总体规划 (7)3.2加密狗生产管理系统模块功能论述 (8)3.2.1账户管理论述 (8)3.2.2项目管理论述 (8)3.2.3生产管理论述 (8)3.2.4注销管理论述 (9)3.2.5查询管理论述 (9)3.2.6日志管理论述 (9)四、加密狗生产管理系统详细设计论述 (9)4.1加密狗生产管理系统设计流程图 (9)4.1.1新增账户模块流程图 (9)4.1.2修改账户模块流程图 (10)4.1.3删除账户流程图 (11)34.1.4新增项目流程图 (11)4.1.5修改项目流程图 (12)4.1.6删除项目流程图 (12)4.1.7注销设备流程图 (13)4.1.8设备生产流程图 (13)4.2加密狗生产管理系统方案设计 (14)4.2.1主程序模块设计方案 (14)4.2.2初始化模块设计方案 (14)4.2.3用户登录设计方案 (15)4.2.4过程和方法设计方案 (15)4.2.5日志模块设计方案 (15)4.2.6内存空间分配方案 (15)4.2.7数据库设计方案 (15)五、结论 (18)六、附录 (18)七、参考文献 (19)八、英文翻译 (19)九、致谢 (19)4一、绪论1.1论文写作背景当今社会是一个资讯通讯发达的社会,网络传播的方式使得信息的获取变得十分便利,为了维护自己的专有权,计算机软件的开发者通常采用一些“加密”手段防止他人复制和基于商业的目的非法使用自己的软件,因此软件保护才应运而生,大部分软件商最初采用的保护方式主要是软加密,主要有密码方式、软件自校验方式和钥匙盘方式等纯软件的手段,但是随着软件保护行业的发展,解密技术也随之出现并快速的发展起来,软加密的方式已经“不堪一击”;在这种情况下,依赖于硬件的保护开始被广泛应用,成为最常用的保护手段。
加密卡、加密狗(加密锁)等也成为了软件保护技术进步下的产物。
1.2国内外研究概况2001年以后,软件保护行业形成一轮新的技术升级浪潮,突破性地在金融、军队、网络身份认证等对安全性、稳定性要求极高的领域广泛使用的智能卡(Smart Card)技术来对商业软件的进行保护。
以智能卡技术为核心构建的新一代的软件保护系统,对用户的软件代码和重要数据提供了全方位、高安全度的保护,被称为软件盗版的“终结者”。
在与盗版的激烈斗争中,中国软件保护行业市场逐步形成并在市场的强烈激发和需求下快步的蓬勃发展,深思洛克、阿拉丁、彩虹天地(现为美国赛孚耐)等都是其中的佼佼者。
时至今日,在以智能卡技术为基础构建的软件保护技术已经非常完善,以深思洛克的代表产5品--精锐IV加密锁为例。
她所采用的芯片是目前国际上唯一通过EAL5+的安全芯片,以其优秀的防物理攻击、电子探测功能为加密锁提供了一个安全的“芯”。
利用她强大的处理能力,软件开发商可以将软件中一段或几段关键的代码移植到加密锁中运行,或将软件运行所需的关键数据保存在锁内,外部软件通过接口函数访问硬件中的关键代码或数据,由于这些代码和数据在PC端没有副本存在,解密者根本无从猜测算法或窃取数据。
1.3文论写作目的和意义每个公司都有许多专属的产品软件,如何对这些软件做安全加密,如何对这些加密做统一管理,对生产者的生产记录做有效备份等等问题接踵而至,而解决这些问题就是本论文的目的所在。
该系统可以对加密狗的加密、生产、注销等做统一管理记录,对使用者的操作记录做备份,大大提高了效率而且降低了安全隐患。
二、加密狗生产管理系统理论综述2.1 开发环境和工具本系统在Windows XP和Microsoft Visual Stdio环境下开发,使用Visual Basic6.0开发工具,后台数据库为Access。
以下对这几种技术软件做简单介绍:2.1.1Microsoft Visual StudioVisual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。
2.1.2Visual Basic6.0Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。
从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。
它源自于BASIC编程语言。
VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。
程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
2.1.3AccessAccess 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS,即Relational Database Management System),是Office系列应用软件之一。
它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。
2.1.4VB编程语言vb是Visual Basic的简称,是由美国微软公司于1991年开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。
它简单易学、效率高,且功能强大可以与 Windows 专业开发工具SDK相媲美。
在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。
62.2 加密算法2.2.1加密原理加密狗使用储存器进行加密,就是将自定义的数据写到锁中,然后程序在运行时,读取这些数据,如果可以读取出相应的数据,就可以判断存在对应的加密锁;另外对写入锁中的数据进行自定义算法加密后再写入,读取数据时同样需要用对应的解密算法解密后才能获得真正数据。
2.2.2加密算法TEA 算法最初是由剑桥计算机实验室的 David Wheeler 和 Roger Needham 在 1994 年设计的。
该算法使用 128 位的密钥为 64 位的信息块进行加密,它需要进行 64 轮迭代,尽管作者认为 32 轮已经足够了。
该算法使用了一个神秘常数δ作为倍数,它来源于黄金比率,以保证每一轮加密都不相同。
2.2.3开发方法1)瀑布模型瀑布模型是由W.W.Royce在1970年最初提出的软件开发模型,在瀑布模型中,开发被认为是按照需求分析,设计,实现,测试,集成,和维护坚定地顺畅地进行。
瀑布模型(Waterfall Model)最早强调系统开发应有完整之周期,且必须完整的经历周期之每一开发阶段,并系统化的考量分析与设计的技术、时间与资源之投入等,因此瀑布模型又可以称为‘系统发展生命周期’(System Development Life Cycle, SDLC)。
由于该模式强调系统开发过程需有完整的规划、分析、设计、测试及文件等管理与控制,因此能有效的确保系统品质,它已经成为业界大多数软件开发的标准。
2)迭代模型迭代式模型是RUP(Rational Unified Process,统一软件开发过程,统一软件过程)推荐的周期模型,也是我们在这个系列文章讨论的基础。
在RUP中,迭代被定义为:迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。
所以,在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。
实质上,它类似小型的瀑布式项目。
RUP认为,所有的阶段(需求及其它)都可以细分为迭代。
每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。
3)面向对象面向对象的程序设计语言必须有描述对象及其相互之间关系的语言成分。
这些程序设计语言可以归纳为以下几类:系统中一切皆为对象;对象是属性及其操作的封装体;对象可按其性质划分为类,对象成为类的实例;实例关系和继承关系是对象之间的静态关系;消息传递是对象之间动态联系的唯一形式,也是计算的唯一形式;方法是消息的序列。
三、加密狗生产管理系统总体论述3.1加密狗生产管理系统总体规划加密狗生产管理系统,包括帐号管理、项目管理、生产管理、注销管理、查询管理和日志管理六大模块,系统总体设计框架如下图(图1)所示。
7图1 加密狗生产管理系统规划图3.2加密狗生产管理系统模块功能论述加密狗生产管理系统各个模块之间相互独立又紧密联系,以下将对它们的功能及实现做简要介绍:3.2.1账户管理论述该模块主要负责管理加密狗生产管理系统的使用者,可实现对账户的增、删、改、查。
●新增账户:由管理员增加新的账户和口令。
账户由不超过16位的字母数字和下划线组成,并且必须由字母打头,口令由6---16位的任意字符组成。
同时新增账户信息写入数据库users表。
●删除账户:管理员删除无用账户,同时将数据库中该记录的flag位置0。