详解公钥、私钥、数字证书的概念

    技术2022-05-11  26

    加密和认证   首先我们需要区分加密和认证这两个基本概念。    加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击。其重点在于数据的安全 性。身份认证是用来判断某个身份的真实性,确认身份后,系统才可以依不同的身份给予不同的权限。其重点在于用户的真实性。两者的侧重点是不同的。

      公钥和私钥       公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密(使用用户名与密码)方式的提高。

          在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是非对称密钥密码系统,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。

      公钥私钥的原则:

    一个公钥对应一个私钥。 密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥。 如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密。 如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。

          用电子邮件的方式说明一下原理。       使用公钥与私钥的目的就是实现安全的电子邮件,必须实现如下目的:       1. 我发送给你的内容必须加密,在邮件的传输过程中不能被别人看到。       2. 必须保证是我发送的邮件,不是别人冒充我的。       要达到这样的目标必须发送邮件的两人都有公钥和私钥。       公钥,就是给大家用的,你可以通过电子邮件发布,可以通过网站让别人下载,公钥其实是用来加密/验章用的。私钥,就是自己的,必须非常小心保存,最好加上 密码,私钥是用来解密/签章,首先就Key的所有权来说,私钥只有个人拥有。公钥与私钥的作用是:用公钥加密的内容只能用私钥解密,用私钥加密的内容只能 用公钥解密。       比如说,我要给你发送一个加密的邮件。首先,我必须拥有你的公钥,你也必须拥有我的公钥。       首先,我用你的公钥给这个邮件加密,这样就保证这个邮件不被别人看到,而且保证这个邮件在传送过程中没有被修改。你收到邮件后,用你的私钥就可以解密,就能看到内容。       其次我用我的私钥给这个邮件加密,发送到你手里后,你可以用我的公钥解密。因为私钥只有我手里有,这样就保证了这个邮件是我发送的。

     

          非对称密钥密码的主要应用就是公钥加密和公钥认证,而公钥加密的过程和公钥认证的过程是不一样的,下面我就详细讲解一下两者的区别。

     

    基于公开密钥的加密过程

        比如有两个用户Alice和Bob,Alice想把一段明文通过双钥加密的技术发送给Bob,Bob有一对公钥和私钥,那么加密解密的过程如下:

    Bob将他的公开密钥传送给Alice。 Alice用Bob的公开密钥加密她的消息,然后传送给Bob。 Bob用他的私人密钥解密Alice的消息。

     Alice使用Bob的公钥进行加密,Bob用自己的私钥进行解密。

     

    基于公开密钥的认证过程

      身份认证和加密就不同了,主要用户鉴别用户的真伪。这里我们只要能够鉴别一个用户的私钥是正确的,就可以鉴别这个用户的真伪。

      还是Alice和Bob这两个用户,Alice想让Bob知道自己是真实的Alice,而不是假冒的,因此Alice只要使用公钥密码学对文件 签名发送给Bob,Bob使用Alice的公钥对文件进行解密,如果可以解密成功,则证明Alice的私钥是正确的,因而就完成了对Alice的身份鉴 别。整个身份认证的过程如下:

    Alice用她的私人密钥对文件加密,从而对文件签名。 Alice将签名的文件传送给Bob。 Bob用Alice的公钥解密文件,从而验证签名。

     Alice使用自己的私钥加密,Bob用Alice的公钥进行解密。

     

    根证书

           根证书是CA认证中心给自己颁 发的证书,是信任链的起始点。安装根证书意味着对这个CA认证中心的信任。

     

    总结

     

          根据非对称密码学的原理,每个证书持有人都有一对公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由证书持人自己持有,并且必须妥善保管和注意保密。

          数字证书则是由证书认证机构(CA)对证书申请者真实身份验证之后,用CA的根证书对申请人的一些基本信息以及申请人的公钥进行签名(相当于加盖发证书机 构的公章)后形成的一个数字文件。CA完成签发证书后,会将证书发布在CA的证书库(目录服务器)中,任何人都可以查询和下载,因此数字证书和公钥一样是 公开的。  

          可以这样说,数字证书就是经过CA认证过的公钥,而私钥一般情况都是由证书持有者在自己本地生成的,由证书持有者自己负责保管。具体使用时,签名操作是发 送方用私钥进行签名,接受方用发送方证书来验证签名;加密操作则是用接受方的证书进行加密,接受方用自己的私钥进行解密。

     

     

     

     

     

    10.3.3  非对称密钥技术

    1.工作原理

    非对称密钥的加密密钥与解密密钥完全不同,并且不可能从任何一个密钥推导出另一个密钥。同时加密密钥为公钥是可以公开的,而解密密钥为私钥是保密 的。因此,非对称密钥技术也被称为公钥加密技术。非对称密钥技术的工作原理如图10-6所示,当明文通过加密后发送给接收方时,先得到接收端的密钥对产生 器产生的一对密钥中的加密公钥,通过这个密钥将明文转变为密文,发送给接收端,而接收端接收到密文后,使用一对密钥中的解密密钥,即私钥,来将密文转变为 明文。

     

    非对称密钥技术实现了信息的发送方与接收方的验证身份功能,防止了用户在发送信息或者接收信息后发生抵赖的事件,解决了信息传输的保密性问题。非对 称密钥技术使用了加密算法中使用的公钥与解密算法中使用的私钥,并且这两个密钥无法通过计算从一个推出另一个。如果使用公钥作为加密密钥,私钥作为解密密 钥,可以实现多个用户发送的密文,只由特定的接收方才能解读;反之,如果使用私钥作为加密密钥,公钥作为解密密钥,则可以实现一个用户的加密消息由多个用 户解读,这种非对称密钥也称为数字签名。总的来说,通过非对称加密密钥的技术,N个用户之间进加密信息的通信,只需要N对密钥即可实现。当然它的缺点是加 密和解密的速度较慢。

    2.常用非对称密钥技术

    常用的非对称密钥算法包括RSA算法、DSA算法、PKCS算法和PGP算法。其中最常见的技术即为RSA算法,它的理论基础是数论中的大素数分 解,它的保密性随着密钥长度的增加而增强。但是,现在使用这种算法来加密大量的数据,其实现的速度太慢了,因此该算法现在广泛应用于密钥的分发。

    ※重点提示:加密的基本思想即是将明文转变为密文,而解密则是将密文转变为明文,这样保证了信息传输的保密性。密钥是加重密算法中的可变参数,密钥的位数长度决定了加密算法的安全性。传统的密码体制包括对称密码体制和非对称密码体制。

     

     

    摘自:http://book.51cto.com/art/200908/144798.htm,http://pepa.javaeye.com/blog/250991


    最新回复(0)