数字证书,数字签名的基本原理,以及如何使用非对称加密技术实现软件的LICENSE机制.ppt
文本预览下载声明
一点密码学的历史故事 数字签名与数字证书 JAVA与第三方加密解密库 软件产品授权管理系统的机制原理 了解散列函数、对称加密、非对称加密的概念; 了解数据签名与数据证书的概念; 了解JAVA安全领域中JCA和JCE以及第第三方JCE实现:BouncyCastle; 软件产品授权管理系统的机制原理; 第一点 密码体制划分 单向加密算法、对称加密算法、非对称加法三大类。 1、MD5、SHA算法是单向加密算法的代表,单向加密算法是数据完整性验证的常用算法。散列函数,又称哈希函数、消息摘要函数、单向函数或杂凑函数。 2、DESAES算法是对称加密算法的典型代表,对称加密算法是数据存储加密的常用算法。此外还有PBE——Password-based encryption(基于密码加密)。其特点在于口令由用户自己掌管,不借助任何物理媒体。 3、RSA算法是非对称加密算法的典型代表,非对称加密算法是数据传输加密的常用算法。对称加密算法也可以用做数据传输加密,但非对称加密算法在密钥管理方面更有优势。相对对称加密算法而言,非对称加密算法在安全级别上等级更高,但非对称加密算法在时间效率上远不如对称加密算法。 第二点 为什么RSA是现在地球上最重要的算法 1976年以前,所有的加密方法都是同一种模式: (1)甲方选择某一种加密规则,对信息进行加密; (2)乙方使用同一种规则,对信息进行解密。 由于加密和解密使用同样规则(简称密钥),这被称为对称加密算法(Symmetric-key algorithm)。 这种加密模式有一个最大弱点:甲方必须把加密规则告诉乙方,否则无法解密。保存和传递密钥,就成了最头疼的问题。 1976年,两位美国计算机学家Whitfield Diffie 和 Martin Hellman,提出了一种崭新构思,可以在不直接传递密钥的情况下,完成解密。这被称为Diffie-Hellman密钥交换算法。这个算法启发了其他科学家。 非对称加密的最初的设想: (1)乙方生成两把密钥(公钥和私钥)。公钥是公开的,任何人都 可以获得,私钥则是保密的。 (2)甲方获取乙方的公钥,然后用它对信息加密。 (3)乙方得到加密后的信息,用私钥解密。 如果公钥加密的信息只有私钥解得开,那么只要私钥不泄漏,通信 就是安全的。 非对称加密设想的实现者: 【内容】 什么是散列函数,以及用途举例。 数据签名简单介绍 。 从Bob、Susan、Doug三个人的故事理解数字签名与数字证书。 大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为司法机关鉴别罪犯身份最值得信赖的方法;与之类似,MD5/SHA1等等算法就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其MD5/SHA1值也就是对应的“数字指纹”都会发生变化。 散列函数,又称哈希函数、消息摘要函数、单向函数或杂凑函数。散列函数的主要作用不是完成数据加密与解密的工作,它是用来验证数据完整性的重要技术。通过散列函数,可以为数据创建“数字指纹”(散列值)。散列值通常是一个短的随机字母和数字组成的字符串。消息认证流程如图下所示。 在上述认证流程中,信息收发双方在通信前已经商定了具体的散列算法,并且该算法是公 开的。如果消息在传递过程中被篡改,则该消息不能与已获得的数字指纹相匹配。 散列函数具有以下一些特性: ?消息的长度不受限制。 ?对于给定的消息,其散列值的计算是很容易的。 ?如果两个散列值不相同,则这两个散列值的原始输入消息也不相同,这个特性使得散列 函数具有确定性的结果。 ?散列函数的运算过程是不可逆的,这个特性称为函数的单向性。这也是单向函数命名的 由来。 ?对于一个已知的消息及其散列值,要找到另一个消息使其获得相同的散列值是不可能的, 这个特性称为抗弱碰撞性。这被用来防止伪造。 ?任意两个不同的消息的散列值一定不同,这个特性称为抗强碰撞性。 散列函数广泛用于信息完整性的验证,是数据签名的核心技术。散列函数的常用算法有 MD(消息摘要算法)、SHA(安全散列算法)1及Mac(消息认证码算法)。 散列函数,数据指纹应用。 通过散列函数可以确保数据内容的完整性,但这还远远不够。此外,还需要确保数据来源的可认证(鉴别)性和数据发送行为的不可否认性。 完整性、可认证性和不可否认性,正是数字签名的主要特征。数字签名针对以数字形式存储的消息进行处理,产生一种带有操作者身份信息的编码。执行数字签名的实体称为签名者,签名过程中所使用的算法称为签名算法。 签名操作中生成的编码称为签名者对该消息的数字签
显示全部