数字签名

公钥,私钥,数字签名,数字证书的相互关系

て烟熏妆下的殇ゞ 提交于 2020-01-25 14:21:02
我们经常听到数字证书,数字签名这些词。 这些证书,签名到底是什么? 他们又起到什么样的作用? 其原理是什么? 了解这些我们需要先了解加密方式,以及什么是公钥?什么是私钥? 1. 加密方式 先解释一下2种常用的加密方式。 ◆ 对称加密 加密的传统方法是对称加密。发出讯息者用一把钥匙对讯息加密。 接收讯息者需用这把钥匙将加密了的讯息解密。 这把钥匙必须以一种其他人没有机会得到它的方式给予接收讯息者。 如果其他人得到了这把钥匙,这种加密方式就没用了。 ◆ 非对称加密算法 非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey) 公开密钥与私有密钥是一对,可以相互加密和解密。 如果用公钥对数据进行加密,只有用对应的密钥才能解密。 如果用密钥对数据进行加密,那么只有用对应的公钥才能解密。 因为非对称加密算法安全性比较高,所以下面的数字签名,数字证书都是用了非对称加密算法。 2. 数字签名digital signature 在现实生活中,签名是为了表示这是签名者写的。计算机中,数字签名也是相同的含义。 举一个例子如果A,B两台计算机相互通讯: A计算机传输给B计算机信息的时候,A计算机会在消息的最后写上去自己的签名,以代表这些信息是A计算机的。 B计算机接到消息后,先看签名是不是A计算机判断不是别人冒充A计算机发送不安全或是无效的信息(有效性)。 除此之外

[转帖]SSL与IPSec的比较

坚强是说给别人听的谎言 提交于 2020-01-24 18:11:14
SSL与IPSec的比较 https://blog.csdn.net/Tianlujunr/article/details/82384303 SSL与IPSec的比较 本文内容非原创,由本人整理。仅供学习之用。原文见脚注。 SSL与IPSec是两个广泛使用的网络安全技术。 0. 软件硬件 IPSec适用于网对网的VPN连接(Site-Site),广泛应用于VPN路由器部署中。 SSL比较适用于移动用户的远程接入(Client-Site),广泛应用于网络安全交易和远程控制。 IPSecVPN用户通常需要有相应的客户端软件。 SSLVPN通常无需安装客户端,浏览器即可。 IPSec两端的软件需要供应商相同(见5.协作性),不利于建立企业外网的应用。需要配置管理通讯的每个结点,且从特定设备接入,提高了配置和运行的成本。 SSL让企业实现多用户在不同地点接入,需要维护中心结点和网关设备,客户端免维护,对客户端设备要求低,降低了配置和运行成本。 1. 认证算法 技术 支持的认证算法 IPSec 数字签名、密钥算法 SSL 数字签名 2. 认证方法 IPSec支持一种身份验证方法,SSL支持多种不同的身份认证方法。 IPSec采用双向身份验证,SSL采用单向/双向身份验证。 技术 验证方法 验证算法 IPSec 对等体身份验证 密钥算法 数字签名 SSL 服务器端身份验证 RSA算法(询问

PAC特权属性证书

馋奶兔 提交于 2020-01-23 15:52:46
在 Kerberos 最初设计的几个流程里说明了如何证明 Client 是 Client 而不是由其他人来冒充的,但并没有声明 Client 有没有访问 Server 服务的权限,因为在域中不同权限的用户能够访问的资源是有区别的。 所以微软为了解决这个问题在实现 Kerberos 时加入了 PAC 的概念, PAC 的全称是 Privilege Attribute Certificate(特权属性证书) 。可以理解为火车有一等座,也有二等座,而 PAC 就是为了区别不同权限的一种方式。 (1)PAC 的实现 当用户与 KDC 之间完成了认证过程之后,Client 需要访问 Server 所提供的某项服务时,Server 为了判断用户是否具有合法的权限需要将 Client 的 User SID 等信息传递给 KDC,KDC 通过 SID 判断用户的用户组信息,用户权限等,进而将结果返回给 Server,Server 再将此信息与用户所索取的资源的 ACL 进行比较,最后决定是否给用户提供相应的服务。 PAC 会在 KRB_AS_REP 中 AS 放在 TGT 里加密发送给 Client,然后由 Client 转发给 TGS 来验证 Client 所请求的服务。 在 PAC 中包含有两个数字签名 PAC_SERVER_CHECKSUM 和 PAC_PRIVSVR_CHECKSUM

PKI(Public Key Infrastucture)介绍

核能气质少年 提交于 2020-01-19 01:58:01
PKI(Public Key Infrastucture)介绍 根据Wikipedia PKI词条整理。 PKI(Public Key Infrastucture)是一系列的规则、策略以及过程,可以用来创建、管理、分发、使用、存储、移除数字证书以及管理公钥加密。PKI是用来实现信息的安全传输,在包括电子贸易、网上银行、保密电邮等网络活动中。在一些活动中,简单的密码验证已经不再适用,需要更加严格的验证来确认信息交互参与者的身份并验证正在传输的信息。 在密码学中,PKI是一种将实体的标识(identity)与公钥绑定在一起的组织结构。这种绑定是通过 Certificate Authority(CA)注册和颁发证书的过程建立的。根据绑定的保证级别,这可以通过自动化过程或在人工监督下进行。 PKI中实现有效正确的注册的角色称之为Registration Authority(RA),RA负责接受对数字证书的请求,并对发出请求的实体进行身份验证。 一个实体必须根据该实体的信息在每个CA域中惟一地标识。第三方验证机构(VA)可以代表CA提供此实体信息。 公钥加密技术可以在不可靠的公共网络中实现安全通讯,并通过数字签名技术来验证实体的身份。PKI是这样一个系统,用来创建、存储、分发数字签名,这些数字签名用来验证一个特定的公钥属于某个特定实体。PKI创建数字签名,这些数字签名将公钥map到实体上

Android Application Digital Signatures - Android 数字签名

泄露秘密 提交于 2020-01-16 07:08:41
Android 数字签名 同一个开发人员的多个程序尽可能使用同一个数字证书 ,这能够带来下面优点。 (1)有利于程序升级,当新版程序和旧版程序的数字证书同样时,Android系统才会觉得这两个程序是同一个程序的不同版本号。假设新版程序和旧版程序的数字证书不同样,则Android系统觉得他们是不同的程序,并产生冲突,会要求新程序更改包名。 (2)有利于程序的模块化设计和开发。Android系统同意拥有同一个数字签名的程序执行在一个进程中,Android程序会将他们视为同一个程序。所以开发人员能够将自己的程序分模块开发,而用户仅仅须要在须要的时候下载适当的模块。 (3)能够通过权限(permission)的方式在多个程序间共享数据和代码。Android提供了基于数字证书的权限赋予机制。应用程序能够和其它的程序共享概功能或者数据给那那些与自己拥有同样数字证书的程序。假设某个权限(permission)的protectionLevel是signature,则这个权限就仅仅能授予那些跟该权限所在的包拥有同一个数字证书的程序。 在签名时,须要考虑数字 证书的有效期 : (1)数字证书的有效期要包括程序的估计生命周期。一旦数字证书失效,持有改数字证书的程序将不能正常升级。 (2)假设多个程序使用同一个数字证书,则该数字证书的有效期要包括全部程序的估计生命周期。 (3)Android

https的原理

强颜欢笑 提交于 2020-01-16 02:04:26
Http存在的问题   上过网的朋友都知道,网络是非常不安全的。尤其是公共场所很多免费的wifi,或许只是攻击者的一个诱饵。还有大家平时喜欢用的万能钥匙,等等。那我们平时上网可能会存在哪些风险呢?   1. 泄密,个人隐私、账户密码等信息可能会被盗取。   2. 篡改,收到的数据可能被第三方修改过,或被植入广告等。   3. 假冒,访问的站点非目标服务器站点。如域名欺骗、域名劫持、钓鱼网站等。   可能住你隔壁穿人字拖、说话都略显羞涩的小王,一到夜深人静的时候就开始偷窥你的一举一动!陪你一起看91某社区的电影还好,万一窃取了各购物网站或其他站点的登录信息就……是不是想想有些害怕呢!   为什么别人能获取你上网的数据呢?有过一定网络基础的朋友多少都对TCP/IP有些了解,对各种握手挥手早已背得滚瓜烂俗,对http协议也早了然于心。http是应用层的协议,位于TCP/IP参考模型的最上层。用户数据经过应用层、传输层、网络层、链路层的层层封装后经过物理层发送到目标机器。在这几层中,数据都没有经过加密处理,所以一旦别人获取到你的数据包,就能轻易的获取到数据的信息。   为了保护数据隐私,让数据不再“裸奔”。对需要传输的数据进行加密处理就很有必要了。目前而言,加密算法可以分两大类,一类是对称加密算法,还有一类是非对称加密算法。 对称加密   对称加密算法的加密和解密都是用 同一个密钥

探究公钥、私钥、对称加密、非对称加密、hash加密、数字签名、数字证书、CA认证、https它们究竟是什么,它们分别解决了通信过程的哪些问题。

早过忘川 提交于 2020-01-15 20:29:39
一、准备   1. 角色:小白、美美、小黑。   2. 剧情:小白和美美在谈恋爱;小黑对美美求而不得、心生怨念,所以从中作梗。   3. 需求:小白要与美美需通过网络进行通信,联络感情,所以必须保证通信的安全性。 二、由通信过程中可能出现的问题来引出公钥、私钥、对称加密、非对称加密、hash加密、数字签名、数字证书、CA认证、https的相关知识     1. 场景1: 小白和美美在 http 协议下进行通信。     1.1 能否完成通信 :能。     1.2 还可能出现其他问题 :容易受到网络中间人攻击:在http协议下进行通信,信息是没有进行加密的,在透明的网络环境中,一旦信息被小黑截获,小黑可以查看、篡改信息内容,难以保证信息的安全。—— 问题所在:信息没加密。     1.3 解决办法 :引入“公钥、私钥”对信息进行加密,详情见“场景2”。    2. 场景2: 小白和美美依旧是在 http 协议下进行通信,但小白先准备了一对秘钥(公钥+私钥),私钥由小白自己保管,公钥则交给了美美。通信时,小白先用“小白的私钥”对信息进行加密,然后再发送给美美;美美收到信息后,用“小白的公钥”进行解密,得到明文。美美要给小白发信息时,先用“小白的公钥”对信息进行加密,然后再发送给小白;小白收到回复后,用“小白的私钥”进行解密,得到明文。     2.1 公钥、私钥     (1

非对称加密和数字签名的原理

99封情书 提交于 2020-01-14 15:30:16
信息,尤其是重要的或者私密的信息传递,一直伴随着安全问题,如何保证信息在传递过程中的安全,是几千年来人们一直在关注的问题。 从早期的隐藏信息传递介质,如:把信藏起来,埋在大米里面,或者把信息放入意想不到的地方,比如鸡蛋里,写在送信者的身上等等。 到后来开始对信息本身进行加密,如移位法,替代法,以及后来的密码本等等,加密技术层出不穷。同时,解密的技术也是紧随其后。 随着近代计算机的发明,加密技术也更进一步,重之前的字母层面,深入到数字层面,并基于此产生了一种相对实用的加密系统,叫做路西法加密系统(又名魔王系统),他在很大程度上解决了信息传输过程中的安全问题,但是它有一个软肋:秘钥。如果两个人之间需要使用这个系统进行加密通讯,为了保证秘钥安全,通讯双方需要先见一次面,把秘钥交给对方。如果秘钥需要定期更换的话,双方就需要定期见面,这使得这套加密系统使用起来非常不便。 非对称加密 为了解决以上的问题,有人发明了非对称秘钥加密系统,即RSA加密,它的原理是,通过一系列数学计算,生成一对秘钥:一个私钥,一个公钥。公钥用于加密,私钥用于解密。由于数学原理的原因,私钥可以推出公钥,而公钥无法推出私钥。 在使用的时候,私钥自己保存好,而公钥可以在不加密的情况下,发给任何你想要通讯的人。当对方需要向你发送消息时,可以使用拿到的公钥对信息进行加密,然后发送给你。你在收到信息后

公钥私钥加密解密数字证书数字签名详解

*爱你&永不变心* 提交于 2020-01-13 12:02:34
决心花一些时间,将这些概念和使用的过程彻底弄清楚。最先找到的文章是: 数字签名是什么? (阮一峰博客),读了一遍,又找了一些资料,终于把这些概念弄清楚了,这里整理记录一下。 首先明确几个基本概念: 1、密钥对,在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。 2、公钥,公钥用来给数据加密,用公钥加密的数据只能使用私钥解密。 3、私钥,如上,用来解密公钥加密的数据。 4、摘要,对需要传输的文本,做一个HASH计算,一般采用SHA1,SHA2来获得。 5、签名,使用私钥对需要传输的文本的摘要进行加密,得到的密文即被称为该次传输过程的签名。 6、签名验证,数据接收端,拿到传输文本,但是需要确认该文本是否就是发送发出的内容,中途是否曾经被篡改。因此拿自己持有的公钥对签名进行解密(密钥对中的一种密钥加密的数据必定能使用另一种密钥解密。),得到了文本的摘要,然后使用与发送方同样的HASH算法计算摘要值,再与解密得到的摘要做对比,发现二者完全一致,则说明文本没有被篡改过。 上面实际上介绍了加密解密和数字签名两个概念和实现过程,二者的过程正好是相反的。 在签名的过程中,有一点很关键,收到数据的一方,需要自己保管好公钥,但是要知道每一个发送方都有一个公钥,那么接收数据的人需要保存非常多的公钥,这根本就管理不过来

https数字证书基础概念(一)

空扰寡人 提交于 2020-01-13 05:25:22
基础概念 密钥 公钥密码体制 对称加密算法 非对称加密算法 CA 数字证书 摘要 摘要算法 数字签名 参考资料 后记 密钥 密钥,一般是一个字符串或数字,在加密或解密时传递给加密或解密算法 。下面公钥密码体制中提到的公钥和私钥都是密钥,只是公钥是加密时使用的密钥,私钥是解密时使用的密钥。 公钥密码体制 公钥密码体制(public-key cryptography)由公钥、私钥、加密算法三部分组成, 其中由公钥加密的内容只能由私钥解密 ,也就是说除了私钥之外,由公钥加密的内容无法被解密。公钥密码体制的加解密过程如下: 加密 :使用 加密算法 和 公钥 对明文进行加密,得到密文。 解密:使用 解密算法 和 私钥 对密文进行解密,得到明文。 公钥密码体制的公钥和算法都是公开的,只有私钥是保密的 。所以在实际使用中,都是生成一对公钥和私钥,把公钥发布出去,自己保留私钥。 对称加密算法 在对称加密算法(symmetric key algorithms)中,加密和解密时使用的密钥是相同的 。在安全通信之前,会要求通信双方商定一个密钥,泄漏密钥就意味着任何人都可以对发送或接收的消息解密;因此对称加密算法要保证安全性的话,密钥只能让使用的人知道,不能对外公开。 对称加密算法的特点: 算法公开、计算量小、加密速度快、加密效率高 。 非对称加密算法 在非对称加密算法(asymmetric key