(计算机软件与理论专业论文)基于智能卡技术的安全应用研究.pdf_第1页
(计算机软件与理论专业论文)基于智能卡技术的安全应用研究.pdf_第2页
(计算机软件与理论专业论文)基于智能卡技术的安全应用研究.pdf_第3页
(计算机软件与理论专业论文)基于智能卡技术的安全应用研究.pdf_第4页
(计算机软件与理论专业论文)基于智能卡技术的安全应用研究.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机软件与理论专业论文)基于智能卡技术的安全应用研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文摘要 摘要:随着计算机网络技术的飞速发展,网络技术应用范围不断扩大。对网络的 攻击和破环也与日俱增攻击者利用网络技术,非法入侵他人计算机系统、窃取信 息、篡改数据,给企业造成巨大损失。因此,对于企业来说,能否保障认证信息 的安全的问题。己经被提到了直接影响企业发展的高度。 为此,本文考查了基于智能卡的安全认证用以完成身份认证、保存私密信息 的任务。综合各种安全机制和技术提出了安全认证的方案,以提高网络整体安全 性。 本文首先介绍密码学的相关知识,然后介绍数字签名的原理,在a c t i v e x 实现 一个数字签名的实现。最后介绍智能卡的相关协议和标准及其操作系统,分析了 智能卡的攻击方式,并给出相应的防范措施。同时,实现了利用智能卡实现双向 认证的实例。将实现了数字签名的a c t i v e x 同智能卡相结合,有效的保护了数据信 息的安全。此项认证方式实施在了加纳预付费电表管理系统中,得到了很好的评 价。 关键词:智能卡;安全;a c t i v c x ;数字签名:公开密钥基础设施 分类号:1 1 p 3 0 9 a b s t r a c t a b s t r a c t :w i t ht h eq u i c kd e v e l o p m e n to fc o m p u t e rn e t w o r kt e c h n o l o g y , t h e c o n t i n u o u se x t e n s i o no fn e t w o r ka p p l i c a t i o n ,a t t a c k st on e t w o r ka l ei n c r e a s i n ga sw e l l a t t a c k e r su s en e t w o r kt e c h n o l o g y ,i l l e g a l l yi n t r u d ec o m p u t e rs y s t e m s ,s t e a li n f o r m a t i o n , t a m p e rd a t a , a n db r i n gh e a v yl o s s e st oe n t e r p r i s e s o ,f o rab u s i n e s se n t e r p r i s e ,h o wt o p r o t e c ti n f o r m a t i o ni sas e r i o u sp r o b l e m i tw i l la f f e c tt h ed e v e l o p m e n to fe n t e r p r i s e t oa c h i e v et h eg o a l ,t h ep a p e rs t u d i e st h es m a r tc a r dt os e c u r i t ya u t h e n t i c a t ea n d p r o t e c ti n f o r m a t i o n a n di ta p p l i e sv a r i o u ss e c u r i t ym e c h a n i s m sa n dt e c h n o l o g i e st o i m p r o v et h en e t w o r ks e c u r i t y f i r s t ,t h ep a p e ri n t r o d u c e sc r y p t o l o g yi n c l u d i n gd i g i t a ls i g n m u r e ,u s ea c t i v e st o i m p l e m e mt h ed i g i t a ls i g n a t u r e s e c o n d l y , i n t r o d u c e st h ep r o t o c o l sa n ds y s t e ma b o u tt h e s m a r tc a r d ,柚a l y m st h es t y l eo fa t t a c ka n dp r o t e c t i o n s a tt h es a m et i m e ,i ti m p l e m e n t s t h em e t h o d so f a c t i v e sa n ds m a r tc a r dt op r o t e c tt h ei n f o r m a t i o n k e y w o r d s :s m a r tc a r d ;s e c u r i t y ;a c t i v e x ;d i g i t a ls i g n a t u r e ;p k i c i a s s n o :t p 3 0 9 致谢 本论文的工作是在我的导师刘峰教授的悉心指导下完成的,刘峰教授严谨的 治学态度和科学的工作方法给了我极大的帮助和影响。在此衷心感谢三年来刘峰 老师对我的关心和指导。 刘峰教授悉心指导我们完成了实验室的科研工作,在学习上和生活上都给予 了我很大的关心和帮助,在此向刘峰老师表示衷心的谢意。 张晋豫教授对于我的科研工作和论文都提出了许多的宝贵意见,在此表示衷 心的感谢。 在实验室工作及撰写论文期间,徐敏、武宜龙、刘海剑等同学及北京东方佳 有限公司的范杰经理对我论文中的研究工作给予了热情帮助,在此向他们表达我 的感激之情。 另外也感谢家人,他们的理解和支持使我能够在学校专心完成我的学业。 第1 章绪论 1 1 问题的提出 自从1 9 5 6 年第一个计算机网络建立以来,网络技术得到了极其迅速的发展。今 天,各种通信网络使我们的生活方式和工作方式发生了巨大的变化。每个人的生 活都与信息的产生、存储、处理和传递密切相关。信息的安全与保密问题成了人 人都关心的事情。尤其是近年来,网络攻击和利用网络技术的犯罪的问题日益严 重。人们更加强烈的要求采取某种技术手段和措旌来保证信息的安全。本课题以 加纳首都阿卡拉地区预付费电表系统为依托。 1 2 研究意义 随着网络应用的普及,资源共享带来的信息安全问题也日益突出。如何判定 登录用户身份的合法性,如何提供相应的访问控制机制用于控制用户在系统中的 行为和动作,己成为信息安全的首要问题,而身份认证技术则可以较好地保证信 息系统中的安全性。 1 3 密码技术与网络安全 1 9 4 9 年c e s h a n n o n 发表了保密系统的通信理论1 9 7 6 年w d i f k 与 m e h e f l m a n 发表了密码学新方向,这两篇论文和1 9 7 7 年关国公布实施的数 据加密标准( d e s ) ,标志者保密学的理论与技术的划时代的革命性变革。这主要表 现在: 传统的密码体制的主要功能是信息的保密而双钥体制的出现,不但赋予了通 信的保密性,而且还提供了消息的认证性 双钥密码体制无需事先交换密钥就可通过不安全的信道安全的传通信息,简 化了密钥分配的工作。 双钥密码体制的出现和d e s 的设计充分体现了s h a n n o n 信息保密理论所阐 述的设计密码的思想,使密码的分析和设计提高到新的水平。 保密学涉及到数学学科、信息论、计算机科学与微电子学等广泛领域。 公开密钥基础设施( p l ( i ) 是一个可以提供安全服务的基础设施,利用公钥和 公钥证书技术实现对网络中的公开密钥进行管理,并提供各种安全服务。 1 4 国内外公开密钥基础设施( p k i ) 的研究现状 国外的p k i 应用已经开始,美国和加拿大已经在各行业p k i 的基础上建立了全 国范围的p k i 。开发p k l 的厂商也有多家,许多厂家,如b a l t i m o r e ,e n v u s t 等推出 了可以应用的p k i 产品,有些公司,如v c r i s i g n 等已经开始提供p k i 服务网络的 许多应用已经在使用p k l 技术以保证网络上信息的认证。不可否认、加解密和密 钥管理等。按照国外一些调查公司的说法,p k i 系统仅仅还是在作示范工程,许多 断的技术不断出现,p k i 的结构、使用的算法、密钥管理的方案等也在不断变化。 我国作为一个网络大国,发展自己的p k i 技术是很必要的。p k l 是一项关键 的安全技术。网络,特别是i n t e r n e t 网络的安全应用己经离不开p k i 技术的支持。 网络应用中的认证、加解密的密钥管理、不可否认等服务只有p k i 技术才能提供。 研究和开发我们自己的实用p k i 技术已经变得刻不容缓。 在我国,上海、北京、深圳、重庆等城市已经建立了c a 认证中心,以便为本 地化通信网络提供安全服务。c a 认证中心是p k i 的重要组成部分,有时将c a 认 证中心称作简要的p k i 。在国家直属部门,以中国人民银行为首的1 2 家金融机构 推出了“中国金融认证中心c f c a ”,中国电信也在开展c a 机制的试验工作。另 外,许多网络通信公司正在积极开发自己的基于p k i 的安全产品。 但是,在我国,各地方推出的p k i 基本上是为了满足局部需要,全国还没有 由政府或金融机构推出的统一的信任认证机制,这将会影响今后跨部门之间的信 息流通与合作,也会阻碍企业电子商务、经济信息一体化的发展。 2 第2 章项目简介 2 1 电费计量、收费管理现状 同我国的情况相似,随着加纳首都阿卡拉城市建设的快速发展,城市人口也 在不断增多,给城市供电及管理带来前所未有的压力。居民日常使用电、水等能 源管理收费多年来一直采用先用后抄、再付费的作业方式。抄表队伍的人数达到 了数以万计,且人为抄收方式弊端多,工作效率低,给管理部门造成了人力、物 力、时间上的极大浪费。同时,由于城市人口稠密,住宅分散,人工抄表收费模 式不仅劳动强度大而且还有许许多多难以预料的困难。主要体现在以下几个方面: ( 1 ) 入户难:由于社会发展及居民生活水平的提高。室内普遍装修精美,而且人 们越来越重视个人的隐私,不愿外人打扰;随着社会生活节奏的加快,经常出现 查表收费只能在早、晚或周末居民休息时间进行,给人民生活带来不便,用户对 此极不满意,常采取不合作的态度,阻碍了电表收费工作的进行。 ( 2 ) 收费难:电费回收是电力企业经济效益得以实现的保证,也是持续供电的 前提。长期以来,电费回收问题一直是困扰电力企业正常运行的一大难题。随着 经济的发展,传统的收费方式已无法适应新形式的需要,以前采用的行政手段遇 到了送达通知难、现场操作难等问题。因而电力企业面临着电费回收率直线下降、 欠费率直线上升的严峻挑故。电费歉收、漏收严重,各地实际收费远低于统计值, 费用流失严重。 ( 3 ) 企业经济效益低:现行收费结算方式给电力行业的经营带来诸多困难,再 加上用户先用电后交费,因此,企业流动资金普遍紧张,经营困难,更谈不上经 济效益。 ( 4 ) 管理费用开支高:特别是城市电力事业的规模发展,收费问题更为突出, 制约了电力事业的发展。 ( 5 ) 查表收费人员工作条件差、效率低、劳动强度大:目前,现行收费大多是 人工抄收、人工计费、手工结算,效率低、误差大,已不适应企业管理现代化的 要求。 ( 6 ) 用户、收费人员窃电、作弊、拒交费用的情况时有发生,造成电费少收、 漏收。 ( 7 ) 无法采用更为先进的科学技术对电力行业进行管理 因此,防着计算机技术在各个领城的应用,迫切要求电力行业改变目前的收 费管理的落后面貌,采用现代化科学技术手段改变供电管理体制的落后现状势在 必行。 2 2 智能卡表的出现及优越性 目前,智能卡作为一种高效、安全、方便、实用的新型信息载体正以不可抵 挡之势风靡世界,而采用智能卡技术的智能卡表也开始走进千家万户。这种用户 凭用户卡缴费预先购电,再将卡内预写电量输入电表内,自动限额供电的管理模 式,不仅使现代化高新技术在民用供电系统中得到应用,更重要的是使系统的用 电观念和管理方式发生了根本改变。与传统相比,来用智能卡电表技术将会拥有 以下优越性: 0 ) 将传统的先用电后结算交费的用电方式改变为先预付电费后限额用电的新 概念。可使电力部门提前收回资金、减少拖欠电费的损失。 ( 2 ) 将传统方式的人工抄表及电费结算方式改变为智能卡预付费电表白动计费 的新方式。新方式可免去繁琐的上门抄表工作,减轻了电力公司管理部门工作人 员的劳动强度,提离工作效率,降低成本,增加经济效益。另外,该方式也避免 了逐户查表给用户生活带来不必要的麻烦。消除了不法分子借查表入户犯罪的隐 患。 ( 3 ) 可以有效解决用电管理的一些技术难理。比如,随着电资源的紧张,将会 逐步实行超计划电价甚至阶梯式电价等较为复杂的用电管理模式。这些,将对供 用电交易提出较高的技术要求。采用普通电表和人工抄表的模式,是难以解决这 些技术问理的,而采用智能卡电表,将很容易解决这些问题。 ( 4 ) 采用智能卡,将为运用计算机技术进行供电管理提高供电管理企业的现代 化水平其定一个技术基础。 ( 5 ) 有效解决计量扯皮、贪污电费、及用电统计困难等问题。 因此,居民用电采用智能卡电表,必将是未来的发展趋势。 2 3 系统建模依据 随着全球电信业务的逐步开放,电信运营企业的经营方式也正在从以业务为 中心的货架式经营转变为以客户为中心的个性化定制方式,例如为不同流量特性、 不同质量服务提供不同计费费率和计费方法以及业务质量管理等问题,原来的单 一业务运营支撑系统已经越来越无法满足新业务不断涌现的竞争要求。尤其是当 4 前电信业务和网络正经历着前所未有的变革,核心网i p 化和接入方式多样化使得 基于i p 的下一代网络( n g n ,n e wg e n e r a t i o nn e t w o r k ) 成为各大运营商所瞩目的 焦点。n g n 是一个在继承的基础上实现了网络与业务融合的网络,包含有众多厂 商所生产的软硬件产品以及极其复杂的a t m 1 p t d m 等网络基础设施,首次使用 软交换技术,这些都对下一代o s s l l l ( o p e r a t i o ns u p p o r ts y s t e m ) 提出了挑战。 2 3 1n g o s s 概述 下一代运营软件和系统( n g o s s t 2 ,n e wg e n e r a t i o no p e r a t i o ns y s t e ma n d s o f t w a r e ) 是“电信管理论坛( t m f ) ”提出的新一代o s s 体系。n g o s s 从系统 ( 即插即用规则) 、过程( 企业事务过程模型) 、信息( 关联处理公用数据) 、产品 四个方面保证o s s 体系具备标准化、能够逐步演化、保证互连互操作( 开放) 、实 现端到端的管理和高度自动化的特点。n g o s s 提出一系列的文档、信息模型和代 码,分析研究企业核心业务流和信息技术,提出一套指导o s s 建设的系统框架和 设计即插即用的o s s 组件方法,帮助开发商迅速开发支撑系统,满足电信运营商 对o s s 系统建设的需要,从而使o s s 系统设计、开发从满足个别运营商的个体需 求到分析电信运营商的整体需求的范围上来,进一步使o s s 系统的设计、开发进 入到一个崭新时代。贴近运营商需求,使系统开发变得更迅速、更灵活、成本更 低是n g o s s 的目标。 2 3 2n g o s s 思想 n g o s s 提出了基于组件的面向对象的分布式运营支撑系统解决方案。随着功 能封装、接口协议定义等组件开发方法被业界普遍认可,业务过程流、公共总线 结构、公共业务数据、n g o s s 组件等的研究也迅速开展起来。 ( 1 ) 业务过程流 n g o s s 将业务过程流从组件中剥离出来,使每个组件成为一个功能实体,从 而使得对单独组件的开发要求转变为对过程控制的业务逻辑要求。当改变业务过 程流,组件只需要完成公共协议中定义的接口功能。这样可以通过简单的流程定 义来改变业务流,而不需要修改应用组件。这样也使应用组件变得可以重新利用, 组件的开发变得更容易,灵活性更高。同时,n g o s s 框架允许业务流程的定制、 改造和优化,从而实现企业业务流程再造。 ( 2 ) 公共总线结构 5 点对点的系统集成方法要求每个业务都要有面向其它系统的接口,这使得 o s s 系统变得越来越复杂,并且难以维护和扩展。为了解决这个难题,n g o s s 引 入了公共总线的概念。通过公共总线,使原有的各个应用系统( 如网管系统、客 服系统、业务支撑系统等) 实现系统间的信息交换。通过引入公共总线结构,n g o s s 达到了各个组件相对独立、整个平台稳定可靠、系统有扩展性和灵活性的目的, 从而使n g o s s 能够高效整合数据、高效整合业务流程并适用于各种应用和异构硬 件环境。 ( 3 ) 公共业务数据 公共业务数据指在各种业务过程之间需要使用的业务信息和需要存储的业务 数据。在一个特定的业务过程中,多个组件会由于不同的目的,在同一时间使用 共同的信息。这样的信息需要从整个企业的层次定义,而不能从组件的层次定义。 通过这样的共享业务信息可以从公共的业务服务中抽象出各种组件的需求。应用 组件访问数据时,通过这些公共业务数据的服务接口来实现。数据物理存储层通 过一个或几个数据库提供信息的物理存储功能;数据访问层提供数据的访问控制, 保证系统数据的完整性、唯一性;信息服务层通过对数据增加业务定义,把数据 组合为业务信息;交易接口通过公共访问接口提供组件对数据的访问。 引入公共业务数据的根本目的在于信息的充分共享。一个单独的n g o s s 共享 信息模型将为大量的共享信息服务定义信息模型并提供公共框架。这些独立的模 型只在n g o s s 组件与信息服务之间相互作用,并且可以保证企业信息模型的一致 性。通过信息共享,实现信息在一定业务流程驱动下的动态交互,通过业务流来 驱动各部门、各应用系统之间的协调运作,从而实现企业自动化。 2 3 3n g o s s 组件 t m f 用组件的方法来构建n g o s s 系统。组件是包含数据的对象,是可用代 码的封装,这些代码可以用来执行应用程序的一些功能。一个软件组件是一段代 码,它用来实现一系列定义好的接口。组件不是完整的应用程序,它们不能被独 立运行。 n g o s s 的组件可以包括大的模块( 如计费模块、客服模块等) ,也可以是比 较小的模块( 如用户地址显示模块、用户总费用计算模块等) 。每个n g o s s 组件 必须声明组件功能与使用者的关系、组件功能及业务数据之间的依赖关系、组件 处理过程的层次关系、以及和其他组件的相互关系等。n g o s s 组件的供应商和完 成的功能可以完全不同,但每个组件必须满足确定的需求并且必须符合统一定义 的接口规范,这样,当一个组件被安装后,它的接口功能被加入注册表,提供系 6 统查询、选择和调用。如果重新定义了业务过程流,要使用已经完成的组件,通 过相应的组件接口就可以实现对业务过程的支持;如果开通新业务服务,将新的 组件接口加入注册表,通过选择、配置组件接口就可以完成对新业务的支持,从 而实现即插即用。 2 3 4n g o s s 结构框架 n g o s s 所强调的并不是一个或几个标准,而是一个体系概念和结构。在体系概 念和结构的指导下,规定和开发具体的标准和技术,在抽象模型和结构的基础上, 踏踏实实地研究和选择适用的分布、数据和信息共享等技术,以构造最有效的系 统和应用。技术体系中立性加上面向对象构件化的分布式结构,是n g o s s 完成端 到端管理、逐步演化和互联互操作的技术法宝。 n g o s s 的核心框架不使用任何特殊技术,这样即使使用新出现的技术构建新的 组件时,也无需在不同技术间建立接口,只需通过构造适当的适配器就可以实现 组件间的通信,从而保证了核心框架的有效性和连续性。要保证技术独立性,n g o s s 核心框架需要满足大量的约束条件。第一,不能指定任何特殊的通信协议;第二, 必须允许使用同步、异步、准同步的调用方式;第三,不能描述任何业务过程数 据;第四,不能指定任何实现语言;第五,必须描述交易如何定义和执行,共享 信息服务如何支持组件之间的相互通信。第六,必须定义技术独立的n g o s s 组件 如何实现过程中的组件管理接口,包括组件功能的监视、组件使用设备的监视以 及软件配置等组件管理功能。 虽然n g o s s 核心框架不使用任何特殊技术,但是在框架的实现过程中不可能 脱离技术。在n g o s s 解决方案中,任何基于技术的框架必须声明执行环境,从而 保证组件开发者开发的组件,可以在这种框架实现中的正常工作。技术独立框架 的各部分可以通过不同的技术手段实现,包括l 、c o r b a 、j a v a 、w e b 等技术。 不同的开发者可以综合考虑技术特点,选用自己认为最好的技术进行开发,但是 必须要满足核心框架的需求。 2 4 系统构架 管理信息模型结构模式是按三层模型数据服务层、应用逻辑层、表现层 构造的。数据服务层存储和提供系统所需处理的数据:应用逻辑层包括应用服务器、 各种应用开发组件和网络服务器,提供网络和数据处理的应用工具;表现层是利 用应用逻辑层提供的根据开发处的对用户的各种具体应用,结构模式如图2 - 1 所 7 j e 塞銮垣盍堂亟堂鱼迨塞巫旦熊盆 示: ! 一;磊一 i 一一 【j 蔓二:i 二二蔓二二l 图2 - 1 层次结构模式 f i g u r e2 - 1s t r u c t u r el a y e rm o d e l 系统的工作原理:数据服务层构成了一个存储、访问和管理数据的关系数据 库服务体系。用户对数据的访问请求,通过表现层的客户端软件提供的用户界面 输入,并经过表现层、逻辑层中的各种应用服务器转换为对数据服务器的请求, 数据服务层的服务器处理请求后,将结果通过应用逻辑层返回给表现层,再由表 现层输出用户所需的结果。 应用逻辑层主要由w e b 服务器组成。在表现层通过i e 调用,浏览网页信息, 简化日常办公的操作。 表现层主要包括各种客户端软件。表现层与逻辑层的通信协议采用h t t p 协 议,通过m ”r p 协议调用w e b 服务器的页面,调用应用逻辑层中的各种组件,完 成基于i n t e m e t i n t r a n e t 的m i s 、办公自动化等系统的各种功能。 2 5系统网络拓扑 为了保证系统的安全可靠性,数据库服务器、w e b 服务器均存取了双机热备 的策略。如图2 2 所示: 8 2 5 1安全服务器 图2 - 2 系统网络结构 f i g u r e2 - 2s y s t e mn e t w o r ks t r u c t u r e 防火墙从最初作为独立的安全设备部署在网络中,到现在可以通过集中管理 控制平台来实现对多台防火墙的统一协同安全防护和设备状态监控等管理。安全 服务器作为与防火墙相类似的网关级安全设备,其管理上也必然有相类似的管理 技术发展脉络。 安全服务器采用北京交大网通自行研制的n e t o n e8 l o o 。 该系统对网络通信进行完整采集、深层解析、应用重建,在网络间采用专用 非t c p i p 进行数据交换,同时,本系统对网络通信的主体、客体进行综合的认证, 9 靠的数据交换。此外,n e t o n e8 1 0 0 安全隔离与信息交换系统能够集成传统安全 技术,进一步增强系统的防护能力。通过使用n e t o n e8 10 0 安全隔离与信息交换 系统,用户可建立一套完整的具有高精访问控制能力的、可防范各种安全风险的 安全防护措施,确保用户信息系统安全、可靠地运行。 第3 章密码学基础 自从人类有了通信以来人类就希望能够有一些秘密的联系。几千年来,人们 已经设计了无数的隐藏数据的方法来使用。其中一种方法就是把有用的信息转换 成一些看起来毫无意义的文字。而授权接收者可以通过某种方法把这些文字转换 成原来的信息,以获得发送者的消息。而非授权者从这些文字中获取不到任何有 用的信息。用来把信息转换成无用的文字又能转换回来的机制有两大类:对称密码 和非对称密码。本章主要介绍这两类密码学的基本概念。 3 1 对称密码 3 1 1对称密码的概念 直到2 0 世纪7 0 年代中期,在公开文献中所提到的用来把有用信息转换成无 意义的文字并转换回来的唯一机制只是着重于加密和解密过程是怎样实现的。作 为一个简单例子,一种将有用信息转换成无意义的文字的方法是指定在原始信息 中的每一个字母由字母表中的前1 3 位的字母代替如a 代替n ,b 代替o ,m 代替z 等等,在这个例子中转换回来的过程也是完全相同的;n 的前1 3 位字母是八o 的 前1 3 位母是b ,z 的前1 3 位字母是m ,等等。 用密码领域中的普通术语来讲,确保这两次转换过程能顺利进行的共享秘密 信息( 上过例子中的1 3 ) 称为密钥。将有用信息转换成无意义文字的过程称为加密, 而将无意义文字转换回原来信息的过程称为解密,原来的信息称为明文,无意义 文宇称为密文。整个机密性机制( 也就是加密和解密算法) 称为密码。更迸一步来说 如果一个安全机制符合下面两条中的一条,就称为对称密码 加密密钥和解密密钥宪全相同 一个密钥很容易从另一个密钥中导出 在一些简单和复杂的事例中都有应用的对称密码已经存在了几千年,而且新 的对称密码也不断地被发明。比较早的例子是众所周知的r o t - 1 3 。更现代的例子 包括:d e s ,i d e a r c s ,c a s t 一1 2 8 等以及美国n i s t ( 国家标准技术研究所) 发起的 a e s ( a d v e n c e de n c r y p i o ns t a n d a r d ) 算法征集的最后结果r l j n d a e l 。 1 l 3 1 2 对称密码的缺点 对称密码有一些很好的特性,如:运行占用空问小,加解密速度能达到十兆 秒或更高,但对称密码存在明显的缺陷,包括:需要进行密明交换;规模复杂;同 以前未知的实体初次通信困难等。下面将分别讨论这几个缺陷。 需要进行密钥交换 为了安全,对称密码完全依赖于这样一个事实:在传送信息以前,信息的发送 者和授权接收者必须共享一些秘密信息( 密钥) 。因此。在进行通信以前,密钥必需 事先在一条安全的单独通道上进行传输,这附加的步骤尽管在某些情况下是可行 的,但在某些情况下会非常困难或极其不便。 规模复杂 举例来说,甲和乙两人之间的密明必须不同与丙和丁两人之间的密钥,否 则甲给乙的信息的安全就会受到威胁。在有1 0 0 0 个用户的团体中,甲需要保持至少 9 9 9 个密明,因为对其他的用户的情况也是一样,这样这个团体一共需要有将近 5 0 万个不同的密钥l ,随着团体的不断增大,储存和管理这么大数量的密钥很快就 会变的难以处理伍个用户的团体需要n n 2 个不同的密明,包括那些用户留给自 己的密钥) 。考虑到这些密钥不是永久性的密钥。为了防止用同一个密钥加密太多 的数据,这些密钥将会在一段时间内交换,情况就交得更难以想象了。 未知实体间通信困难 当两个通信实体互不相识时( 两个实体以前没有任何接触) ,需要一个秘密的 单独通道进行密钥交换这一步骤就会非常困难。甲需要和乙进行一次秘密交谈。 然而,如果甲没有和乙通信的历史,甲怎么知道和谁共享密钥以使秘密通信能顺利 进行呢? 也就是说,甲怎能确认和她共享密钥的人是乙而不是丙? 在两个以前没有任何接触的实体间需要一个“介绍人”这一基本问题,并 不是对称密码技术所特有的,它也在非对称密码技术中出现,但是,在这两种技 术中,解决方案却是截然不同的。 对成中心服务结构 通过应用基于对称密码的中心服务结构,上面所提到的问题有所缓解。在这 个体系中。团体中的任何一个实体与中心服务器( 通常称为密钥分配中心v , d c ) 共享一个密钥。在这样的一个结构中,需要存储的密钥数量基本上和团体的人数 数量差不多,而且中心服务器也可以给那些以前互不相识的实体充当“介绍人”。 但是,这个与安全密切相关的中心服务器必需随时是在线的( 因为只要服务一掉线, 实体间的通信将不可能进行了) 。这就意味着中心服务器整个通信失败的关 链和受攻击的热点,也意味着它还是一个庞大组织通信的“瓶颈”。 3 2非对称密码 非对称密码也称为公开钥密码。公钥体制创于1 9 7 6 年由w d i f f i e 和 m h e l t m e n 提出,同时r m e r k l e 于1 9 7 8 也独立提出了这一体制。这一体制的最大特 点是采用两个密钥将加密和解密能力分开:一个公开密钥作为加密密钥,一个为用 户专用,作为解密密钥。通信双方无需事先交换密钥就可进行保密通信。而要从 公开的公钥或密文中分析出明文和密钥,在计算上是不可行的。若以公开钥作为 加密密胡,以用户专用密钥作为解密密钥,则可实现多个用户加密的消息只能由 一个用户解读。反之。以用户专用密钥作为加密密钥而以公开密钥作为解密密钥 则可实现由一个用户加密的梢息而使多个用户解读。前考可用于保密通信,后行 可用于数字签名。公钥体制的出现在密码学史上是划时代的事件,它为计算机信 息网中的安全提供了新的理论和技术基础。 公钥加密算法有两个密钥:一个公共密钥和一个专用密钥。用户要保障专用 密钥的安全。公开密钥则可以发布出去。公共密钥与专用密钥是紧密关系的,用 公共密钥加密的信息只能用专用密钥解读,反之亦然。由于公钥算法不需要联机 密钥服务器,密钥分配协议简单。所以极大地简化了密明管理,除加密功能外公 钥系统还可以提供数字签名等其他服务。下面以r s a 公开密码算法为例解释公开 密钥密码的概念。 3 3r s a 公开密钥算法 r s a 3 1 公钥密码体制是由美国m i t 三位学者r l r i v e s t ,a s h a m i r , l a d l e m a n ,1 9 7 8 年在他们的著名论文“m e t h o d f o r o b t a i n i n g d i g i t a l s i g n a t u r e sa n d p u b l i c - - k e yc r y p l o s y s t a m s ”提出来的。该体制的名称是由他们三人英文名字的第 一个字母拼合面成,并创立了若名的r s ad a t as e c u r i t yi n c 公司。 r s a 公钥密码理论基础【4 】是数论中的下列论断:求两个大素数的乘积,在计 算机上能很容易地实现,但是若将一个大合数分解成两个大素数之积,在计算机 上却很难实现。r s a 公钥密码体制的核心是大数幂剩余计算,其安全性是基于大 数分解的困难性。 算法要点如下: 找两素数p 和q 取n = p + q 取t = ( p - 1 ) “一1 ) 取任何一个数e ,要求满足e 真假 是满足以下条件的两数:对每一个x e p 和每一个y a 有v e r k ( x ,y ) 一真,当且仅当 y = s i g k ( x ) 。 i e 塞銮重厶堂亟堂僮i 金塞! i ! l 控住拉苤 第4 章a c t i v e x 控件技术 加纳预付费电表管理系统中的数据传输,包括智能卡中数据传输及服务器与 浏览器之间的数据传输,运用到了a c t i v e x 中的方法。本章介绍a c t i v e x 控件及在 此基础上实现的一个数字签名。 4 1概述 a c t i v e x 控件是一种能够被服务器程序调用或直接嵌入w e b 网页的组件程 序,可以实现与其它组件或服务器的通信和数据交换它是以c o m 和o l e 技术为 基础的。本章将对有关的技术如c o m ,d c o m ,o l e 和a c t i v e x 控件的原理、开发 与使用作一介绍。 4 2c o md c o m0 l e 与a c t i v e x 4 2 1组件 在软件开发中一般将一个程序分成一些功能上相对独立的模块,然后组合起 来。在使用模块的功能时,传统上将它们放在函数库中,通过应用程序接n ( a p i ) 调用。这种方式存在一些缺陷: ( 1 ) 一般只能支持某种特定的编程语言。 ( 2 ) 参数表中各项数据的顺序和类型是固定的,调用时不能出错。 ( 3 ) 在同一个标准a p i 后面可能有多个开发者实现的不同模块,a p i 的扩展 或更新可能会造成实现的不一致。 ( 4 ) 模块之间的通信困难。 二十世纪九十年代面向对象的程序设计技术开始兴起,通过将数据和功能封 装在类中,代码的重用程度得到提高,减少了编程的劳动强度,加快了软件的开 发速度。但这种软件重用只限于源程序级,而且一般要求用相同的语言实现和使 用类。近年来网络应用的发展,特别是i n t c m e t 的普及,对应用软件的跨语言、跨 平台和互操作性提出了更高的要求。面向对象方法由于无法使用标准的框架使来 自不同开发者的软件相互通信,已不能很好地满足这些需要。在这种情况下,组 件化程序设计的思想逐渐发展起来。这种思想同样是将一个软件分成多个模块, 这些模块不是函数或类,而是组件。一般来说,它们具有以下基本属性: ( 1 ) 组件是软件的基本量子,具有一定的功能,可以插用和维护。 ( 2 ) 组件是软件开发中可替换的单元,并作为一个大单元的组成部分与其它 组件相组合 ( 3 ) 组件是具有特定功能的、独立的对象。能够跨越进程边界,实现在网络、 语言、应用程序、开发工具和操作系统中的即插即用。 ( 4 ) 组件是指任何可被分离出来,具有标准化的、可重用的公开接口的软件。 使用组件有如下一些优点: ( 1 ) 对软件的需求发生变化时,程序的修改或升级只需修改或替换有关的组 件,出现错误的可能性也被限制在这些局部范围内,调试和测试比较方便 ( 2 ) 可以在可执行代码级集成和重用,组件修改后不用改变便用它的程序 ( 3 ) 组成软件的多个组件可以并行开发。 4 2 2c o m c o m 与接口【s l 使用组件模型开发的软件被称为组件软件,将所使用的多个组件结合起来, 互相配合需要依靠“接口”。 所谓c o m ,即组件对象模型( c o m p o n e n to b j c c tm o d e l ) , 是m i c r o s o f t 提出的 一种以软件复用为目的的技术规范,定义了用不同编程语言开发、在不同平台运 行的各个对象之间通信的二进制标准。用这个规范开发的组件定义了若干接口, 其它程序通过接口访问它提供的功能( 服务) 。 接口具有如下特点: ( 1 ) 接口不是类,不能实例化。 ( 2 ) 接日不是对象。 ( 3 ) 接口有唯一性,每个接日有自己唯一的标识符( 1 i d 即1 2 8 b i t 的g u i d ) ,以保 证不与其它接口冲突。 ( 4 ) 接口是不可变的,发布之后不能改变。对它进行修改或增加、删除功能 之后要作为新的接口发布,指定新的i d 所以在开发时要慎重考虑。 接口名通常以”l ”为前缀。在接口中定义有一组逻辑上相关的函数集合它 们也被称为接口成员函教。在c o m 模型中对象对客户是不可见的,客户访问 组件的功能时通过接口的l i d 获得接口指针,再通过该指针访问虚拟函数表( 即 v i a b l e 或称v t b l ) 取得其成员函数的指针。 接口的基本类型包括 ( 1 ) i u n k n o w n 接口:这是c o m 组件唯一必须实现的接口,所有其它接口从 它继承。对v t a b l e 的唯一要求是其第一个字段应为i u n k n o w n 的指针。它包含三 个方法:a d d r e fr e l e a s eq u e r y i n t e f f a c e ( 2 ) i d i s p a t c h 接口:该接口包含的函数允许访问c o m 对象的方法与属性,使 v b 和其它一些脚本语言可以对它们进行操作。 ( 3 ) 自定义接e 1 与双接e h 自定义接口是系统还没有支持的接口。a u t o m a t i o n 对象实现i d i s p a t c h 和v t a b l e 接口时被称为双接口组件,这时v i a b l e 中前三项是 i u n k n o w n 的成员函教指针,接着是i d i s p a t c h 的四个成员函数的指针,后面是双 接口的成员函数指针。所有的v b 组件都支持双接口。 开发接口时需遵循以下规则: ( 1 ) 设计为远程使用,支持分布式处理,除非只用于进程内组件。 ( 2 ) 从i u n k n o w n 派生。 ( 3 ) 生成唯一标识符。 ( 4 ) 发布后不能改变。 ( 5 ) 除i u n k n o w ,的a d d r e f 和r e l e a s e 外接口成员函数应返回h r e s u l t r p 状态码,除非接口不用于远程使用。这是为了向方法调用者返回状态或错误信息。 ( 6 ) 字符串参数应为u n i c o d e 字符串。 c o m 对象 对象是类的实例,它如果符合c o m 规则就是c o m 对象,而c o m 组件是符合 c o m 规则并编译成二进制形式的对象集合。这里需要说明的是c o m 组件不是必 须用面向对象的方法设计与实现。 c o m 对象的类型有: ( 1 ) c o m 客户机,是应用程序或编程工具,操作使用一个或几个c o m 对象 这些对象可以在同一应用程序或不同应用程序中。客户机可以使用已有对象的方 法或属性,也可以生成新的实例。 ( 2 ) c o m 服务器:提供服务的c o m 对象如果与客户机在同一进程空间运行, 被称为进程内服务器,一般以d l l 形式实现。有较高的访问效率,缺点是组件自 身的缺陷可能会危及宿主进程的安全:如果与客户机在不同进程空间运行,被称为 进程外服务器,一般以e x e 形式实现它的访问效率不如进程内运行方式,开销较 大。但可以被多个客户程序并发调用。进程安全性也较好,这时c o m 服务器与客 户机之间的l p c 或r p c 是通过各自进程中的存根d l l 和代理d l l 完成的,这些 功能由操作系统提供,开发人员不必考虑,即实现了进程透明。 ( 3 ) a c t i v e x 控件:作为进程内服务器运行,可以用于各种o l e 容器。它与 c o m 进程内服务器的区别在于有用户界面,其功能只能用在o l e 容器中。 c o m 提供被称为列集( m a r s h a l i n g ) 和散集( u n m a r s h a l i n g ) 的机制,即对l p c 和r p c 的参数、返回值进行打包和解包操作,以实现跨进程或跨机器的函数调用。 组件模块的装入或组件进程的启动由c o m 库完成。如果是远程组件,则 两边机器上的c o m 库协同完成组件对象的创建,井在客户进程中建立一个代理对 象,负责与客户交互。c o m 库创建c o m 对象是通过类工厂实现的,这是一种特 殊的对象支持1 c i a s s f s c t o r y , 每个c o m 类都有一个有关c o m 组件及其接q 的信 息如存放位置等保存在系统注册表中,c o m 库根据对象的c l s i d 从该表中取得 这些信息。完成创建工作把接口指针返回给客户。 c o m 对象的生存期通过引用计数机制控制。客户机访问某个接口时,a d d r e f 方法将引用计数加1 :访问结束时r e l e a s e 方法将引用计数减i 并在值为0 时卸载该 对象。 在开发c o m 组件时会用到可连接对象、结构化存储与复合文档、永久对象、 命名与绑定、统一数据传输等技术,一般可由d e l p h i 等开发工具自动实现。 4 2 3d c o m 标准的c o m 组件与客户程序在同一机器上运行,d c o m ( 日 j 分布式c o i ) 组 件可以在不同机器上运行,通过网络用于分布式应用环境。 使用d c o m 的优点是: ( 1 ) 组件一次性编写完成后可以让多个编程人员使用。 ( 2 ) 组件改变时可以在服务器上一次性替换。不必到各台客户机上替换,所有 客户机都得到更新。 同c o m 对象相似,d c o m 对象与客户之间也按照客户服务器模型交互可以 在分布式应用系统中实现多层结构。一般来说,客户机调用服务器上的d c o m 对 象,由它们完成数据库访问或复杂的数据处理工作,再把结果返回。这种结构可 以减轻客户机的负担,提高系统的整体性能,对于软件的安装、维护、培训等也 有好处。d c o m 使用r p c 实现分布式的功能这一过程对应用程序开发人员是透明 的,即所谓位置透明。 与c o m 组件类似,d c o m 组件也需要注册后才能使用,这时地址信息包括 它所在的计算机上。同时有关安全性的问题必须考虑,如谁能访问对象、允许对 象进行哪些操作、消息在网上传送时如何保护它的内容等 4 2 4o l e o l e ( 对象链接与嵌入1 是一组服务功能,用于从不同程序的信息创建复合文 档。这些信息包括文字,图形、声音和视频等。 o l e 2 0 中的自动化( a u t o m a t i o n ) 可以让某个应用程序访问其它应用程序的功 能,其中访问者称为自动化控制器,被访问者被称为自动化服务器。这种机制的 优点是语言无关性即一个控制器可以访问用不同语言开发的服务器。一个自动化 对象是实现了i d i s p a t c h 接口的对象。 4 2 5a c t i v e x a c t i v e x l 9 】是m i c r o s o f t 在1 9 9 6 年提出的,是一个商标书称。用来标识以c o m 为基础的非o l e 技术,包括自动化、a c t i v e x 控件、a c t i v e x 文档、a c t i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论