导航:首页 > 文档加密 > 加密私钥证书

加密私钥证书

发布时间:2022-09-25 05:24:09

A. 通信安全:哈希、加密、证书、签名、密钥协商、ECDH、TLS、DTLS

哈希也叫散列,是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值,也叫摘要(Digest)。

这种转换是一种 压缩映射。 也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值,但如果输出的位数足够,不同输入散列成相同输出的概率非常非常小。

简单的说, 散列就是一种将任意长度的消息压缩到某一固定长度的消息摘要的过程

散列是不可逆的 ,也就是无法通过输出还原输入,此特性常被用于密码保存。

SHA-512、MD5等都是着名的散列函数,MD5生成的散列码是128位,甚至MD5就是哈希的同名词,你可以通过网站:https://passwordsgenerator.net/sha512-hash-generator/ 在线计算哈希。

散列有什么用?

加密就是把 明文变成密文的过程,解密就是反方向把密文变成明文

比如着名的 凯撒密码 ,就是把每个字对应到另一个,这样的话,只要有密码本,就能对照完成加解密。比如最简单的,对于英文26个字母,每个字母右移3个,abc变成def,这也是一种加密,当然这种加密很简单,很容易被破译。

而诸如AES(高级加密标准)、3DES(三重数据加密算法)则被公认为很难破解,不过山东大学女教授王小云很厉害,破解了MD5和SHA-1,迫使加密标准升级,最终当上了院士。

对称加密

对称加密就是加解密的密钥是一样的,优点是快,这也是传统的加密方式,像AES、3DES都是对称加密。

非对称加密

非对称加密用于加解密的密钥不一样,有2个密钥,公钥和私钥,公钥可以公开,私钥妥善保管。RSA、ECC(椭圆曲线加密算法)、DH(密钥交换算法)这些都是非对称加密。

非对称加密很慢,有多慢?相比对称加密慢1000倍,因为慢,所以它常用于密钥协商(Handshake),协商出会话密钥后,再用对称密钥加密通信数据。

1976年,Whitfield Diffie和Martin Hellman首次提出了非对称加密的概念,该算法被称为Diffie-Hellman密钥交换。然后在1978年,麻省理工学院的Ron Rivest,Adi Shamir和Leonard Adleman发表了RSA 算法。这些都可以被视为非对称加密的基础。

非对称加密也称为公钥基础结构,又称PKI。 非对称加密的提出是密码学上的一次革命,影响深远。

非对称加密算法用私钥加密,用公钥解密,或者用公钥加密,用私钥解密。

证书就是为了证明我是我,比如你要访问中国银行网站,但中行官网如何证明它是中行官网呢?答案就是数字证书。

CA是数字证书中心,服务器需要找CA做认证,让CA给自己颁布数字证书,数字证书内一般包含服务的一些信息、以及服务器的公钥,通过CA的私钥加密后,产生的数字证书,因为CA的权威性,且它的公钥天下皆知,所以,如果你能用CA的公钥解开证书,那便可证明该证书一定是CA颁发的,要不然它不会有CA的私钥,也便没法产生可用CA公钥解密的证书。

所以,由此可见,数字证书用到了非对称加密。

日常生活中也有签名,每个人的笔迹是不一样的,你刷卡消费后在账单签上大名,服务员校验过之后保存下来,你哪天赖账,便可以有签名为证,因为别人写的字跟你的笔迹终有差别。

那数字签名是什么呢?比如a发一封email,接收方怎么证明这封信是a写的?

本质上,数字签名也是利用了非对称加密。

前面讲了,非对称加密有公钥和私钥,如果发生方用私钥加密,然后接收方用发送方的公钥可以解密,那便可以证明是从某发送方发送的,因为别人拿不到你的私钥,也便无法用你的私钥加密,你不能抵赖。

数字签名通常先对内容算哈希,产生内容摘要,再用私钥加密,得到签名。

下面举一个例子来说明这几个问题:

张三有2把钥匙,一把公钥,公告天下,一把私钥,妥善保管,只有自己知道,很明显,非对称加密。

李四给张三写信,写完之后,用张三的公钥加密,通过邮局寄给张三,即使邮递员拆开信封看,他也看不懂,因为内容是密文,只有张三的密钥才能解密。

张三收到信后,用私钥解密,可以正常阅读。

现在张三要给李四回信,写完后,用hash函数生成摘要digest。

然后张三,再用私钥对摘要加密,生成数字签名signature。

然后把签名附在信的下面,一起发给李四。

过程是:信明文 -> hash -> digist -> 私钥加密 -> signature。

李四收到回信后,用张三的公钥对数字签名解密,得到摘要,由此证明,信确实是张三发出的,为什么?因为如果不是张三发的,那写信的人就没有张三私钥,用别的私钥加密得到的签名,是无法用张三的公钥解开的。

李四,再对信的内容做hash,得到摘要,与上一步得到的摘要对比,如果一致,则证明信的内容没有被修改过,信的内容是完整的。

复杂的情况出现了。

王五,用自己的公钥替换李四保存的张三的公钥,也就是王五欺骗了李四,李四误把王五的公钥当张三的公钥,这样一来,王五就能冒充张三给李四写信(王五用自己的私钥加密)。

问题是什么?问题是李四不能确信自己保存的公钥真的是张三的公钥。如果客户端电脑上存的工商银行官网的公钥,实际上是骗子公司的公钥,那就麻烦大了。

怎么破?让张三去认证中心CA(Certificate Authority),为公钥做认证,怎么做呢?CA中心用自己的私钥,对张三的公钥和其他相关信息一起加密,生成数字证书(Digital Certificate)。

张三拿到数字证书后,以后给李四回信,在签名的同时,附带上数字证书。

李四收到信之后,从CA的公钥解开数字证书,取出张三的公钥(一定是真的),然后就能放心的愉快的按之前的流程解开签名了。

数字证书加入后,核心区别就是张三的公钥不再保存在李四处,而是通过数字证书下发。

为什么数字证书里的张三的公钥一定是真的呢?因为CA是权威机构,假设全世界就一家(其实不止,但也不多),它的公钥天下尽知,就是固定的串,所以能用CA公钥解开的证书,一定是CA颁布的,因为CA用它的私钥加密产生的证书。很明显,非对称加密能用于证明我是我。

密钥交换算法

着名的DH密钥交换算法,这个算法很有意思,也很巧妙,简而言之,就是通信双方交换一点信息(不怕被偷看到),然后就在两端,分布产生出一个相同的密钥,神奇啊。

有一个很有意思的例子。

Alice和Bob要协商出一个公共的颜色,他们可以交换信息,但交换的信息,可以被偷看到,怎么办?既能协商出公共颜色,又不能让别人知道呢。

密钥交换算法的原理跟这个差不多,网上有大量的资料讲述这个问题,我觉得理解了上面的例子,再看ECDH便也不难了。

众所周知http是互联网协议,但是它不够安全,所以后面有改进版的https,其实就是多了一个TLS,这个是传输层加密,本质上,就是通过handshake,协商出一个会话密钥,后面的数据传递,都用这个密钥做对称加解密。

我们经常讲安全通道,其实也就是协商出一个会话密钥,他并不神秘。胡乱放几张图片吧。

为了减少这几个RTT,又想了各种办法,然后复用连接的话,就可以做到0RTT,1RTT了。

就说这些吧,最后抛几个名词,有兴趣自行网络学习:DTLS,HMAC,AEAD,重放攻击,放大攻击,是不是很高端?

B. 老师你好,在ssl证书中,cer是公钥证书,key是私钥证书,crt是证书链对吗

key是SSL证书私钥。而.cer和.crt是证书链,其中,.cer是服务器证书,.crt是中间证书。

一般上传的时候都是合着上传写入的,比如网络云加速上传SSL证书的时候,在证书输入框输入.cer的文本,再回车输入.crt的文件,即可完成证书链。

ssl证书优点:

一般说来,在网上进行电子商务交易时,交易双方需要使用数字签名来表明自己的身份,并使用数字签名来进行有关的交易操作。随着电子商务的盛行,数字签章的颁发机构CA中心将为电子商务的发展提供可靠的安全保障。

一个有效、可信的 SSL 数字证书包括一个公共密钥和一个私用密钥。公共密钥用于加密信息,私用密钥用于解译加密的信息。因此,浏览器指向一个安全域时,SSL 将同步确认服务器和客户端,并创建一种加密方式和一个唯一的会话密钥。

一般而言,由 CA 业界发出的数字证书,有别于国内浏览器业者比对域名信息等方式,采取更为严格的企业及所有权验证,为电商环境树立更为可信的运作环境。

如果您的网站使用 SSL 证书 (SSL Certificates),并显示了签章 (Secured Seal),您的客户就知道他们的交易安全可靠,并且充分信赖您的网站。

C. 关于公私钥、各种证书、https基本概念扫盲

最近实习需要写一些生成证书的脚本,借此机会顺便搞清楚了许多关于证书这块的疑惑。说到这一块东西,名词多到爆炸,对称加密、非对称加密、密钥、密钥库、公钥、私钥、CA、证书、数字签名、ssh、https、ssl、keytool、openssl、PKCS、X.509以及令人眼花缭乱的文件后缀名,cer、crt、pem、keystore、jks、key、p12、pfx...

先听我讲个故事,这次我们不用Bob和Alice,听完之后再去看这些概念,绝壁恍然大悟。

故事背景: 这是2018年,为了能够安全的进行通信,假设每个人都有俩把锁,一个叫A锁,一个叫B锁,这俩把锁和一般的锁有点区别,每把锁上即带有自己的锁孔又带有另一把锁的钥匙,因此A锁和B锁既是锁又是钥匙。 A锁和B锁唯一配对,A锁锁住之后,只有B锁可以打开,同样B锁锁住之后,只有A锁可以打开 。其中一把锁是公开的,而一把锁则自己保管,不公开。假设默认A锁是公开的,B锁是私有的。

故事内容: 阿里巴巴子弟小学的小明想给隔壁班的小花写封表白信,为了不被别人看到,他将信放入在信箱中,并用小花的A锁将信箱锁住,因为小花的B锁(同是A锁的钥匙)只有小花自己有,所以除了小花以外的任何人拿到信件,都无法看到信件内容。同样小花要给小明写信,那么也要用小明的A锁对信件内容进行保护。

小明与小花通过就这样聊了有一段时间,后来小花觉得差不多了,可以进入秀恩爱的阶段了,跟小明说,以后写信别tm加密了,又不是银行卡密码,被人看到又能怎么样呢?只要看了之后别瞎改就行了。于是小明在写完信后,把信里每个字的拼音首字母拼凑了一个字符串,并取名为 消息摘要 ,然后仅仅将消息摘要放入信箱,用自己的B锁锁住这个信箱。虽然信件本身没有放入安全的信箱,但小明作为一个情书高手,随便一封信都是上万字,如果其他人对信件内容做任何改变,那么拼音首字母组成的字符串几乎肯定会改变,因此小花拿到信件后,先用小明的A锁(B锁的钥匙)打开信箱,拿到小明的摘要,然后小花再对信件内容做同样的处理(即计算信件每个字的拼音首字母,实际上不会用这么简单的算法,而是会用不可逆的hash算法),计算出的字符串值如与小明的信息摘要一致,说明这封信就是小明写给自己的,没有被任何人篡改。

故事高潮: 事情并没有那么简单,小花发现小明只是在信件里对自己热情似火,平常见了面连声招呼都不打,一副不认识的样子。终于有一天小花忍不住了,当面质问小明,小明却说,我什么时候给你写情书了,自作多情吧...于是小花把昨天刚收到的情书狠狠甩在了小明脸上:“上面落款不是你小明吗?怎么了,怂了?”小明一看上面还真是自己的名字,但是自己写没写信自己还不知道吗?小明把自己的作业本拿给小花,并叫自己的同桌做笔迹鉴定,小花发现笔迹的确不大像,看来是有人恶作剧,冒充小明给自己写情书,哎,好尴尬啊。。。

故事讲完了,文章开头涉及的所有概念都与信息的安全传输有关,可以说,一切都是为了安全。关于通信安全,我们通常有三个基本的需求

我们以上面的故事为例说一下这三点安全需求,一开始小明与小花通过A锁( 对应公钥 )加密,B锁( 对应私钥 )解密的通信方式即符合第一点,信件内容本身被加密,而因为公私钥唯一配对,只有配对的密钥才可以解密,因此很难被第三人破解。

之后,为了秀恩爱,他们采用了B锁( 私钥 )加密,A锁( 公钥 )解密的通信方式,其中用私钥对消息摘要加密后的字符串称为 数字签名 ,这样虽然信件可以被人直接看到,但如果被人篡改掉后可以轻易发现数据被篡改。本来以为满足第一条和第二条就可以安全的通信了,但最后才发现小明根本不是小明!为什么会出现这样的问题?因为“小明”说他是小明,小花就以为他是小明,他没有提供任何证明自己真的是小明的认证。因此要想安全通信,我们还需要一个权威第三方的机构来做身份认证,这个机构就是CA机构,通过认证后,CA机构会颁发权威的证书,而有了证书就可以证明身份,就不会出现身份被假冒的情况。而认证的过程则需要向CA机构提供自己的身份信息以及私钥。

对称加密就是通信双方或多方采用的密钥是一样的。加解密速度快,但不够安全。因为一旦密钥泄露,谁都可以对数据进行解密。非对称加密就是当然就是通信双方使用的密钥不同。而公钥和私钥就是非对称加密的一种方式。比较常用的对称加密算法如
AES、DES,非对称加密比较常见的则有sha256,RSA。
非对称加密算法有俩个密钥,一个公钥,一个私钥。公钥和私钥必须配对出现,一对公钥和一个私钥统称为一个 密钥 ,而 密钥库 中可以存放多个密钥,即多对公私钥。

如果你用github的话,应该注意到github链接有俩种方式。一种是https,一种是ssh,通过https经常需要输密码,而通过ssh则不需要。回忆你设置ssh的步骤,本地生成了一个密钥对,并将公钥上传到了github。每次传输用自动本地私钥加密,服务器用你上传的公钥解密,就不需要手动输入密码了。

keytool和openssl是俩个证书管理工具.keytool是java JDK自带的证书管理工具,使用keytool可以生成密钥,创建证书。只要装了jdk,并正确设置了环境变量,就可以之间通过命令行执行keytool命令来管理证书。
openssl则是一个开源的安全套接字层密码库,功能比keytool更加丰富。

PKCS全称Public-Key Cryptography Standards 即公钥标准,PKCS已经发布了15个标准。
PKCS#12 包含了公钥和私钥的二进制格式的证书形式,以pfx作为证书文件后缀
X.509 则是一个通用的证书标准,规定了证书应该包含哪些内容,X.509通常有俩种编码方式,一种是二进制编码,另一种是base64编码
X.509#DER 二进制格式证书,常用后缀.cer .crt
X.509#PEM 文本格式证书,常用后缀.pem

因为http是明文传输,非常不安全,因此又提出了ssl(Secure Sockets Layer即安全套接字)层协议,即在原来的基础上又加了一层协议用于保障安全传输,可以认为https=ssl+http。很多人刚开始接触https,用浏览器F12打开控制台后。可能发现数据仍然没有加密。要注意https是 传输层加密 ,浏览器F12控制台你看到的还是应用层的数据。
因为本文主要是概念扫盲,帮助理解,因此关于这部分具体细节不作介绍。

.keystore和.jks和.truststore都是java用来存放密钥的文件
.key nginx中私钥文件
而不同的证书文件后缀都是为了区分不同种类的证书的,主要有俩个分类维度

D. SSL工作原理,SSL加密原理,SSL证书怎么加密

TLS/SSL的功能实现主要依赖于三类基本算法:散列函数 Hash、对称加密和非对称加密,其利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。

E. 私钥、公钥、证书的区别和关系

1.首先我们需要区分加密和认证这两个基本概念。
加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击。其重点在于数据的安全性。身份认证是用来判断某个身份的真实性,确认身份后,系统才可以依不同的身份给予不同的权限。其重点在于用户的真实性。两者的侧重点是不同的。
2.其次我们还要了解公钥和私钥的概念和作用。
在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是非对称密钥密码系统,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。
公钥私钥的原则:
一个公钥对应一个私钥。
密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥。
如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密。
如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。

F. 如果SSL证书私钥丢失了怎么办

丢失可以通过以下方式解决

解释原因:

  1. 可以让签发机构重新提交CSR,重新申请SSL证书。
  2. 如果是签发机构直接生成的提交的SSL证书,可以去重新下载一份SSL证书。

  3. SSL证书商业证书可以进行私钥更新,相当于重新提交认证签发。

解决办法:重新提交签发SSL证书就可以了。也可以在Gworg申请SSL证书,自助生成提交。

G. 数字证书是什么,公钥加密和私钥签名

数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,数字证书不是数字身份证,而是身份认证机构盖在数字身份证上的一个章或印(或者说加在数字身份证上的一个签名)。它是由权威机构——CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。
非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。
另一方面,甲方可以使用乙方的公钥对机密信息进行签名后再发送给乙方;乙方再用自己的私匙对数据进行验签。
甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。 非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
非对称密码体制的特点:算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。这样安全性就大了很多。

H. 私钥、公钥、证书的区别和关系

私钥是要求你输入个人密码才可访问的,一般网上银行之类可用到。
公钥不要求设置密码,是已经默认了的,一般上一些安全性要求不高的网站或共享资源,如局域网。
证书是一种网站加密浏览方式,只有允许了才可访问,一般为安全性较高的网站,如网上银行;可以访止黑客盗取客户资料。

阅读全文

与加密私钥证书相关的资料

热点内容
unity资源包在哪个文件夹 浏览:702
阿里云服务器远程链接不成功 浏览:482
文件系统pdf 浏览:762
原神安卓区服什么意思 浏览:34
贝壳app怎么线上发布 浏览:157
如何挑选安卓系统机顶盒 浏览:53
安卓快充使用有什么注意事项 浏览:909
黑马程序员的云计算网课 浏览:946
endnotestyle文件夹怎么导入 浏览:460
讲解少儿编程演讲会开头 浏览:424
思科交换机基础命令 浏览:497
便签可以设置加密吗 浏览:339
免费漫画app怎么看书 浏览:27
华为笔记本电脑怎么安装抖音app 浏览:412
阿里云国际版试用的服务器怎么搞 浏览:895
java正则表达式工具 浏览:160
oa服务器怎么设置ftp 浏览:10
安卓如何安装obb 浏览:442
QQ聊天记录journal文件夹 浏览:118
苹果公司云服务器地址 浏览:85