《毕业设计(论文)密钥管理系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)密钥管理系统.doc(61页珍藏版)》请在三一办公上搜索。
1、 目录前言第一章 系统开发背景1.1公交子系统目标1.2关于本系统概述1.3关于本系统所用DES算法实现过程分析第二章 系统需求分析.2.1 公交子系统需求分析.2.2 发放密钥系统需求分析.第三章 系统设计3.1 系统流程图3.2 数据库设计 3.2.1 表的结构设计3.3 安全性设计 第四章 系统实施.4.1 系统开发工具选择 4.1.1 前端开发工具 4.1.2 后台数据库开发工具4.2 主要程序部分源代码介绍第五章 系统运行5.1 系统运行环境 5.1.1 本机硬件环境. 5.1.2 本机软件环境.5.2 系统操作 5.2.1 系统登陆. 5.2.2 帐号管理. 5.2.3 密钥发放系
2、统查询 5.2.4 模拟发放密钥 5.2.5 编辑结果.5.3 系统主要窗体及说明第六章 毕业设计总结参考文献附录等. 前言1993年以来,随着国家金卡工程的实施,国际上先进的IC卡应用技术被引入我国。而随着我国信息产业及城市建设的不断发展,城市一卡通这个新概念也走入了我们的生活。城市一卡通系统就是采用先进成熟的计算机技术,构筑城市一卡通应用的信息平台,为城市信息化管理提供科学依据。目标系统将涵盖公交、地铁、自来水、电业、煤气等城市公共事业各个方面。通过城市一卡通实现客运、地铁的消费、煤气、自来水、供电的结算等一卡化,统一规范,信息共享,一卡多用,方便使用,为城市居民提供方便的优质服务,提高整
3、个城市的生活质量 。由于沈阳市城市一卡通工程项目关系到市民的切身生活,关系到各个加入业主的利益。因此,系统的安全设计尤为重要。沈阳市城市一卡通安全系统的实施,使全市形成一个完整的智能卡运营系统,构建出一个具有高安全性、高可靠性、可扩充的一卡通系统平台。第一章 系统开发背景1.1 公交子系统目标沈阳位于中国东北地区的南部,是东北地区的中心城市,是连通关内与东北各地的咽喉。沈阳市总面积为12980平方公里,其中城区面积185平方公里。1999年沈阳市总户数为212.6万户,其中市中心区(市内五区和郊区九个街道)户数为112.6万户,全市人口总数677.1万人,其中市区480万人。城市信息网络已初步
4、建立,以ISDN(综合业务服务网)和PSDN(公共电话网)为主,这为城市信息化建设提供了良好的网络基础。针对上述城市自然状况,在沈阳比较适合实施城市信息一卡化的发展目标,实现公交、地铁的消费、煤气、自来水、供电的结算等一卡化,实现统一规划,信息共享,一卡多用。一卡化方便用户使用,为城市居民提供方便的优质服务,提高整个城市的生活质量。沈阳城市一卡通具体功能需求为在非金融领域实现“一卡多用”。城市一卡通公交子系统的目的,是把目前公共汽车的无人售票及其它售票方式以IC卡电子收费作为支付手段,以计算机系统为信息处理方法的现代化管理系统,一方面能加快客运汽车的收费速度、提高效率、方便市民;另一方面自动化
5、处理客运信息、准确结算、动态分析,为客运企业的运营,城市交通的管理,城市建设及发展奠定良好的基础。1.2 本系统概述本密钥管理子系统完成整个系统的各种密钥生成、分配、装载和更新功能。通过密钥管理子系统,实现管理部门能够对整个系统的进行安全布控,从而使得整个系统运行置于管理部门的安全控管,消除了研制、生产单位对系统的安全构成的威胁。这样,从根本上保护了应用管理部门的利益不受侵害。密钥管理子系统通过逐级发卡初始化实现密钥生成、分配、装载。各城市首先由主管领导生成城市总控卡,并结合建设部发放的城市主密钥卡生成城市密钥母卡。由城市密钥母卡生成并装载ISAM卡、ESAM模块和用户卡密钥。沈阳市一卡通工程
6、项目系统在设计时重点考虑了安全要求。在系统运行的各个环节采用多项安全措施,如:采用高安全的交易流程,关键数据加带数据签名密文传输,应用系统叫色授权管理。并却选取高安全性系统平台产品,应用系统安全设计与系统平台产品的安全性相结合,保证系统的安全。系统中交易安全通过采用金融规范来保证;系统运行的安全通过确保网络系统安全来实现,信息安全主要是保证信息传输安全和存储安全。1.3 DES算法实现过程分析1.处理密钥:1.1从用户处获得64位密钥.(每第8位为校验位,为使密钥有正确的奇偶校验,每个密钥要有奇数个”1”位.(本文如未特指,均指二进制位)1.2具体过程:1.2.1对密钥实施变换,使得变换以后的
7、密钥的各个位与原密钥位对应关系如下表所示:表一为忽略校验位以后情况 57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,41.2.2把变换后的密钥等分成两部分,前28位记为C0,后28位记为D0.1.2.3计算子密钥(共16个),从i=1开始。1.2.3.1分别对Ci-1,Di-1作循环左移来生成Ci,Di.(共16次)。每次循环左移
8、位数如下表所示:循环次数12345678910111213141516左移位数11222222122222211.2.3.2串联Ci,Di,得到一个56位数,然后对此数作如下变换以产生48位子密钥Ki。变换过程如下:14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,321.2.3.3按以上方法计算出16个子密钥。2对64位数据块的处理:21把数据分成64位的数据块,不够64位的以适
9、当的方式填补。22对数据块作变换。bitgoestobitbitgoestobit581573350249344234135344333626525371861738107939281406095941521051424411434336123544281327452014194612151147416348621761495418535046194551382037523021295322222154142313556245566425635756265558482747594028396032293161243023621631156383276423将变换后的数据块等分成前后两部分,前3
10、2位记为L0,后32位记为R0。24用16个子密钥对数据加密。241根据下面的扩冲函数E,扩展32位的成48位32,1,2,3,4,5, 4,5,6,7,8,9, 8,9,10,11,12,13, 12,13,14,15,16,17, 16,17,18,19,20,21, 20,21,22,23,24,25, 24,25,26,27,28,29, 28,29,30,31,32,1242用ERi-1与Ki作异或运算。243把所得的48位数分成8个6位数。1-6位为B1,7-12位为B2,43-48位为B8。244用S密箱里的值替换Bj。从j=1开始。S密箱里的值为4位数,共8个S密箱2441取出
11、Bj的第1和第6位串联起来成一个2位数,记为m.。m即是S密箱里用来替换Bj的数所在的列数。2442取出Bj的第2至第5位串联起来成一个4位数,记为n。n即是S密箱里用来替换Bj的数所在的行数。2443用S密箱里的值Sjmn替换Bj。8个S密箱如下所示:-S-BOXES1Binaryd1d6=00011011/d2.d5/Dec012300000140415000114151120010213714800113148201004214134010151526901106111321011178111710008310155100191061211101010612931011111211714
12、1100125931011011395100111014035611111578013-S-BOXES2binaryd1d6=00011011/d2.d5/dec0123000001530130001111314800102847100011314711101004615103010151124150110638134011174141210008912511100197086101010211271011111310612110012126901101130935111014511214111115105159-S-BOXES3binaryd1d6=00011011/d2.d5/dec012
13、3000001013131000110761000102904130011314990010046386010153415901106156380111751007100081211410019138115101010125214101111714123110012111251111011341110511101421514211111581712-S-BOXES4binaryd1d6=00011011/d2.d5/dec012300000713103000111386150010214119000113350601004061210010156151110110690713011171031
14、3810008141591001927141010108235101111512141111001211151211011312102711101441482111115159414-S-BOXES5binaryd1d6=00011011/d2.d5/dec012300000214411000111211280010242112001131121170100474101010151071314011061113720111761813100088515610019509151010103151201011111510591100121336101101130934111014148051111
15、1596143-S-BOXES6binaryd1d6=00011011/d2.d5/dec0123000001210940001111514300102104152001131525120100497290101521285011066912150111785310100080671110019131014101010313411011114141071100121401611011371113011101453118111115118613-S-BOXES7binaryd1d6=00011011/d2.d5/dec012300000413160001111041100102211111300
16、1131471380100415412101015093401106817100111713101471000831410910019123155101010956010111171281511001252014110113101552111014689311111516212-S-BOXES8binaryd1d6=00011011/d2.d5/dec012300000131720001121511100102813414001134817010046109401015153121001106117148011171421310008101201510019956121010103610910
17、11111411130110012501531101130143511101412956111115728112444返回2441直至8个数据块都被替换。245把B1至B8顺序串联起来得到一个32位数。对这个数做如下变换:bitgoestobitbitgoestobit16121772818203241921414202953221126272228732317892419192515101326231130272612628513222918141130311543110162532246把得到的结果与Li-1作异或运算。把计算结果賦给Ri。247把Ri-1的值賦给Li。248从241循环执
18、行,直到K16也被用到。25把R16和L16顺序串联起来得到一个64位数。对这个数实施22变换的逆变换。以上就是DES算法如何加密一段64位数据块。解密时用同样的过程,只需把16个子密钥的顺续颠倒过来,应用的顺序为K16,K15,K14,。K1。第二章 系统需求分析2.1公交子系统需求分析城市一卡通公交子系统的目的,是把目前公共汽车的无人售票及其它售票方式以IC卡电子收费作为支付手段,以计算机系统为信息处理方法的现代化管理系统,一方面能加快客运汽车的收费速度、提高效率、方便市民;另一方面自动化处理客运信息、准确结算、动态分析,为客运企业的运营,城市交通的管理,城市建设及发展奠定良好的基础。2.
19、2发放密钥系统需求分析2.2.1 需求概述在系统设计中,既考虑信息资源的充分共享,又要注意信息的保护和隔离,因此系统应针对不同的应用和不同的网络通信环境,采取不同的措施,包括系统安全机制,数据存取的权限,数据传输的加密等等。2.2.2需求分析2.2.2.1系统保证交易数据的安全性,交易内容不可被复制,修改和删除2.2.2.2系统保证交易的安全性,杜绝非法交易。防止用户通过非法手段窃取数据。2.2.2.3系统确保数据的正确性和完整性2.2.2.4系统确保操作人员的合法性,严格授权,未经过系统授权的人不能进行相关操作或者访问相关数据。在考虑技术先进性和开放性的同时,还应该从系统结构,技术措施,设备
20、性能,系统管理,厂商技术支持及维修能力等方面着手,确保系统运行的可靠性和稳定性,达到最大的平均无故障时间。实施密钥管理系统的目标功能o 实施对整个系统的安全布控和监控 o 实现对系统的管理权限分割和分配 o 抵御外界安全攻击,防范系统崩溃 o 实现开发人员和生产厂家的安全脱钩 o 保证应用系统正常安全运营 o 保护应用提供方利益不受侵犯 密钥管理系统必须能够保证:o 密钥生成只受控于应用提供方 o 开发人员和生产厂家不能掌握应用密钥 o 密钥调制和生成过程必须是安全的 o 密钥的装载过程必须是安全的 o 密钥的存储必须是安全的 o 某个个体密钥被侦破不能造成系统崩溃 o 密钥的工作必须是安全的
21、。密钥的更新是必须安全的第三章 系统设计3.1系统主要算法流程图A码单B码单RMK 一级密钥(一级密钥卡)8个GMK 二级密钥(二级密钥卡)8个加密机 保存二级密钥气密钥母卡内,外,M(三级密钥卡)3个COPYPSAM 卡COPYPSAM 卡COPYPSAM 卡COPYPSAM 卡复制气密钥母卡发卡用户卡电密钥母卡内,外,M(三级密钥卡)3个水密钥母卡内,外,M(三级密钥卡)3个公交密钥母卡内,外,M(三级密钥卡)5个复制气密钥母卡发卡复制气密钥母卡发卡复制公交密钥母卡发卡 3.2数据库设计 表3.2.1 一级密钥 序号字段名称标示符类型可否为空1流水号LshIntN2领导编号LdidIntN
22、3管理员IDGlyidIntN4码单编号MdidIntN5日期RqDateN6码单类别MdlbIntN 表3.2.2 二级密钥 序号字段名称标示符类型可否为空1流水号LshIntN2部门IDBmidIntN3管理员IDGlyidIntN4日期RqDateN5密钥类别MylbIntN 表3.2.3 三级密钥 序号字段名称标示符类型可否为空1流水号LshIntN2管理员IDGlyidIntN3部门IDbmidIntN4日期RqDateN5密钥类别MylbIntN 表3.2.4 领导信息 序号字段名称标示符类型可否为空1领导名字ldmcTextN2领导编号LdidIntN 表3.2.5 管理员信息 序号字段名称标示符类型可否为空1管理员编号GlyidIntN2管理员名字GlymcTextN3管理员权限GlyqxIntN 表3.2.6密钥类别序号字段名称标示符类型可否为空1密钥类别MylbIntN2类别名LbmTextN 表3.2.7 码单信息 序号字段名称标示符类型可否为空1码单MdIntN2码单IDMdidIntN 表3.2.8 权限信息 序号字段名称标示符类型可否为空1权限编码QxidIntN2权限名称QxmcTextN 表3.2.9 系统日志 序号字段名称标示符类型可否为空1人员编号RyidIntN2日期RqDateN3操作类型CzlxText