公钥加密

相关命令

吃可爱长大的小学妹 提交于 2019-12-22 10:35:36
gpg gpg---OpenPGP encryption and signing tool gpg [options] [files] -c, --symmetric 仅使用对称加密 -e, --encrypt 加密数据 -d, --decrypt 解密数据 -s, --sign 制作签名 --clearsign 制作一个清晰文本签名 --verify 检查签名 -o, --output FILE 写出到文件 --gen-key 生成一个新的密钥对 -k, --list-keys 列出密钥 --export 导出密钥 --import 导入或合并密钥 -a, --armor create ascii armored()output -r, --recipient USER-ID 为用户id加密 --delete-keys 移除公钥 --delete-secret-keys 移除私钥 来自包: rpm -q --whatprovides gpg gnupg2-2.0.14-8.el6.x86_64 包内文件: rpm -ql gnupg2 示例: 1.对称加密file 文件 在A主机上加密file gpg -c file ls file.gpg 在B主机上解密file gpg -o file -d file.gpg 2.非对称(公钥)加密file文件 在hostB 主机上用公钥加密

为什么HTTPS比HTTP更安全?

风格不统一 提交于 2019-12-21 11:03:24
摘要: 理解HTTPS。 作者: 浪里行舟 Fundebug 经授权转载,版权归原作者所有。 前言 近几年,互联网发生着翻天覆地的变化,尤其是我们一直习以为常的HTTP协议,在逐渐的被HTTPS协议所取代,在浏览器、搜索引擎、CA机构、大型互联网企业的共同促进下,互联网迎来了“HTTPS加密时代”,HTTPS将在未来的几年内全面取代HTTP成为传输协议的主流。 读完本文,希望你能明白: HTTP通信存在什么问题 HTTPS如何改进HTTP存在那些问题 HTTPS工作原理是什么 想阅读更多优质文章请猛戳 GitHub博客 ,一年五十篇优质文章等着你! 一、什么是HTTPS HTTPS是在HTTP上建立SSL加密层,并对传输数据进行加密,是HTTP协议的安全版。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。 HTTPS主要作用是: (1)对数据进行加密,并建立一个信息安全通道,来保证传输过程中的数据安全; (2)对网站服务器进行真实身份认证。 我们经常会在Web的登录页面和购物结算界面等使用HTTPS通信。使用HTTPS通信时,不再用 http:// ,而是改用 https:// 。另外,当浏览器访问HTTPS通信有效的Web网站时,浏览器的地址栏内会出现一个带锁的标记。对HTTPS的显示方式会因浏览器的不同而有所改变。 二、为什么需要HTTPS

算法篇——RSA算法

跟風遠走 提交于 2019-12-21 02:45:16
1.导语:公钥和私钥原理 公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密(使用用户名与密码)方式的提高。我用电子邮件的方式说明一下原理。 使用公钥与私钥的目的就是实现安全的电子邮件,必须实现如下目的: 1. 我发送给你的内容必须加密,在邮件的传输过程中不能被别人看到。 2. 必须保证是我发送的邮件,不是别人冒充我的。 要达到这样的目标必须发送邮件的两人都有 公钥和私钥 。 公钥,就是给大家用的,你可以通过电子邮件发布,可以通过网站让别人下载,公钥其实是用来加密/验章用的。私钥,就是自己的,必须非常小心保存,最好加上密码,私钥是用来解密/签章,首先就Key的所有权来说,私钥只有个人拥有。公钥与私钥的作用是:用公钥加密的内容只能用私钥解密,用私钥加密的内容只能用公钥解密。 比如说,我要给你发送一个加密的邮件。首先,我必须拥有你的公钥,你也必须拥有我的公钥。 首先,我用你的公钥给这个邮件加密,这样就保证这个邮件不被别人看到,而且保证这个邮件在传送过程中没有被修改。你收到邮件后,用你的私钥就可以解密,就能看到内容。其次我用我的私钥给这个邮件加密,发送到你手里后,你可以用我的公钥解密。因为私钥只有我手里有,这样就保证了这个邮件是我发送的。 当A->B资料时,A会使用B的公钥加密,这样才能确保只有B能解开,否则普罗大众都能解开加密的讯息,就是去了资料的保密性

https基础流程

落花浮王杯 提交于 2019-12-20 21:24:34
一、HTTPS请求流程图 1、https在真正请求数据前,会先与服务器有几次握手验证,以证明相互的身份,如下图: 二、验证流程 https通信进行的准备工作。最主要的是客户端 预置证书机构的根证书 、 服务器端生成证书 。   1、客户端     在目前主流浏览器,会内置一些常用机构颁发的 根证书 ( 证书颁发机构的公钥 )   2、服务端     1、某服务器要申请证书,必须先自行生成一对公私钥,;     2、服务器将公钥交给第三方证书机构买证书;     3、证书机构用自己的私钥对服务端的公钥进行签名(即用证书机构的公钥+此签名, 可以校验服务端的公钥的正确性);     4、颁发证书,实际就是将服务器的公钥返回,并附加上机构用私钥做的签名;     5、服务器端部署此证书; 1、客户端发起一个https的请求,把自身支持的一系列Cipher Suite(密钥算法套件,简称Cipher)发送给服务端。 2、服务端接收到客户端所有的Cipher后与自身支持的对比,如果不支持则连接断开,反之则会从中选出一种加密算法和HASH算法以证书的形式返回给客户端 证书中还包含了公钥 颁证机构 网址 失效日期等等(此为明文。明文的含义是,本证书被截获、篡改均可被客户端识别)。 3、客户端收到服务端响应后会做以下几件事:   3.1 验证证书的合法性      颁发证书的机构

用故事说透https

谁说胖子不能爱 提交于 2019-12-20 19:41:13
本文来自素燕公众号,原文地址: 用故事说透https 故事中的主演: 小华今年上大一,这是她第一次离开父母,独自一人到北京上学。今天妈妈的生日,想了想要给妈妈一个祝福,便给妈妈发了条消息: 妈妈收到这条消息非常开心,女儿这么忙还能记得自己的生日,两个人便开始聊了起来。妈妈知道女儿一直省吃俭用,决定给女儿打点钱过去。 小黑是个***,专搞一些“偷鸡摸狗”的事情,他已经监听了这对母女的对话。一直看着她们唠家常,都快睡着了。 直到看到母女提到钱的事情,立马打起精神,决定搞一笔。然后他截获了小华的消息,替换成自己精心准备的内容给小华的妈妈发过去了。 小华的妈妈随后就把钱打给了小华,未曾想到母女二人的聊天内容尽在小黑的掌控之中。小黑拿到钱后就逃之夭夭了。 HTTP 协议是建立在 TCP 之上的,TCP 是否安全决定了 HTTP 是否安全。HTTP的报文内容并未加密,容易被监听和篡改。小黑就监听了母女二人的聊天内容,并对内容进行了篡改,伪装成女儿进行聊天。所以 HTTP 有以下 3 个问题: 1.内容未加密,容易被监听,都是明文传输; 2.无法验证内容的完整性,容易被篡改,也就是说不知道消息是不是被修改过; 3.无法验证对方的身份,我现在聊天的人是谁,可靠吗? 小华被骗后,心里很难过,把这件事告诉了她的计算机老师王大强。王老师听到被骗的经历,感到非常惊讶,消息为什么会被篡改呢

【科普】TLS1.3如此强大!我们如何迎接它?

允我心安 提交于 2019-12-19 11:09:14
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> HTTPS 时代已经来临,而新一代安全传输协议TLS1.3的普及会大大提升HTTP连接速度的性能,消除HTTPS使用性能上的担忧,助推HTTPS进一步应用落地。早在去年,阿里云CDN HTTPS就已经全面支持TLS1.3,鼓励用户逐步升级到更安全、性能更佳的TLS1.3,帮助终端获得更好的访问体验。本文由阿里云CDN技术专家林胜恩(啸坤)为你详细揭秘TLS1.3的发展历程、特性以及应用。 一、TLS1.3协议发展历程 SSL协议起源于1994年,当时网景公司推出首版网页浏览器及HTTPS协议,用于加密的就是SSL。此后相继推出SSL2.0及3.0版本,1999年IETF将SSL标准化,即 RFC 2246 ,并将其命名为TLS。2006年和2008年又分别推出TLS1.1和TLS1.2版本。 在SSL/TLS发展过程中曾出现过各种安全漏洞,如Heartbleed、POODLE,这导致SSL3.0及其之前版本逐渐废弃,目前互联网使用的主流协议是TLS1.2版本。 TLS1.3协议针对安全强化及效率提升等方面进行了大量修改,IETF相继推出个28个草案版本,历时4年多,终于在今年8月份完成最终的标准化 ( RFC 8446 ) 。 二、TLS 1.3协议好在哪? 安全强化 ,TLS1.3依循极简主义的设计哲学

强命名程序集,签名,延迟签名

こ雲淡風輕ζ 提交于 2019-12-19 02:28:21
强命名程序集 如果一个程序集有一个唯一的标记,那么这个程序集就可以叫做强命名程序集。在.NET框架中是通过公钥/私钥加密来产生这个唯一标记的。一个强命名程序集包含四个唯一标志程序集的特性:文件名(没有扩展名),版本号,语言文化信息(如果有的话),公有秘钥。 这些信息存储在程序集的清单(manifest)中。清单包含了程序集的元数据,并嵌入在程序集的某个文件中。下面的字符串标识了二个不同的程序集文件: “MyType, Version=1.0.1.0,Culture=neutral, PublicKeyToken=bf5779af662fc055” “MyType, Version=1.0.1.0,Culture=en-us, PublicKeyToken=bf5779af662fc055” 弱命名程序集 其实根本就没有弱命名程序集这个名称,只是为了和强命名程序集对应而产生的一个概念。弱命名程序集就是没有一个唯一标记的程序集,其实强程序集和弱程序集的结构是一模一样的,就是一个有唯一的标识符,而后者没有。它们之间的一个区别就是,强命名程序集有一个发布者的公钥/私钥签名对,它们可以唯一的标识程序集的发布者 强命名的好处 因为强命名程序集使用公钥/私钥对来进行唯一性签名,不同的公司公钥/私钥对不可能相同,所以所生成的程序也不相同,这就解决了以前老出现的DLL Hell问题

ssh免密码登陆及其原理

≯℡__Kan透↙ 提交于 2019-12-17 13:02:31
ssh 无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。 有机器A(192.168.1.155),B(192.168.1.181)。现想A通过ssh免密码登录到B。 1.在A机下生成公钥/私钥对。 [chenlb@A ~]$ ssh-keygen -t rsa -P '' 直接ssh-keygen然后三次回车就可以了。 -P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。 它在/home/chenlb下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub。 2.把A机下的id_rsa.pub复制到B机下,在B机的.ssh/authorized_keys文件里,我用scp复制。(如果B机器没有.ssh和authorized_keys文件则创建这个文件夹和文件先) [chenlb@A ~]$ scp .ssh/id_rsa.pub chenlb@192.168.1.181:/home/chenlb/id_rsa.pub chenlb@192.168.1.181's password: id_rsa.pub 100% 223 0.2KB/s 00:00 由于还没有免密码登录的,所以要输入密码。 3.B机把从A机复制的id_rsa.pub添加到.ssh

【讲清楚,说明白!】使用SSH安全管理远程主机

亡梦爱人 提交于 2019-12-16 01:38:07
目录: (一)ssh的基本用法 (二)如何打开图形化界面 (三)ssh的密钥认证及安全管理 (四)通过VNC访问远程桌面 ssh为secure shell的缩写,由IETF网络小组(Network Working Group)所制定;ssh为建立在应用层基础上的安全协议。ssh是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用ssh协议可以有效防止远程管理过程中的信息泄露问题,ssh最初是Unix系统上的一个程序,后来又迅速扩展到其他操作平台,ssh在正确使用时可弥补网络中的漏洞,ssh客户端适用于多种平台。几乎所有Unix平台--包括HP-UX、Linux、AIX、Solaris、Digital Unix、IRIX,以及其他平台,都可运行ssh。 传统的网络服务程序如:FTP、POP和Telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的,就是容易受到“中间人”(man-in-the-middle)这种方式的attack。所谓“中间人”的attack方式,就是“中间人”冒充真正的服务器接收你传给服务器的数据,然后在冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中间人”一转手做了手脚之后,就会出现很严重的问题。通过使用ssh

数字签名和数字证书的原理解读(图文)

只谈情不闲聊 提交于 2019-12-14 21:36:56
每篇一句 平生能几到,好处欲穷寻 —— 宋 · 陈著《同袁通判游越中三首·禹庙》 正文 数字签名和数字证书的区别是什么?数字证书是由权威机构CA证书授权中心发行的,能提供在Internet上进行身份验证的一种权威性电子文档。而数字签名是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。对于数字签名和数字证书的运用原理,相信有不少朋友还不清楚,下文将为大家解疑答惑。 数字签名和数字证书原理 鲍勃有两把钥匙,一把是公钥,另一把是私钥。 鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。 苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。 鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。 鲍勃给苏珊回信,决定采用“数字签名”。他写完后先用Hash函数,生成信件的摘要(digest)。 然后,鲍勃使用私钥,对这个摘要加密,生成“数字签名”(signature)。 鲍勃将这个签名,附在信件下面,一起发给苏珊。 苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。 苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过。