第一章信息安全的基本属性主要表现在以下几个方面:1.完整性--信息在存储或传输的过程中保持未经授权不能改变的特性2.保密性--信息不被泄露给未经授权者的特性3.可用性--信息可被授权者访问并按需求使用的特性4.不可否认性--所有参与者都不可能否认或抵赖曾经完成的操作和承诺5.可控性--对信息的传播及内容具有控制能力的特性信息安全威胁指某个人、物、事件或概念对信息资源的保密性、完整性、可用性或合法使用所造成的危险。安全威胁被分为故意的和偶然的:故意的威胁如假冒、篡改等。(可以进一步分为主动攻击和被动攻击)。偶然的威胁如信息被发往错误的地址、误操作等。安全是相对的,不安全才是绝对的”1、新版中国铁路客户服务中心12306网站在上线第一天,就被发现存在漏洞。2、腾讯7000多万QQ群数据公开泄露。3、超级网银曝授权漏洞。4、“棱镜门”事件爆发美国国家安全局和联邦调查局通过进入微软、谷歌、苹果等九大网络巨头的服务器,监控美国公民的电子邮件、聊天记录等秘密资料。一个完整的信息安全系统至少包含三类措施:技术方面的安全措施,管理方面的安全措施和相应的政策法律。信息安全技术涉及到信息传输的安全、信息存储的安全以及对网络传输信息内容的审计三方面,也包括对用户的鉴别和授权。信息安全技术1.信息加密2.数字签名:签名过程、验证过程3.数据完整性4.身份鉴别:通常有三种方法验证主体身份。一是只有该主体了解的秘密,如口令、密钥;二是主体携带的物品,如智能卡和令牌卡;三是只有该主题具有的独一无二的特征或能力,如指纹、声音、视网膜或签字等。5.访问控制6.安全数据库7.网络控制技术:防火墙技术、入侵检测技术、安全协议……8.反病毒技术9.安全审计10.业务填充11.路由控制机制12.公证机制信息安全管理主要涉及以下几个方面:人事管理;设备管理;场地管理;存储媒体管理;软件管理;网络管理;密码和密钥管理。第二章密码学中常见的有两种体制:对称密码体制(单钥密码体制)、非对称密码体制(公钥密码体制)分组密码是指将处理的明文按照固定长度进行分组,加解密的处理在固定长度密钥的控制下,以一个分组为单位独立进行,得出一个固定长度的对应于明文分组的结果。属于对称密码体制的范畴。DES算法描述DES使用56位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。在每轮编码时,一个48位的“每轮”密钥值由56位的“种子”密钥得出来。DES算法的入口参数有三个:Key、Data和Mode。Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。64位明文变换到64位密文,密钥64位,实际可用密钥长度为56位。初始换位的功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位:例:设置换前的输入值为D1D2D3......D64,则经过初始置换后的结果为:L0=D58D50...D8;R0=D57D49...D7。不过这些破译的前提是,破译者能识别出破译的结果确实是明文,也即破译的结果必须容易辩认。如果明文加密之前经过压缩等处理,辩认工作就比较困难。通信的一方利用某种数学方法可以产生一个密钥对,一个称为公钥(Public-key),另外一个称为私钥(Private-key)。该密钥对中的公钥与私钥是不同的,但又是相互对应的,并且由公钥不能推导出对应的私钥。选择某种算法(可以公开)能做到:用公钥加密的数据只有使用与该公钥配对的私钥才能解密。公钥加密算法的核心——单向陷门函数,即从一个方向求值是容易的。但其逆向计算却很困难,从而在实际上成为不可行。RSA是一种比较典型的公开密钥加密算法。算法内容(1)公钥选择两个互异的大质数p和q,使n=pq,ϕ(n)是欧拉函数,选择一个正数e,使其满足ϕ(n)=(p-1)(q-1),(e,ϕ(n))=1,ϕ(n)1,则将Kp=(n,e)作为公钥。(2)私钥求出正数d使其满足e*d=1modϕ(n),ϕ(n)1,则将KS=(d,p,q)作为私钥。(3)加密变换将明文M作变换,使C=EKP(M)=MEmodn,从而得到密文C。(4)解密变换将密文C作变换,使M=DKS(C)=Cdmodn,从而得到明文M。RSA算法举例(1)设计公私密钥(e,n)和(d,p,q)。令p=3,q=11,得出n=p×q=3×11=33;f(n)=(p-1)(q-1)=2×10=20;取e=3,(3与20互质)则e×d≡1modf(n),即3×d≡1mod20。当d=7时,e×d≡1modf(n)成立。因此,可令d=7。加密密钥(公钥)为:Kp=(e,n)=(3,33),解密密钥(私钥)为:Ks=(d,p,q)=(7,3,11)。(2)英文数字化将明文信息数字化,并将每块两个数字分组。假定明文英文字母编码表为按字母顺序排列数值(3)明文加密用户加密密钥(3,33)将数字化明文分组信息加密成密文。由C≡Me(modn)得:因此,得到相应的密文信息为:11,31,16(4)密文解密用户B收到密文,若将其解密,只需要计算,即:用户B得到明文信息为:11,05,25。根据上面的编码表将其转换为英文,又得到了恢复后的原文“key”。在单钥密码体制中,按照加密时对明文处理方式的不同,可分为分组密码和流密码。流密码亦称为序列密码,是将待加密的明文分成连续的字符或比特,然后用相应的密钥流对之进行加密,密钥流由种子密钥通过密钥流生成器产生。密钥流可以方便地利用以移位寄存器为基础的电路来产生。特点:实现简单,加密速度快,错误传播低。原理:通过随机数发生器产生性能优良的伪随机序列(密钥流),使用该序列加密信息流(逐比特加密),得到密文序列按照加解密的工作方式,流密码分为同步流密码和自同步流密码。电子信封技术对称密码算法,加/解密速度快,但密钥分发问题严重;非对称密码算法,加/解密速度较慢,但密钥分发问题易于解决。为解决每次传送更换密钥的问题,结合对称加密技术和非对称密钥加密技术的优点,产生了电子信封技术,用来传输数据。(1).当发信方需要发送信息时,首先生成一个对称密钥,用该对称密钥加密要发送的报文;(2).发信方用收信方的公钥加密上述对称密钥;(3).发信方将第一步和第二步的结果传给收信方;(4).收信方使用自己的私钥解密被加密的对称密钥;(5).收信方用得到的对称密钥解密被发信方加密的报文,得到真正的报文。电子信封技术在外层使用公开密钥加密技术,享受到公开密钥技术的灵活性;由于内层的对称密钥长度通常较短,从而使得公开密钥加密的相对低效率被限制在最低限度;而且由于可以在每次传送中使用不同的对称密钥,系统有了额外的安全保证。分组密码的工作模式:电子密码本模式(ECB),密码分组连接模式(CBC)模式,密码反馈模式(CFB)模式和输出反馈模式(OFB)模式。第三章Hash函数一般满足以下几个基本需求:(1)输入x可以为任意长度;(2)输出数据长度固定;(3)容易计算,给定任何x,容易计算出x的Hash值H(x);(4)单向函数:即给出一个Hash值,很难反向计算出原始输入;(5)唯一性:即难以找到两个不同的输入会得到相同的Hash输出值(在计算上是不可行的)。MD5即Message-DigestAlgorithm5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一,主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被压缩成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。MD-5算法的步骤(1)首先填充消息使长度恰好为一个比512bit的倍数仅少64bit的数。填充的方法是附一个1在消息的后面,后接所要求的多个0,然后在其后附上64位的填充前的消息长度。这样可对明文输入按512bit分组,得。其中,每个为512bit,即16个长为32bit的字。(2)128bit的输出可用下述四个32bit字:A,B,C,D表示。其初始存数以十六进制110,,LYYY表示为:A=01234567,B=89ABCDEF,C=FEDCBA98,D=76543210。(3)算法的主循环次数为消息中按512bit进行分组的分组数,每次对512bit(16-字)组进行运算,Y表示输入的第q组512bit数据,在各轮中参加运算。为64个元素表,分四组参与不同轮的计算。的整数部分是,是弧度。T[i]可用32bit二元数表示,T是32bit的随机数源。MD-5是四轮运算,每轮输出为128bit,每轮又要进行16步迭代运算,四轮共需64步完成。a,b,c,d即缓存中的四个字,按特定次序变化。g是基本逻辑函数F,G,H,I中之一,算法中每一轮用其中之一。CLSs是32bit的移位寄存器,存数循环左移位。第一轮={7,12,17,22}第二轮={5,9,14,20}第三轮={4,11,16,23}第四轮={6,10,15,21}为消息的第(512bit)组中的第个字(32bit)。每次将A,B,C,D分别加上a,b,c,d,然后用下一分组数据继续运行算法,最后输出是A,B,C,D的级联。数字签名在信息安全,包括身份认证、数据完整性、不可否认性以及匿名性等方面有重要应用,特别是在大型网络安全通信中的密钥分配、认证及电子商务系统中具有重要作用。数字签名是实现认证的重要工具。数字签名的特性签名是可信的:任何人都可以方便地验证签名的有效性。签名是不可伪造的:除了合法的签名者之外,任何其他人伪造其签名是困难的。这种困难性指实现时计算上是不可行的。签名是不可复制的:对一个消息的签名不能通过复制变为另一个消息的签名。如果一个消息的签名是从别处复制的,则任何人都可以发现消息与签名之间的不一致性,从而可以拒绝签名的消息。64,,1TiTiabssin232签名的消息是不可改变的:经签名的消息不能被篡改。一旦签名的消息被篡改,则任何人都可以发现消息与签名之间的不一致性。签名是不可抵赖的:签名者不能否认自己的签名。数字签名可以解决否认、伪造、篡改及冒充等问题,具体要求为:发送者事后不能否认发送的报文签名接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的报文签名、接收者不能对发送者的报文进行部分篡改网络中的某一用户不能冒充另一用户作为发送者或接收者。公钥加密使用公钥算法进行数字签名的最大方便是没有密钥分配问题,因为公钥加密算法使用两个不同的密钥,其中有一个是公开的,另一个是保密的。公钥一般由一个可信赖的认证机构(CA:CertificationAuthority)发布的,网上的任何用户都可获得公钥。而私钥是用户专用的,由用户本身持有,它可以对由公钥加密的信息进行解密。用对称加密算法进行数字签名(Hash签名)该签名不属于强计算密集型算法,应用较广泛使用这种较快Hash算法,可以降低服务器资源的消耗,减轻中央服务器的负荷Hash的主要局限是接收方必须持有用户密钥的副本以检验签名,因为双方都知道生成签名的密钥,较容易攻破,存在伪造签名的可能用非对称加密算法进行数字签名和验证1发送方首先用公开的单向函数对报文进行一次变换,得到消息摘要,然后利用私有密钥对消息摘要进行加密后附在报文之后一同发出。2接收方用发送方的公开密钥对数字签名进行解密变换,得到一个消息摘要。发送方的公钥是由一个可信赖的技术管理机构即验证机构发布的。3接收方将得到的明文通过单向函数进行计算,同样得到一个消息摘要,再将两个消息摘要进行对比,如果相同,则证明签名有效,否则无效。RSA是最流行的一种加密标准,许多产品的内核中都有RSA的软件和类库。下面详细介绍该签名体制的内容:(1)参数令n=p1p2,p1和p2是大素数,令选e并计算出d使公开n和e,将p1,p2和d保密。消息Hash函数消息摘要发方A相等?收方B加密算法私钥A签名消