加密和认证

 先前我曾经写了一篇“网站的安全登录认证设计”,可能是讲述的不够清楚,有一位读者就留言质疑到,“公钥顾名思义就是公开的啦,只要你愿意,谁都会有你的公钥,何来安全?应该是用网站的公钥加密,传到网站后,网站用自己的私钥解密吧”。

  这些密码学的概念容易被搞混淆,的确也情有可原。因为公钥、私钥、加密、认证这些都是较为复杂的问题,其概念不太容易理解,理解不透就容易产生各种似是而非的概念,为了让大家对于密码学有进一步的了解,这里我就详细解说一下公钥和私钥的具体作用和使用方法。

  加密和认证

  首先我们需要区分加密和认证这两个基本概念。

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

  公钥和私钥

  其次我们还要了解公钥和私钥的概念和作用。

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

  公钥私钥的原则:

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

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

  基于公开密钥的加密过程

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

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

  上面的过程可以用下图表示,Alice使用Bob的公钥进行加密,Bob用自己的私钥进行解密。

  基于公开密钥的认证过程

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

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

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

  上面的过程可以用下图表示,Alice使用自己的私钥加密,Bob用Alice的公钥进行解密。

  总结

  好了,上面就详细讲述了加密、认证、公钥、私钥这四个概念,明白这些概念后,你就应该对“网站的安全登录认证设计”一文所讲述的概念有了更清晰的了解了。

时间: 2024-10-21 04:39:57

加密和认证的相关文章

MD5、公钥、私钥、加密、认证

MD5 MD5的全称是Message-Digest Algorithm 5. MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法. 换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串, MD5的典型应用 1:对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”. 举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传

加密与认证

加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击.其重点在于数据的安全性. 身份认证是用来判断某个身份的真实性,确认身份后,系统才可以依不同的身份给予不同的权限.其重点在于用户的真实性.两者的侧重点是不同的. 加密中常用的加密算法是 非对称加密算法(公钥私钥加密算法) 公钥私钥的原则: 一个公钥对应一个私钥. 密钥对中,公钥公开,私钥由密钥持有人自己妥善保管(不公开). 如果用其中一个密钥加密数据,则只有对应的那个密钥才可以

密码学扫盲:加密、认证、公钥、私钥

近日,在接触Hadoop的过程中,涉及到公钥与私钥不怎么清楚,写一遍博客来学习学习. 加密和认证 加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击.其重点在于数据的安全性. 身份认证是用来判断某个身份的真实性,确认身份后,系统才可以依不同的身份给予不同的权限.其重点在于用户的真实性.两者的侧重点是不同的. 公钥与私钥 公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密(使用用户名与密码)方式的提高. 公钥是给别人用的.

加密、认证、DH算法

首先理解加密算法 其次理解DH算法 最后解析ipsecVPN 理解加密算法 一个完整的加密方法由很多因素组成,但是最关键的两个因素是加密算法和密钥.加密算法通常是非常复杂的数学公式,这些公式确定如何将明文转化为密文的运作过程与规则.密钥是一串被加入到算法中的随机比特,若要使两个加密点之间进行加密的通信,必须使用相同的加密算法.而且在某些时候他们需要使用相同的密钥(对称式加密),当然在很多时候两者使用不同的密钥来进行加密或者解密(非对称加密). 下面描述对称式加密算法和非对称式加密算法: 对称式加

加密,认证疑难名词总结----RSA, 公钥,私钥,CA,数字签名,数字证书

在网络和操作系统安全通信中经常涉及到这几个名词: RSA, 公钥,私钥,CA,数字签名,数字证书.我找了很多资料,很少有把疑难点讲全面的.但不讲清楚这几个,很难有一个清晰的认识和理解.我现在也尝试这样的方式,自己总结,以便后来查看,同时也希望能帮助一些人少走弯路,省去baidu, google, 看RFC的时间. 对称和非对称,公钥和私钥:加密的两种方式:对称加密和非对称加密.对称加密:加密的密钥也叫公钥和解密的密钥(也叫私钥)相同.特点是算法公开.计算量小.加密速度快.加密效率高.非对称加密:

app与后台的token、sessionId、RSA加密登录认证与安全解决方案

一.登录机制 粗略地分析, 登录机制主要分为登录验证.登录保持.登出三个部分.登录验证是指客户端提供用户名和密码,向服务器提出登录请求,服务器判断客户端是否可以登录并向客户端确认. 登录认保持是指客户端登录后, 服务器能够分辨出已登录的客户端,并为其持续提供登录权限的服务器.登出是指客户端主动退出登录状态.容易想到的方案是,客户端登录成功后, 服务器为其分配sessionId, 客户端随后每次请求资源时都带上sessionId. 1.1 登录验证 上述简易的登录验证策略存在明显的安全漏洞,需要优

opensips使用加密密码认证

使用明文密码登录 modparam("auth_db", "calculate_ha1", yes) modparam("auth_db", "password_column", "password") 使用密码登录 modparam("auth_db", "calculate_ha1", 0) modparam("auth_db", "

安全与加密(openssl)

一.安全及威胁 NIST(National Institute of Standard and Technology,美国国家标准与技术研究院)制定了安全的数据应该具备的安全属性: 1)保密性 即认为安全的数据是具有隐私性的 2)完整性:数据不可被篡改,包括: 数据完整性: 系统完整性. 3)可用性 加密过的数据可以被还原且继续被使用 威胁我们数据安全的主要有以下攻击方式:STRIDE 1)Spoofing(假冒),arp欺骗等 2)Tampering(篡改) 3)Repudiation(否认)

加密、解密的原理及Openssl创建CA和ssh的基础应用

加密.解密的原理及Openssl创建CA和ssh的基础应用 随着互联网的不断发展和技术的不断成熟,在互联网上传输文件不在安全,在需要传送重要的数据时就必须加密处理. 密码算法分为三种:分别是对称加密,公钥加密,单向加密:以及需要对加密算法的认证,叫做认证协议.下面为大家概述对称加密,公钥加密,单向加密及认证协议 对称加密: 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密. 需要对加密和解密使用相同密钥的加密算法.由于其速度快,对称性