非对称加密、公钥、密钥、证书、签名的区别和联系
公钥密码、数字签名和数字证书相关知识及原理介绍

公钥密码、数字签名和数字证书相关知识及原理介绍一、从对称密码谈起自从人类有了战争,智慧的人们就想出了很多的办法来解决通信保密问题,把需要通信的消息按固定规律转变成没有意义的乱码,而只有指定的合法接收者才能恢复解读出来,这就是密码学的基本思想。
通常,人们总是会有很多的秘密信息需要保护,比如个人的信用卡账号,个人的医疗记录和财政细节等等;企业也有秘密,例如战略报告、销售预测、公司财务、技术产品的细节、研究成果、人员档案等,密码学上将这些需要保护的原始信息称为明文。
为了确保明文信息不被别人获知,在将这些明文保存在某个地方或从网络上传送出去之前,需要用某种方法(通常是数学方法)把它伪装起来以隐藏它的真实内容,我们把伪装的这个过程称为加密,把伪装采用的方法称之为加密算法,(明文)伪装后得到的结果称之为密文;相反地,把密文恢复成明文的过程称为解密,恢复时所用的方法称为解密算法。
上述这个过程还不是一个足够安全的过程。
因为无论是加密算法还是解密算法,我们都可以用软件(一段程序)或硬件(加密机或加密卡)来实现。
如果我们能绝对地保证加密和解密算法是保密的(例如只有通信双方知道),那么自然可以达到保密的效果。
可事实上并非如此,实践证明,保护一段程序或者保护一个硬件是秘密的,和直接保护明文信息是秘密的,是一样的困难,高明的密码破译者们总能找到我们用来保密的加密算法和解密算法,从而找到我们要保密的信息。
更何况,如果我们有办法保全加密算法或解密算法是秘密的,那么我们何不用之以直接保全我们的明文信息呢?因此密码学家们最终放弃了保密加解密算法的念头,而选择了设计一类新的加解密算法,在用这类算法加密时需要引入一个只有自己知道的秘密参数,密码学家把它称为密钥,而且只有拥有同样密钥的人才能解密阅读被加密的明文。
顾名思义,“密钥”就是秘密的钥匙,起初人们总是把加解密比喻成利用钥匙给坚固的保险箱上锁开锁。
这里“带锁的保险箱”好比是密码算法,可以用来保存明文文件,“钥匙”好比是密钥,“将明文文件放入保险箱并用钥匙锁上”就是加密过程,相反地,用钥匙将“锁有文件的保险箱”打开取出文件就是解密过程。
密钥使用相关标准

密钥使用相关标准密钥使用相关标准包括但不限于以下几种:1. PKI(Public Key Infrastructure):公钥基础设施,是利用公钥理论和技术建立的提供安全服务的根基。
在PKI中,密钥对被用于数据加密和数字签名,以及所有与密钥有关的操作和管理。
2. 非对称加密算法:这类算法涉及两个密钥,其中一个用作加密和解密信息,另一个则用来验证信息的来源。
常见的非对称加密算法有RSA、DSA、ECC等。
3. 数字证书:也称为公钥证书,是由权威的第三方机构颁发的用于识别证书持有者身份的凭证。
通常会绑定一个私钥,因此一旦丢失或泄露将带来风险。
4. TLS协议:全称传输层安全协议(Transport Layer Security),它提供了客户端和服务器之间交换数据的机密性和完整性保护。
密钥的使用贯穿TLS协议的所有版本,从握手阶段到记录阶段。
5. SSH协议:是一种网络协议,用于通过公共网络(如互联网)进行安全通信。
用户可以通过SSH远程登录服务器并执行各种操作,同时确保即使在中间人攻击的情况下也能保证通信的安全性。
6. PGP(Pretty Good Privacy):一种基于公钥加密技术的电子文档安全解决方案,可以保护电子邮件和其他类型的数据免受恶意拦截和窃取。
7. AES(Advanced Encryption Standard):即高级加密标准,是美国联邦政府采用的一种区块加密标准。
这种加密方法需要用到对称加密密钥,也就是同一把钥匙既可以用来加密也可以用来解密。
以上就是一些主要的密钥使用相关标准,随着技术的发展,新的标准和规范也在不断推出和完善。
在使用这些技术时务必注意合规性问题,以确保在实际应用中的安全性。
密码学基础概念

密码学基础概念及应用
密码学是研究信息的保密性、完整性和可用性的科学与技术。
它涉及使用密码算法对信息进行加密、解密和验证的过程。
以下是密码学的基础概念和一些常见的应用:
1. 加密算法:加密算法是密码学中最重要的概念之一。
它是一种数学算法,用于将明文(原始信息)转换为密文(加密后的信息)或将密文还原为明文。
2. 密钥:密钥是在加密和解密过程中使用的参数。
它是一个特定的数据值,用于确定加密算法的行为,从而实现不同的加密效果。
3. 对称加密和非对称加密:对称加密使用相同的密钥来进行加密和解密,而非对称加密使用一对密钥,其中一个用于加密,另一个用于解密。
4. 数字签名:数字签名是一种用于验证文档或消息真实性和完整性的技术。
它使用私钥对文档进行加密,然后使用公钥对加密后的文档进行解密验证。
5. 数字证书:数字证书是一种用于验证通信方身份的电子文件。
它包含了通信方的公钥和相关身份信息,由可信的证书颁发机构签发。
6. 密码协议:密码协议是在网络通信中使用的一组规则和步骤,用于确保安全通信和保护数据的隐私。
7. 数字货币:加密货币如比特币和以太坊使用密码学技术实现安全的交易和资产管理。
8. 数据库加密:数据库加密技术用于对数据库中存储的敏感数据进行加密保护,以防止未经授权的访问和泄露。
9. 消息认证码(MAC):MAC是一种用于验证消息完整性和真实性的密码技术,可以确保消息在传输过程中没有被篡改。
这些只是密码学的一些基础概念和应用示例。
密码学在许多领域都有广泛的应用,包括网络安全、电子商务、通信保密、数据保护和数字身份验证等。
通俗易懂证书秘钥签名详解

通俗易懂证书秘钥签名详解
证书、秘钥和签名是网络安全中常见的概念,我会从通俗易懂
的角度来解释它们。
首先,证书是一种用于验证身份的数字文件,就像您的身份证
一样。
它包含了一些关于持有者身份的信息,比如姓名、邮箱地址等,还有一个重要的部分就是公钥。
公钥是一种用于加密信息的数
字钥匙,可以让其他人安全地向持有者发送加密的信息。
秘钥是与公钥对应的私钥,它是一种用于解密信息的数字钥匙。
只有持有者才能知道私钥,这样就可以确保只有持有者才能解密通
过公钥加密的信息。
签名是用私钥对某个信息进行加密,以证明信息的真实性和完
整性。
当其他人收到被私钥加密的信息后,可以使用公钥来解密并
验证信息的真实性。
综上所述,证书包含了公钥和持有者的身份信息,秘钥是与公
钥对应的私钥,签名是使用私钥对信息进行加密以验证信息的真实
性。
这些概念在网络安全中起着非常重要的作用,确保了信息的安全传输和身份的验证。
密码学详细分类

密码学详细分类密码学是研究保护信息安全的科学和技术领域。
根据应用领域、算法类型和安全目标,密码学可以被详细分类如下:1. 对称密码学(Symmetric Cryptography):对称密码学使用相同的密钥进行加密和解密。
常见的对称密码算法有DES、AES和IDEA 等。
2. 非对称密码学(Asymmetric Cryptography):非对称密码学使用不同的密钥进行加密和解密。
公钥密码学是非对称密码学的主要分支,它使用一对密钥,包括公钥和私钥。
公钥可以公开,而私钥必须保密。
常见的非对称密码算法有RSA、Diffie-Hellman和椭圆曲线密码算法等。
3. 哈希函数(Hash Function):哈希函数将任意长度的输入数据转换为固定长度的输出,常用于验证数据的完整性和生成数字指纹。
常见的哈希函数有MD5、SHA-1、SHA-256和RIPEMD等。
4. 数字签名(Digital Signature):数字签名用于验证消息的真实性和完整性,并确认消息的发送者。
数字签名通常使用非对称密码学中的私钥进行生成,公钥用于验证签名的有效性。
5. 密码协议(Cryptographic Protocols):密码协议是一组规则和步骤,用于在通信过程中确保信息的安全性。
常见的密码协议有SSL/TLS、IPsec和SSH等。
6. 密码编码学(Cryptanalysis):密码编码学是破解密码系统的科学和技术,旨在破译加密消息或恢复加密密钥。
7. 随机数生成器(Random Number Generator):随机数生成器用于生成随机数或伪随机数序列,这在密码学中是非常重要的。
这些分类只是密码学研究中的一部分,每个分类下又有更多的细分和特定算法。
密码学的发展涵盖了广泛的应用领域,包括网络安全、电子商务、数据保护和身份认证等。
概念解释:对称加密、非对称加密、公钥、私钥、签名、证书

概念解释:对称加密、⾮对称加密、公钥、私钥、签名、证书楔⼦现在⽹络的安全性已经变得越来越重要,各位程序员在开发过程中或多或少都会遇到公钥、私钥、加密、签名等⼀些相关名词。
这些概念⽐较杂乱,容易混淆,下⾯就来梳理⼀下这部分的内容。
对称加密在重要的信息的传递过程中,⼈们总是希望信息不会被偷看、不会被篡改,伪造等。
为了达到这个要求⼈们⼀直在不断努⼒着。
电报加密使⽤的密码本,就是初代⽹络安全所使⽤的加密⽅式,⽤法为:发信时将内容翻译为密⽂发出,收到电报的⼀⽅,使⽤相同的密码本才能解密出正确的信息,否则看到的就是⼀堆乱码。
这种传统的加密⽅式就叫做对称加密。
⽽对称加密所使⽤的算法包括:DES、3DES、AES、DESX、Blowfish、RC4、RC5、RC6,这些算法就可以看成密钥、或者理解为上⾯的密码本。
这些算法也可以称为: "对称加密算法"或者"传统加密算法",⼀⽅使⽤算法进⾏加密,然后另⼀⽅使⽤相同的算法进⾏解密。
我们以《福尔摩斯探案集之跳舞的⼩⼈》⼀案中出现的⼩⼈为例我们看到每⼀个⼩⼈都代表⼀个英⽂字符,⾄于⼩⼈⼿中的旗⼦则是⽤来分隔单词的、也就是表⽰⼀个单词的边界。
传递信息的时候,将信息⽤⼩⼈来代替,然后另⼀⽅看到⼩⼈的时候,再将出现的⼩⼈解析成信息。
顺便⼀提,剧中的⼥主是⿊帮⾸领的⼥⼉,犯⼈就是使⽤这些⼩⼈来向⼥主传递信息,威胁她回去。
这些⼩⼈和英⽂字符之间的对应关系就相当于密钥,此时就相当于⼀个对称加密。
因为⽆论是发信⼈还是收信⼈,使⽤的是相同的密钥、即:⼩⼈代表的含义都是⼀样的。
但是对称算法的安全性⾮常依赖于密钥,泄漏密钥就意味着任何⼈都可以对他们发送或接收的消息解密,所以密钥的保密性对通信安全⾄关重要。
所以福尔摩斯在解析出这些⼩⼈代表的含义之后,⽤这些⼩⼈发送信息将犯⼈引诱了出来。
因此对于这种对称加密来说,密钥的安全是极其重要的。
那么对称加密有哪些优缺点呢?优点:计算量⼩、加密速度快、加密效率⾼缺点:1.密钥需要传递,难以确保密钥安全性。
网络安全知识内容

网络安全知识内容在当今信息社会中,网络的普及和广泛应用已经成为人们生活、工作的重要组成部分。
然而,随着网络的发展,网络安全问题也越来越突出。
为了保障个人和机构的信息安全,我们有必要了解一些网络安全的基本知识。
本文将从密码学、黑客攻击、防火墙和恶意软件四个方面介绍网络安全的相关内容。
一、密码学在网络传输过程中,为了防止数据被未经授权的访问者窃取,我们需要使用密码来加密和解密数据。
密码学是研究加密和解密技术的学科。
在密码学中,有两种主要的加密方式:对称加密和非对称加密。
1. 对称加密:对称加密是指发送方和接收方使用相同的密钥进行加密和解密。
当发送方要向接收方发送加密信息时,它们需要事先约定好密钥,并确保密钥的安全性。
目前常用的对称加密算法有DES、AES等。
2. 非对称加密:非对称加密是指发送方和接收方使用不同的密钥进行加密和解密。
发送方使用接收方的公钥进行加密,接收方使用自己的私钥进行解密。
非对称加密算法的代表是RSA算法。
二、黑客攻击黑客攻击是指未经授权进入计算机系统或网络,利用各种手段获取、修改、删除、破坏计算机信息的行为。
黑客攻击的形式多种多样,常见的黑客攻击方式有以下几种:1. 拒绝服务攻击(DoS):黑客通过向目标系统发送大量伪造的请求,占用目标系统的网络资源,使其无法正常处理合法用户的请求。
2. 木马程序:木马程序是指在用户不知情的情况下,通过合法程序的伪装方式进入计算机系统,然后在系统中植入恶意代码,以获取用户的信息。
3. 病毒攻击:病毒是指一种具有自我复制能力的程序,通过感染其他程序来传播自己。
病毒能够破坏或删除用户数据,甚至危害整个计算机系统的稳定性。
三、防火墙防火墙是指位于计算机网络与外部网络之间的一道屏障,用于监控和过滤网络数据的流动。
它可以根据设定的规则,阻止未经授权的访问和不安全的网络连接。
防火墙可以分为软件防火墙和硬件防火墙两种形式。
1. 软件防火墙:软件防火墙是安装在个人计算机或服务器上的一种防护程序。
信息安全技术 术语

信息安全技术术语信息安全技术术语随着互联网和数字化时代的到来,信息安全问题越来越受到人们的关注。
信息安全技术是保护计算机系统、网络和数据免受未经授权访问、窃取、破坏、篡改等威胁的一种技术。
本文将介绍一些常见的信息安全技术术语。
一、加密技术1. 对称加密:使用相同的密钥进行加密和解密的加密方式,如DES、AES等。
2. 非对称加密:使用公钥加密,私钥解密的加密方式,如RSA等。
3. 混合加密:将对称加密和非对称加密结合起来使用,既能保证传输速度,又能保证安全性。
4. 数字签名:用于验证消息来源和完整性的技术,在发送方使用私钥对消息进行签名,在接收方使用公钥进行验证。
二、访问控制技术1. 访问控制列表(ACL):用于限制用户对资源访问权限的列表,包括允许或拒绝用户或组访问资源等信息。
2. 角色基础访问控制(RBAC):以角色为基础进行访问控制,通过将用户分配到不同的角色来限制其对资源的访问权限。
3. 强制访问控制(MAC):由系统管理员指定每个用户的访问权限,用户无法更改或绕过这些权限。
三、网络安全技术1. 防火墙:用于保护计算机网络免受未经授权访问、窃取、破坏等威胁的设备或软件,可根据规则限制流量进出网络。
2. 虚拟专用网络(VPN):通过加密和隧道技术在公共网络上建立私有通信网络,保证数据传输的安全性和隐私性。
3. 入侵检测系统(IDS):用于监视计算机系统和网络中的恶意活动,并发出警报或采取行动来防止攻击。
四、应用安全技术1. 漏洞扫描器:自动扫描应用程序中存在的漏洞,并提供修复建议,以减少被攻击的风险。
2. Web 应用程序防火墙(WAF):专门针对 Web 应用程序进行设计的防火墙,能够检测和阻止针对 Web 应用程序的攻击。
3. 安全编码实践:一种编写安全代码的方法,包括使用安全 API、验证和过滤输入、避免硬编码敏感信息等。
五、物理安全技术1. 门禁系统:用于限制进入某些区域的物理设备,可通过密码、指纹或卡片等方式进行身份验证。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
非对称加密、公钥、密钥、证书、签名的区别和联系以及(2009-12-02 13:27:46)
转载▼
分类:安全性
标签:
杂谈
【1】非对称加密算法:
非对称加密算法又称为公钥加密算法,按照密码学的Kerckhoff原则:“所有算法都是公开的,只有密钥是保密的”。
即安全系统的设计者不能指望使用某种秘密的无人知道的算法来保密,而应当使用一种公开的被验证过的算法——只要密钥是安全的,已知算法的攻击者实际上无法破解秘文的算法才是好的算法。
RSA算法是目前最流行的公钥密码算法,它使用长度可以变化的密钥。
RSA是第一个既能用于数据加密也能用于数字签名的算法。
RSA算法的原理如下:
1.随机选择两个大质数p和q,p不等于q,计算N=pq;
2.选择一个大于1小于N的自然数e,e必须与(p-1)×(q-1)互素。
3.用公式计算出d:d×e = 1 (mod (p-1)×(q-1)) 。
4.销毁p和q。
最终得到的N和e就是“公钥”,d就是“私钥”,发送方使用N去加密数据,接收方只有使用d才能解开数据内容。
RSA的安全性依赖于大数分解,小于1024位的N已经被证明是不安全的,而且由于RSA 算法进行的都是大数计算,使得RSA最快的情况也比DES慢上好几倍,这也是RSA最大的缺陷,因此它通常只能用于加密少量数据或者加密密钥。
需要注意的是,RSA算法的安全性只是一种计算安全性,绝不是无条件的安全性,这是由它的理论基础决定的。
因此,在实现RSA算法的过程中,每一步都应尽量从安全性方面考虑。
非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。
甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。
非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
【2】公钥和私钥:
对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。
公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。
因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
公钥加密:公钥加密使用一个必须对未经授权的用户保密的私钥和一个可以对任何人公开的公钥。
公钥和私钥都在数学上相关联;用公钥加密的数据只能用私钥解密,而用私钥签名的数据只能用公钥验证.NET 通过抽象基类(System.Security.Crytography.AsymmetricAlgorithm) 提供下列非对称(公钥/私钥)加密算法:
•D SACryptoServiceProvider
•R SACryptoServiceProvider
因此公钥和私钥在非对称加密算法里是成对出现的,公钥公开出来用来加密数据,谁都可以使用这个公钥对自己传递的数据加密。
私钥所有者通过自己的私钥对数据进行解密,私钥一般只有所有者知道,因此别人截获数据也无法破译信息的内容。
【3】证书和签名:
证书实际对于非对称加密算法(公钥加密)来说的,一般证书包括公钥、姓名、数字签名三个部分。
证书好比身份证,证书机构(ca)就好比是公安局,职责就是负责管理用户的证书也就是身份证。
比如我的公钥是FrankKey,姓名是Frank Xu Lei。
公安局可以给我登记,但是怎么保证我和别的Frank Xu Lei区别开呢,于是公安局(证书机构)就使用我的名字和密钥做了个组合,再使用一种哈希算法,得出一串值,来标识我的唯一性,这个值就是我的身份证号码,也就是证书里的数字签名。
假设一个朋友给我写信,他就可以到公安局(证书机构)来查找我的身份证(证书)。
上面包括我的个人信息,可以保证这个公钥就是我的。
然后他把新建进行加密,邮寄给我。
别人即使拆开我的信件,因为没有密钥进行解密,所以无法阅读我的信件内容。
这样就保证了信息安全。
所以说加密不一定要证书,取决于你数据安全具体的需求。
一般大型的电子商务网站都有自己特定的证书。
证书管理的机构比较有名的就是VeriSign(可以说是互联网上的身份证管理局)。
企业可以申请注册,它会给申请者生成特定的签名。
我们自己的企业内部应用如果需要的话,可以在企业局域网内部建立企业私有的证书服务器,来产生和管理证书。
其实X.509是由国际电信联盟(ITU-T)制定的一种定义证书格式和分布的国际标准(相当于制作身份证的规范)。
为了提供公用网络用户目录信息服务,并规定了实体鉴别过程中广泛适用的证书语法和数据接口,X.509 称之为证书,或者说是身份证的一种形式,类似与我们现在的二代身份证,也是身份证的一种,根据特定的标准制作出来的。
另外证书使用的时候还有有效期的限制,和我们的身份证的10年有效期一样。
证书也可以设置有效期。
【4】X.509 证书的获得和管理:
【4.1】免费数字证书:获得免费数字证书的方法有很多,目前国内有很多CA中心提供试用型数字证书,其申请过程在网上即时完成,并可以免费使用。
下面提供一个比较好的站点,申请地址为https:///。
注意只有安装了根证书(证书链)的计算机,才能完成申请步骤和正常使用。
推荐另外一个可以免费申请证书的CA:/【4.2】从CA获得:商业应用最好从证书的签发机构CA获得证书,比如VeriSign证书服务机构,这样商业CA服务机构的证书已经广泛使用,有的系统默认为可信任的证书签发机构。
但是证书需要付费。
【4.3】windows Server 2003证书服务:在windows Server 2003中安装证书服务器,这样windows Server 2003服务器即可当做一个证书服务机构CA,可以申请签发证书。
也就是私有的身份证办法和制作机构,好比很多企业里的胸卡,HR就可以自己制作,但是使用范围只限制在企业内部。
【4.4】makecert工具:
微软在.Net Framework 重集成了一个生成X.509数字证书的命令行工具Makecert.exe。
使用的的命令行在VS2005命令行窗口里启动,输入一下参数:makecert -sr CurrentUser -ss My -n CN=FrankCertificate -sky signature -pe
可以残生以个签名的密钥。
运行时候可以得到相应的操作提示:如图
具体的参数说明:详细帮助文档:
/library/chs/default.asp?url=/library/CHS/cptools/html/cpgrfcertific atecreationtoolmakecertexe.asp
-sr CurrentUser -- 证书存储位置。
Location 可以是 currentuser(默认值)或
localmachine
-ss My -- 证书存储名称,输出证书即存储在那里。
My表示保存在“个人”
-n CN=MyTestCert -- 证书名称。
此名称符合 X.500 标准。
最简单的方法是在双引
号中指定此名称,并加上前缀 CN=;例如,
"CN=FrankXu"。
-sky exchange -- 指定颁发者的密钥类型,必须是 signature、exchange 或一个表
示提供程序类型的整数。
默认情况下,可传入 1 表示交
换密钥,传入 2 表示签名密钥。
-pe -- 私钥标记为可导出。
这样私钥包括在证书中。
这个命令生成一个名字为FrankCertificate的证书,被保存到了当前用户的个人证书
存储区内。
一般我们自己开发使用的Windows证书服务
来管理和获取证书。
【5】总结:
通过以上的学习,不知道你清除了非对称加密、公钥、密钥、证书、还有签名的之间的区别和关系没有。
在说明证书概念的时候我使用身份证做了类比,并把证书服务机构和管理身份证的公安局做比较来阐述证书的概念。
最后基于上面证书概念的理解,本文又详细介绍X.509 证书的相关的知识,以及如何的获得X.509 证书和管理X.509 证书。