Java安全性的演变和理念_第1页
Java安全性的演变和理念_第2页
Java安全性的演变和理念_第3页
Java安全性的演变和理念_第4页
Java安全性的演变和理念_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

Java安全性的演变和理念第部:安全的基本要点本系列章将供对网络安全一般解开人员所必掌握的Java编语言的独特性的连载讨论平台安性的计和演变不同的Java安全今后的章还讨论Java2,的全特性正迅变为.com平台首选。虽然,入了密码学对读者数学平来说一个挑战但第一篇章概的是网络安全密码的基本念,而这是非常简,极易掌的又参阅论AES和密钥长对安性的重性的题。在最近几十内模型发生巨大变化这些变化了大规电子商务与电交易统应用序安全的大需求近对几个受迎站的大量绝服务击所表的那。尤其是对于Java团体,随着Java作为因特编程事实上的标准台出现安全移动Java代码的能已成基本要求。本文是列文中的第一篇,论计机安全密码学的般概念。然可动代码并不是个革性的概,但因特给计算安全带来一些同寻常的挑战系结构的演及其安全的影响、同的全API和具软件以及安全等等,在随的文章中讨论此安全论文列并不打算提计算安全问的综合指。计算机全是个多层面的问,它及若干科、部门文化。技投资后,着就该着手培训、格的略强制行和总体安全略的期审查。:有关算法展的详细信息请参专十一纪的加算”;有密钥长在安全性的重要性讨论,请阅专密的长度是否重”。什么是计算机安?要从总上理什么是计算机全,必要考一下安全日常生活意味什么。我们将到,常生活的一般安规则同样用于计算安全的局限性有没有对计机安全这样的情?句话,有这样的情。术语安全系个不恰当的称,因为它暗了系要么是安全的要么不安全。安全实上是一种衡。果提供的资源是限的则任何形式的全都遭到破。尽管攻者可用来施攻的资源越来越,但现实世中,这些源仍然是限的。考到这点,我们应该样来计所有统:让攻击者破坏些系统所付出,远大于破之后他们能得到的全什么是到端安全?在一个层系中,每层都应该其自身的全,且与其他层协一致为汇集一起的不系统和中件设计安,是个相当大的挑。简地说,统安全的程度相当最弱的一环的全程;除非按端到端观点考虑全,则安全随时可遭到坏。一个复的安设计会起作用?乍起来授权户访问统的佳方法也许是设计个非常杂的安全案,但事并非如此不仅计复杂的安全统的成本使不敢问津而且,是这安全系统太复了,怕连合用户也难进入。另方面简单系统更容理解也更容分析。计需要安有可能安全行翻新吗?答是,几乎是可能的。很多情况,翻安全而不必重设计统的实性部分,能是不现的。在几所有情况下,翻新成本常昂贵因此,安全从不应事后考虑的事--一开始就必须是统设计的可分的一部分。计算机安全的基知识了解这一些容是有用的:算机全的防对象、相的防御机,以与计算机安全关的同术语威胁--计算机安全的击--大可以分以下几类

:利用加密法中弱点或以其他式,图窃取密信息。:出于自私恶意试图修改信息应该意的是完整性攻也可以是然的。:试图中断统的常运行。可用攻击称拒服务攻击,后者最近行的术。几种攻归属上面提到的一或几类别。例包括:

攻击常指索每一钥匙,直用正确的一把开门为止。尽这似是一项价昂贵的作,但实上,过使用专门的具对索进行细安排,可能的。攻击以敌不易察觉的方插入个内线计算机病就是常见特洛伊木攻击例子。攻击在双方不道的情况,中途截他们通讯信息,而方以他们在常通讯。其他的击包:生击、字击、合攻击(meet-in-the-middleattack)等。(更面的讨论请参参资料中AppliedCryptography。)为抵御安全威胁,有各种样的护机制在历史上防御机制经包设置某墙”或边界,通常称边御。

防墙周边防的一个相当成的示,将内(专用)络与外部公用网络分隔开,为公策略提中央控制。然而,火墙益允许各种精形式通如--穿过它。虚专网(VPN),尽仍然使用享网,但它提供的全级与专用络相同,另一个防物示。密其相关领域码与加和解密息的算法计及析有关。在下的几中,我将讨论密学与安全间极其重的关。机保护数据免未授的一个多个用户问的方法简单地说就是有预定的消息收人能够弄这一消息如果您在与人交换敏感信,您望绝对保只有预的消息接人才以弄懂此消息如果入非预的人手中此消息实上将变成用的西。机密性是某种式的加技术来实现的认过程认用的身份。用户以是个软件体,也可是一个人托其身已被验的一方,委托相关联的是一凭。通常,认证据一仅用户认证知道的机密信息--如口令--来确认身。除口令以,更复杂安全方案将诸智能卡或生物计法指纹、网膜扫描等等)之的高级技用于证。一旦建了认,在实施中对户(者更一的说,委人)的访访问控控制。--基于密钥和加--展了一种期认证技。这种技使用间戳--在一个规定时段内会话保有效--来实这一点为了正常作最根的一点,假定分布系统的时钟是同步。公密基结,代一种更普遍认证解决方案将在面的几中讨论。框架以基于用户的证和问控制能补充Java2平是2,v的标准扩展。比如说发送张电子支票。银行终收到支票时,需要弄清付款额有没有被篡,这是称为完整安概念在上述电子票示例中,如您确发送了支票,就该没有办再否它不可可否认的为证,如给接收人数据原始证或给发送的数据收。保存已予或拒绝的资源访的记,可能助于日后审计工作就此的而言审对于防止非法入或事对非法入侵进分析是大有处的。控制安全策着重制对保护数据访问安全执机制应该够灵活以行策,这一点至关要。称为保策略与机相分离。管作出该策的据可能是,按委托身份来权访问某一资,但,根据理访问控制通更为易。每委射到一的一角色,以到控访问的目的。常这来实现用一个列或矩阵,举不同的拥有的对同保资源的访问权2Platform使用基角的来执行策略考虑到一点,在中,业务逻的开发人员根角色限制对定功能的问。密码学:密书写的科虽然密学和算机安全是两截然同的主,但是计机安全在多方都依赖于密码。Java.securityJavax.crypto与几个心包起提供了一些Java的加功能。.ssl外,包在必要时用来建安全接字递机密信息。

是主要包,的某些功能部受出控制法控制。此下一步让我了解一些与密学有的概念密分学学正好反,解码或击秘密编信息而无访问钥的艺术。密分析已经使理论性攻发现了许算法中的全漏,并导致了算的废或重大改。密码分析学分析验证算法,使法更安全方,起着关性作用。有几种算法可以密信息一种简单算法能要将消息的符轮13个位--为。虽然是不全的(因为原消息容易解),但是仍然普遍于虽安全但毕竟是加密的消息传送。如果以十九世纪所做工作基础,密码系统安全应该全基于密的保,而不是基于法的密。密,再加上过充分测和分析的法,用密码学方法成安的系统相应,许多广泛流的算可用于众审查。许多算法做的码分析学工作致了算法的干修改,而使它们功能更强。:有关设计一代加密标准过程信息,参阅第一。数单向散函数H(M)对一则意长度消息进行理,并返一个具有定长散列值:

h=,hm这一算的安源于其向而不其内部工作方的保性。更格地说具有以属性

给定很容易计出给定h很难计算满足=h的M给定很难找到则消,使得H(M)=散列法数字名的基本部分将在面讨论RSA的设了MD4(消息摘)和MD5RSA一家安公司名称,它由该司创人、Adi姓氏首字组成和MD5产一个128位散列。SHA安全列法算),由ofNational联设计,它产生个160散列,于字签算(DSA)。,某些文献中简为SHA,发表的修订版SHA和都是全列一部,与数系列有共同处和SHA是单向散函数的一示例。作为一例子根据MD5算法为外类似的消生成下面的128位列。表1.使用MD5散列原始消

散列值用十六进制示)afoxjumpedovera13b5eeb338c2318b790f2ebccb91756fdogaquickbluefoxjumpedoveralazy32c63351ac1c7070ab0f7d5e017dbceadogadogjumpedoveraa4c3b4cd38ade6b5e2e101d879a966f5fox对于任长度消息,此算法将生一个代该消息的定长度的列。表1以清楚地看出即使微修改息,也会改其散列要找散列值相同的个替消息,是一件耗费时间事情到目前止,们已经讨论了使用钥的单函数。另方面认代一种用密钥单向数,可以用它在系上或用之间认证件或消息(用于消认证的钥散法)就是这种数的个例子对密密钥联合应时,换为密也可使用同钥将密文恢为明文。所谓称性即指加密和解使用全相同密钥。加和解密有个相的函数,如下所:=kM明文C密文k=k

k它们具基本属性:

D

k

(E

k

(M))=M给定一设计好的算法,则程的全就在密钥的保。因此,称密的主要挑战在密钥分布形--通双方如共享同一钥?同的是,非对密码不使用一密钥。反,它依赖个广泛可用的自由布的公密钥。使用专密钥加密通常比使公用钥的加速度快。一个混合密码统中,用于会的专密钥称会密使公用钥建立,通双方将会话密用于话的其部分。这是一形式密钥交换。其形式密钥交使用更安的通道来换专密钥。可以将称密分类为密块密流密码对位或字流进行作,块密码则对一位进操作。文中的本区别是,果使用块码的一密钥进行加,则同的明块将加密为同的文块;而在使流密时,则次加密时将明文块密为同的密文块。大多数算法符合

网性,这味着于加密和解密算法相同的仅在密钥应用面存在一些差。有几种作模模可以强加密还可修改对称密码特征例如,过使用适的模式,以使个块密码的行与一流密码似。下面出的是几重要的模:

电子食模式(ECB)密码块接密码反模式(CFB)输出反模式(OFB)有几种密码其中包括据密(DES)DES将由级密代替请参阅专题:二十一世纪加密)。同3DES或DESede,是对DES的改进,在采用之前替代DES。在,加密过程是用不的密钥次进行编、解码和码的理,有效地增了密的长度与加密解密使用相同密钥对称码不同非对称密以如下方使用同的密钥:=k1k1=k2k2非对称码具以下的基本属:k1=Mk2在非对密码,通讯双方不共享一密钥然而,密k1和k2数学是相关,以便使密和密处理相关联专用密钥非对称钥密又称为用钥码它们涉及用概念公用密是可自由用的,而用密是一个秘密。一个户网络,每个用都有其自的公密钥,这些密钥在个通可访问的目录发布在二十纪七年代中期和一起一人,别引入公用密钥码学公用密钥算法安全于以下程的难度在不知道钥的情况下,密出明以及公用密推断出专密钥。了解下这一是很重要的:大多文献中公用密钥专用密钥讨论能是模糊不清,因许多文看起来是相同的密用于加密解密但是在讨论中含了样的事:它们所说的钥,个是专用密钥另一是公用钥。

要注意另一是,在使用多算法,要求用多个密,因为密对算来说是唯一的下面将论的字签名和证书依赖用密钥码学。数签,像实际生活中签名提供发人可靠性消息完整的证。数字签名可可”--发人无法认他(或)已签名。数字签要成就必须可伪造并可重用,而已签的文档必须是可修的。基本的字签协议是:

发送人/的专用密钥加文档并隐式在文档上名消息发接收人发送的公用密钥解该文,从而证该签名由于在文档签名很费时,此通只在消的散列上名。单向列和字签名算法被认为先验的原始消息签名一起送。接收用发人的公用密钥密散,并将与由收到的消生成散列相对照,验证名。下的图说明签名的成和证过程该方还有一个好处即将档和签分开。1.数名请注意消息用散列算法生一个定长度散列,然加密该散以生签名。这些签有时为数字为它们一地代表始消。使用数签名不保证机密性因为息是作明文发送。为了进步保机密性,而不发送文消息可以用发人的专用钥对它进加密此过程如2所。2.加数字签名数字签有几算法,如签名RSA或数字签算法(DSA)。RSA算都可用于加和数字签。不的是数字签标准的一部分,只能用于字签,不能用于加。如希望加,则必须其他的加算法联使用。下面的2简明地总了目前讨论的所有不同加算法各种特,并对每种算法提了一些示。表2.加密法总问

安全属加密算

简要说

安全属

示例

性单向散列

生成长度固定的唯算法的单向性

签SHA、MD4、

函数消息认证代码(MAC)

一签名使用密钥的单向函算法的单向性数

名MD5冲突签HMAC名冲

认证突对称密码

用同一密钥加密和密钥长度和算解密法

密DES钥分

认证整性密性布非对称密加密和解密使用不码(公用密同的(公用的和钥密码学)用的)密钥。很容易获得公用密钥。

密钥长度、算法以及从公用密钥推断专用密钥的难度。

信RSA、任ElGamal问题

认证整性数字签名

为认证而生成散列单向性和密钥消息,并用发送人长度的专用密钥加密

无DSA、RSA保密

认证整性性带加密的数字签名

消息签名、并用接签名加密算法信收人的公用密钥加和密钥长度任

数字签名和密码的

认证整性和密

组合

机密性题由于数签名赖于公用密钥完整证如何确他们获得公用钥不是来自某冒名替者呢而且证发送人的同何能够确保发人值信任呢这些问的解方案就是证书由共信任的三方或证管理机构颁证书CA不仅有用密,还有用户的他信。证书有一个有期。颁发构用的专用密钥在书上签名。过程含一个假定,公用密钥是广可用和真实的。公用密证书

标准为础的一些示例括(在由VeriSign有,

javax.security.cert

程序包提证书持。基础结构较新的用密基础结构因来源不同有几种含义点认为PKI是指信层次构和公密钥证书一种点则认为它还括加和数字名服务解决了几个与密钥有的问,包括密钥的册、消、选、恢复,等。安全性标表3出了许多标准一些准是互的,另一标准与上提到的算和标无关。这些标旨在够使用市产品提安全性。表3.安全标准示例表)协议准IPSec(IPSecurity)

简要说IP数据报层的基

相关算DES、3DES、DH、MD5、

OpenPGP(OpenPre

温馨提示

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

评论

0/150

提交评论