530 likes | 754 Views
第五章 密码学的应用. 主要内容. 数字信封 数字指纹 数字证书 数字签名 数字水印 密码管理. 第五章 密码学的应用. 一、密码学通常的作用. 公钥密码(双钥密码、非对称密码),是1976年由 Diffie 和 Hellman 在其“密码学新方向”一文中提出的 单向陷门函数是满足下列条件的函数 f: (1) 给定 x, 计算 y=f(x) 是容易的; (2)给定 y, 计算 x 使 y=f(x) 是非常困难的,无实际意义。 (3)存在 δ, 已知 δ 时,对给定的任何 y, 若相应的 x 存在,则计算 x 使 y=f(x) 是容易的。
E N D
第五章密码学的应用 主要内容 • 数字信封 • 数字指纹 • 数字证书 • 数字签名 • 数字水印 • 密码管理
第五章密码学的应用 一、密码学通常的作用 公钥密码(双钥密码、非对称密码),是1976年由Diffie和Hellman在其“密码学新方向”一文中提出的 单向陷门函数是满足下列条件的函数f: (1)给定x,计算y=f(x)是容易的; (2)给定y, 计算x使y=f(x)是非常困难的,无实际意义。 (3)存在δ,已知δ 时,对给定的任何y,若相应的x存在,则计算x使y=f(x)是容易的。 注:1*. 仅满足(1)、(2)两条的称为单向函数;第(3)条称为陷门性,δ 称为陷门信息。
第五章密码学的应用 一、密码学通常的作用 2*. 当用陷门函数f作为加密函数时,可将f公开,这相当于公开加密密钥。此时加密密钥便称为公开密钥,记为Pk。 f函数的设计者将δ 保密,用作解密密钥,此时δ 称为秘密钥匙,记为Sk。由于加密函数是公开的,任何人都可以将信息x加密成y=f(x),然后送给函数的设计者(可以通过不安全信道传送);由于设计者拥有Sk,他自然可以解出x=f-1(y)。 3*.单向陷门函数的第(2)条性质表明窃听者由截获的密文y=f(x)推测x是不可行的。
第五章密码学的应用 Diffie-Hellman 密钥交换算法 Diffie 和Hellman 并没有给出公钥密码实例,也既没能找出一个真正带陷门的单向函数。然而,他们给出单向函数的实例,并且基于此提出D-H密钥交换算法。这个算法是基于有限域中计算离散对数的困难性问题之上的:对任意正整数x,计算gx 是容易的;但是已知g和y求x使y= gx,是计算上几乎不可能的。这称为有限域上的离散对数问题。公钥密码学中使用 最广泛的有限域为素域FP 。D-H密钥交换算法拥有美国和加拿大的专利。
第五章密码学的应用 D-H密钥交换协议:A和B协商一个大素数p和大整数g,1<g<p,g最好是FP中的本原元,即gxmod p可生成1~p-1中的各整数,例:2是11的本原元。p和g公开。 当A和B按如下步骤进行保密通信: (1)A取大的随机数x,并计算 X= gx (mod P) (2)B选取大的随机数y,并计算Y = gy (mod P) (3)A将X传送给B;B将Y传送给A。 (4)A计算K=YX(mod P);B计算K =Xy(mod P),易见,K=K =g xy (mod P)。 A和B已获得了相同的秘密值K。双方以K作为加解密钥以传统对称密钥算法进行保密通信。
第五章密码学的应用 公开密钥算法的主要特点如下: 1)用加密密钥PK对明文A加密后得到密文,再用解密密钥SK对密文解密,即可恢复出明文A。 DSK(EPK(A))=A 2)加密密钥不能用来解密,即: DPK(EPK(A))≠A ;DSK(ESK(A))≠A 3)用SK加密的信息只能用PK解密;用PK加密的信息只能用SK解密。 4)从已知的PK不可能推导出SK。 5)加密和解密的运算可对调:EPK(DSK(A))=A
第五章密码学的应用 一、密码学通常的作用 维持机密性 加密,让别人看不懂 传输中的公共信道和存储的计算机系统非常脆弱,系统容易受到被动攻击(截取、偷窃、拷贝信息),主动攻击(删除、更改、插入等操作)。 用于鉴别 由于网上的通信双方互不见面,必须在相互通信时(交换敏感信息时)确认对方的真实身份。即消息的接收者应该能够确认消息的来源;入侵者不可能伪装成他人。
第五章密码学的应用 一、密码学通常的作用 保证完整性 消息的接收者能够验证在传送过程中消息是否被篡改;入侵者不可能用假消息代替合法消息。 用于抗抵赖 在网上开展业务的各方在进行数据传输时,必须带有自身特有的、无法被别人复制的信息,以保证发生纠纷时有所对证。发送者事后不可能否认他发送的消息。
第五章密码学的应用 数字信封 数字信封(DIGITAL ENVELOPE) : 对数据进行加密的密钥必须经常更换。 数字信封解决两个难题:取长补短 单钥体制:密钥分发困难;高效;数据的加密 公钥体制:加解密时间长;灵活;密钥的加密 目的:利用数据接收者的公钥来封装保护加密数据的密钥。
第五章密码学的应用 数字信封 发方: A1:生成对称密钥,用该密钥对报文加密; A2 :用收方的公钥加密上述对称密钥; A3 :将A1、A2步骤的结果传给收方; 收方: B1: 用自己的私钥解密对称密钥; B2 :用得到的对称密钥解密报文。
第五章密码学的应用 数字信封
第五章密码学的应用 密钥管理极其重要。包括密钥的产生、分配、存储、验证和使用等。 1 由密钥分发中心(KDC)为用户A和B分别分发公钥PkA、PKB和私钥SkA、SKB作为用户A、B的主密钥。 2 当A要向B发信时,由A随机产生一个大数作为A、B之间通信的工作密钥。 3 A用SkA和PKB对工作密钥进行加密并传送给B。 4 B用SKB和PkA进行解密,得到工作密钥 5 A、B双方用此工作密钥进行保密通信。
第五章密码学的应用 数字证书 数字证书 :标志通讯各方身份的数据。 数字标识 数字凭证 “电子身份证” 数字证书是一种安全分发公钥的方式。 过去采用通行字,安全性差,现在一般采用交互式询问回答,在询问和回答过程中采用密码加密。特别是采用密码技术的带CPU的智能卡,安全性好。在电子商务系统中,所有参与活动的实体都需要用数字证书来表明自己的身份。
第五章密码学的应用 密钥管理中心负责密钥的发放、注销及验证。RSA公钥体制就是采用这种方式进行密钥管理的。密钥管理中心又称为证书授权中心(CA) 。 CA为每个申请公开密钥的用户发放一个证书,证明该用户拥有证书中列出的公钥。数字证书内容: 持证人的个人信息(姓名、性别、地址、E-mail); 持证人的公钥;证书过期时间;证书序列号 CA的名称;CA的数字签名; CA的数字签名保证不能伪造和篡改该证书,因此,数字证书既能分配公钥,又实现了身份认证。
第五章密码学的应用 身份认证 用户B 用户A 1 用户A的标识符 2 y1=EPA(RB);y2=DSB(y1) y1? EPB(y2) 相等则确认B 3 y3=EPB(RB) RB?DSB(y3)相等则确认A
第五章密码学的应用 身份认证 首先,A将自己的身份传送给B,但B不能确定此信息是来自A还是窃密者T; B产生一很大的随机数RB,用PA加密RB得到EPA(RB)传送给A,并用SB做DSB(EPA(RB))运算,将结果传送给A。A对y1解密得到DSA(EPA(RB))=RB,由于只有A知道SA,因此只有A才可求得RB,然后A用PB将y2加密,得到EPA(RB),由于只有合法的B才拥有SB,因此可以通过将计算结果与EPA(RB)比较,A就可以确认通信对方是B; 合法者A将求得的RB用PB加密传送给B,因为只有合法的A可以求得RB从而可以得到正确的EPB(RB);B只需用SB解密y3即可得到DSB(EPB(RB))=RB,将此RB与原来的RB对比就可确认对方是A。
第五章密码学的应用 二、数字指纹 在数字签名中有重要作用的“报文摘要”算法,即生成报文“数字指纹”的方法,近年来倍受关注,构成了现代密码学的一个重要侧面。为防止传输和存储的消息被有意或无意地篡改,采用哈希函数对消息进行运算生成消息摘要,附在消息之后发出或与信息一起存储。它在票据防伪中具有重要应用(如税务的金税系统和银行的支付密码器)。
第五章密码学的应用 二、数字指纹 数字指纹是通过一类特殊的散列函数(HASH函数)生成的,对这类HASH函数的特殊要求是: 1.输入报文的长度没有限制;2.对输入任何报文,能生成固定长度的摘要(数字指纹);3.从报文能方便地算出摘要;4.极难从指定的摘要生成一个报文,而由该报文又反推算出该指定的摘要;5.两个不同的报文极难生成相同的摘要。
第五章密码学的应用 二、数字指纹 哈希函数的安全因素: 一致性:相同的输入产生相同的输出。 随机性:消息摘要外观是随机的,以防被猜出源消息。 唯一性:几乎不可能找到两个消息产生相同的消息摘要。 单向性:即如果给出输出,则很难确定出输入消息。
第五章密码学的应用 二、数字指纹 基本过程是: 1.发送者写一消息,并作为单向哈希函数的输入。 2.消息摘要连消息一齐发送 3.接受者分离消息和消息摘要,并利用消息生成消息摘要。 4.比较两消息摘要,如果相同,则消息在传送期间没被更改。
第五章密码学的应用 二、数字指纹 可以使用公开密钥技术对消息摘要加密,防止同时更改消息和消息摘要。 消息摘要算法中两种流行的方式是:MD2和MD5。 一个消息摘要是一个加密校验和,不像CRC是一个算术校验和。常用的哈希函数有: 消息摘要4(MD4)算法 消息摘要5(MD5)算法 安全哈希函数(SHA)
第五章密码学的应用 三、MD5算法 MD5报文摘要算法RFC1321由Rivest于1992年提出。可对任意长的报文进行运算,得出128位的MD代码。 MD5算法是对杂凑压缩信息块按512位进行处理的,首先它对杂凑信息进行填充,使信息的长度等于512的倍数。从八十年代末到九十年代,Rivest开发了好几种RSA公司专有的报文摘要算法,包括MD、MD2、MD5等。据称,可以花费一千万美元去制造一台专门的机器,针对MD5搜索两个不同的报文具有相同的摘要,即"碰撞"现象,平均用24天才能找到一个碰撞。,MD5被认为仍是一个安全的。
第五章密码学的应用 四、数字签名 • 鉴别文件或书信真伪的传统做法亲笔签名或盖章。签名起到认证,核准,生效的作用。电子商务、政务要求对电子文档进行辨认和验证,因而产生数字签名。数字签名的作用:保证信息完整性;提供信息发送者的身份认证。 • 与传统签名的区别: • 需要将签名与消息绑定在一起。 • 通常任何人都可验证。 • 要考虑防止签名的复制、重用。
第五章密码学的应用 四、数字签名 数字签名(Digital Signature) 信息发送者使用公开密钥算法技术,产生别人无法伪造的一段数字串。 发送者用自己的私有密钥加密数据传给接收者,接收者用发送者的公钥解开数据后,就可确定消息来自于谁,同时也是对发送者发送的信息的真实性的一个证明。发送者对所发信息不能抵赖。
第五章密码学的应用 四、数字签名 数字签名的过程: 假设A要发送一个电子文件给B。 1.系统初始化:选择签名所需的算法、参数 2. 产生签名:A用其私钥加密文件并发送给B ; 3.签名验证:B用A的公钥解开A送来的文件 签名体制的构成:签名算法;验证算法
第五章密码学的应用 四、数字签名 • 数字签名必须保证: • 可验证:签字是可以被确认的 • 防抵赖:发送者事后不承认发送报文并签名; • 防假冒:攻击者冒充发送者向收方发送文件; • 防篡改:收方对收到的文件进行篡改; • 防伪造:收方伪造对报文的签名。 签名对安全、防伪、速度要求比加密更高。
第五章密码学的应用 消息认证与数字签名的区别: 前者能验证消息来源及完整性,防范第三者; 后者在收发双方产生利害冲突时,解决纠纷。 数字签名需要解决的一些问题 1.签字后的文件可能被B重复使用。如果签字后的文件是一张支票,B很容易多次用该电子支票兑换现金,为此A需要在文件中加上一些该支票的特有的凭证,如timestamp等,以防止上述情况发生。
第五章密码学的应用 四、数字签名 2.公钥算法效率很低,不易用于长文件的加密。一般采用Hash函数,将原文件单向映射为H=Hash(P),H只有几百bit,并且由P可以很快生成H,但由于H几乎不可能生成P。 将公钥算法作用在H上生成“签名”S,记为Ek1(H)=S,k1为A的私钥,A将(P,S)传给B,B收到(P,S)后,要验证S是A的签字。 若Dk2(S)=Hash(P),则S就是A的签字。
第五章密码学的应用 四、数字签名
第五章密码学的应用 四、数字签名 1)发方A用单向散列函数对信息生成摘要。 2)A用自己的私钥签名信息摘要。 3)A把信息本身和已签名的信息摘要一起发送出去。 4)收方B通过使用同一个单向散列函数对接收的信息生成新摘要,再用A的公钥对数字签名解密,并与新生成的信息摘要比较,以确认发方的身份和信息是否被修改过。
第五章密码学的应用 加密和数字签名相结合。设SKA和SKB分别为A和B的秘密密钥,而PKA和PKB分别为A和B的公开密钥。 A用SKA对报文M进行解密运算,得到DSKA(M),再用B的公钥PKB加密得到EPKB(DSKA(M)),然后传送给B;B用私钥SKB解密得到DSKA(M),再用A的公钥PKA加密恢复出明文EPKA(DSKA(M))=M。 除A外没有别人能产生密文DSKA(M),这样,报文M就被签名了。若A要抵赖曾发送报文给B,B可将M及DSKA(M)出示给公证机关,公证机关很容易用PKA去证实A确实发送消息M给B。反之,如果B将M伪造成M′,则B不能在第三者面前出示DSKA(M′),这样就证明B伪造了报文。
第五章密码学的应用 • 可仲裁的数字签名 • 直接数字签名的缺陷:签名者声称私钥被盗,签名是他人假冒。为此引入第三方作仲裁者。 • 签名过程:发方X 收方Y 仲裁A 消息M • XA: M || EkXA[IDx||H(M)] • AY: EkAY [IDx|| M||EkXA [IDx||H(M)]||T] • 说明:E:单钥加密,kXA ,kAY 分别为X和A、A和Y的共享密钥。T:时戳(不是旧消息的重放) Idx:x的身份 H(M):M的杂凑值
第五章密码学的应用 • 可仲裁数字签名 • Y对收到的内容保存,以备争议时使用。 • 前提:双方都信任仲裁者 • 由于Y不知kXA,不能直接验证X的签名,而是依靠仲裁者。因此,仲裁者必须做到: • X相信A不会泄漏kXA,不会伪造X的签名; • Y相信A确实收到X的签名并验证无误后发送; • X和Y都相信A可以公正地解决争议。
上述方法缺陷:若A不公正,与X共谋否认签名,或与Y串通伪造签名。新签名方案:上述方法缺陷:若A不公正,与X共谋否认签名,或与Y串通伪造签名。新签名方案: XA: IDx || EskX[IDx|| Epky [Eskx (M)]] AY: (A先用X的公钥解密得IDx|| Epky [Eskx (M)]) EskA[IDx||Epky[EskX(M)]||T] 说明:skX 和skA 为X、A的私钥,pky为Y的公钥。 优点:无共享密钥,防共谋; X发给Y的信息对第三方保密(包括A); 只要A的私钥不泄漏,则消息不能重放。
第五章密码学的应用 四、数字签名 • 不可否认的数字签名 • 没有签名者的合作,接收者无法验证签名,在某种程度上保护了签名者的利益。如果签名者不希望接收者未经他许可就向别人出示签名并证明其真实性,则可用此方法。 • 例如:软件开发商利用此法保护其软件,只对购买产品的客户验证签名,并对产品负责。
第五章密码学的应用 四、数字签名 • 群数字签名 • 允许群中各成员以群的名义匿名地签发消息。 • 只有群的成员能代表这个群签名; • 签名接收者能验证它是这个群的合法签名,但不知具体是哪个成员; • 在发生争端时,借助群成员或可信机构能识别出那个签名者。 • 用途:投标
第五章密码学的应用 四、数字签名 • 盲数字签名 消息M的拥有者A,想让B对M签名,但又不希望B知道M的内容,而只是让B以证人身份证实在某一时刻存在文件M。签名步骤: A将M乘以一个随机数(盲因子)得M’并发送给B; B在M’上签名得SIG(M’),并发送给A; A通过去除盲因子,由SIG(M’)得到SIG(M)。
第五章密码学的应用 四、数字签名 • 盲数字签名 直观的说明: 所谓盲签名,就是将要隐藏的文件放进信封里,而除去盲因子就是打开信封。 当文件在信封时,任何人都不能读它。 对文件的签名就是通过在信封里放一张复写纸,当签名者在信封上签名时,他的签名便透过复写纸签到了文件上。
第五章密码学的应用 四、数字签名 • 双重签名:实现三方通信时的身份认证和信息完整性、防抵赖的保护。 • 网上购物:客户和商家之间要完成在线付款,在客户(甲) 、商家(乙)和银行(丙)之间将面临以下问题:甲向乙发送订单和甲的付款信息;乙收到订单后,要同丙交互,以实现资金转帐。但甲不愿让乙看到自己的帐户信息,也不愿让丙看到订购信息。此时甲使用双重签名技术对两种信息作数字签名,来完成以上功能。
第五章密码学的应用 双重数字签名的实现步骤如下: 1)甲对发给乙的信息M1生成摘要A1; 2)甲对发给丙的信息M2生成摘要A2; 3)甲把A1和A2合起来生成摘要A3,并用私钥签名A3,Sig(A3); 4)甲把M1、A2和Sig(A3)发给乙; 5)甲把M2、A1和Sig(A3)发给丙;
第五章密码学的应用 6)乙接收信息后,对M1生成信息摘要A1’,把A1’和收到的A2合在一起,并生成新的信息摘要,同时使用甲的公钥对A3的签名进行验证,以确认信息发送者的身份和信息是否被修改过; 7)丙接收信息后,对M2生成信息摘要A2’,把A2’和收到的A1合在一起,并生成新的信息摘要,同时使用甲的公钥对A3的签名进行验证,以确认信息发送者的身份和信息是否被修改过。
第五章密码学的应用 五、数字水印 1996年英国,首届国际信息隐藏会议 对付的非法复制、传播、篡改,保护产权 在多媒体信息中隐蔽地嵌入可辨别的标记,实现版权声明与跟踪。 嵌入信息 掩饰信息(文本、图像、音频) 信息隐藏要求: 不影响原系统; 善于伪装,使人不易察觉;
第五章密码学的应用 五、数字水印 隐藏信息分布范围要广; 能抵抗数据压缩、过滤等变换及人为攻击; 隐藏信息的算法公开,只隐蔽密钥; 数字水印:将特定的标记隐藏在数字产品中。 用以证明原创者对产品的所有权,并作为起诉侵权者的证据。 透明性;健壮性;多重性;安全性
第五章密码学的应用 六、密码管理 1999年10月7日,第273号国务院令,颁布了《商用密码管理条例》。 目的:加强商用密码管理,保护信息安全,保护公民和组织的合法权益,维护国家的安全和利益。 管理方式:商用密码技术属于国家秘密。国家对商用密码产品的科研、生产、销售和使用实行专控管理。 管理机构:国家密码管理委员会及其办公室。
第五章密码学的应用 六、密码管理 科研、生产、销售和使用 商用密码的科研、生产、销售由国家密码管理机构指定的单位承担。 任何单位或者个人只能使用经国家密码管理机构认可的商用密码产品,不得使用自行研制的或者境外生产的密码产品。境外组织或者个人在中国境内使用密码产品或者含有密码技术的设备,须经国家密码管理机构批准;外国驻华外交代表机构、领事机构除外。
第五章密码学的应用 六、密码管理 商用密码产品的科研、生产,要有符合安全、保密要求的环境。销售、运输、保管商用密码产品,应当采取相应的安全措施。从事商用密码产品的科研、生产和销售以及使用商用密码产品的单位和人员,必须对所接触和掌握的商用密码技术承担保密义务。宣传、公开展览商用密码产品,必须事先报国家密码管理机构批准。
第五章密码学的应用 六、密码管理 产生密钥 1、密钥长度与密钥空间 2、好密钥与弱密钥 好密钥:自动处理设备产生的随机的位串 弱密钥:特定的密钥比其他密钥的安全性差。 公开密钥算法:产生密钥更加困难 对付字典攻击
第五章密码学的应用 六、密码管理 传输密钥 密钥加密密钥:加密其他需要分发的密钥;手工分法 数据密钥(会话密钥):对信息序列进行加密 密钥分发:手工分法;分成不同部分,通过不同信道分发 智能卡:密钥的一种媒体
第五章密码学的应用 六、密码管理 验证密钥 B收到密钥,如何知道是A传送的而不是其他人伪装的? 亲自送。 信使送:需要相信信使。 由密钥加密密钥加密送:只有A才拥有密钥加密密钥。 数字签名协议送:相信公开密钥数据库。
第五章密码学的应用 六、密码管理 分配密钥 对称密码体制:通信前协商密钥,密钥分配复杂(密钥分配中心KDC) 公开密码体制:满足数字签名;密钥分配较有效(密钥分配中心KDC 管理、分配公开密钥,用户只保留自己的秘密密钥和KDC 的公开密钥)