非对称加密和x509

来源:互联网 发布:淘宝远望手机可靠吗 编辑:程序博客网 时间:2024/06/05 18:49

非对称加密算法又称为公钥加密算法按照密码学的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)提供下列非对称(公钥/
私钥)加密算法

DSACryptoServiceProvider RSACryptoServiceProvider 
因此公钥和私钥在非对称加密算法里是成对出现的公钥公开出来用来加
密数据谁都可以使用这个公钥对自己传递的数据加密。私钥所有者通过自己
的私钥对数据进行解密私钥一般只有所有者知道因此别人截获数据也无法
破译信息的内容。 
【3】证书和签名 
证书实际对于非对称加密算法(公钥加密)来说的一般证书包括公钥、姓
名、数字签名三个部分。证书好比身份证证书机构(ca)就好比是公安局职
责就是负责管理用户的证书也就是身份证。 
比如我的公钥是FrankKey,姓名是Frank Xu Lei。公安局可以给我登记
但是怎么保证我和别的Frank Xu Lei区别开呢于是公安局(证书机构)就使用

我的名字和密钥做了个组合再使用一种哈希算法得出一串值来标识我的
唯一性这个值就是我的身份证号码也就是证书里的数字签名。 
假设一个朋友给我写信他就可以到公安局(证书机构)来查找我的身份证
(证书)。上面包括我的个人信息可以保证这个公钥就是我的。然后他把新建
进行加密邮寄给我。别人即使拆开我的信件因为没有密钥进行解密所以
无法阅读我的信件内容。这样就保证了信息安全。 
所以说加密不一定要证书取决于你数据安全具体的需求。一般大型的电
子商务网站都有自己特定的证书。证书管理的机构比较有名的就是
VeriSign(可以说是互联网上的身份证管理局)。企业可以申请注册它会给申
请者生成特定的签名。 
我们自己的企业内部应用如果需要的话可以在企业局域网内部建立企业
私有的证书服务器来产生和管理证书。 
其实X.509是由国际电信联盟(ITU-T)制定的一种定义证书格式和分布的国
际标准(相当于制作身份证的规范)。为了提供公用网络用户目录信息服务并
规定了实体鉴别过程中广泛适用的证书语法和数据接口X.509称之为证书

或者说是身份证的一种形式类似与我们现在的二代身份证也是身份证的一
种根据特定的标准制作出来的。另外证书使用的时候还有有效期的限制和
我们的身份证的10年有效期一样。证书也可以设置有效期。 
【4】X.509证书的获得和管理 
【4.1】免费数字证书获得免费数字证书的方法有很多目前国内有很多
CA中心提供试用型数字证书其申请过程在网上即时完成并可以免费使用。
下面提供一个比较好的站点申请地址为https//testca.netca.net/。注意
只有安装了根证书(证书链)的计算机才能完成申请步骤和正常使用。推荐另
外一个可以免费申请证书的CA 
【4.2】从CA获得商业应用最好从证书的签发机构CA获得证书比如
VeriSign证书服务机构这样商业CA服务机构的证书已经广泛使用有的系
统默认为可信任的证书签发机构。但是证书需要付费。 

0 0
原创粉丝点击