就是有两把密钥,一把公钥,一把私钥,用公钥加密的内容必须由私钥进行解密,用私钥加密的内容必须用公钥进行解密
我以前一直使用口令通过ssh协议登陆Linux服务器,最近公司要求使用公钥登陆。说是安全,好吧。那我们整一下。那到底使用公钥登陆服务器有什么好处呢?其实我理解是这样的:
由于HTTP协议内容都是按照文本形式 明文传输的,就导致在传输过程中出现一些篡改的情况
https好处多多,用https协议传输信息,信息的安全性会得到保障,用http传递信息几乎等于裸奔了,如图所示:
上一篇文章我们简单介绍了https的原理,这篇文章我们用nginx来配置一下https的证书。
在使用 HTTP 协议传递参数时,无论是 GET 方法,还是 POST 方法,都是不安全的,可以使用抓包工具抓取到敏感信息
双向认证,顾名思义,客户端和服务器端都需要验证对方的身份,在建立HTTPS连接的过程中,握手的流程比单向认证多了几步。单向认证的过程,客户端从服务器端下载服务器端公钥证书进行验证,然后建立安全通信通道。双向通信流程,客户端除了需要从服务器端下载服务器的公钥证书进行验证外,还需要把客户端的公钥证书上传到服务器端给服务器端进行验证,等双方都认证通过了,才开始建立安全通信通道进行数据传输。
在每次发送真实数据之前,服务器先生成一把密钥,然后先把密钥传输给客户端。之后服务器给客户端发送真实数据的时候,会用这把密钥对数据进行加密,客户端收到加密数据之后,用刚才收到的密钥进行解密。如图:
这篇文章之前有写过,不过那篇文章在排版上很差,而且有些小许的错误。今天,我重新修改了那篇文章。算是那篇文章的修订版。
密钥(key)是一个非常大的数字,通过加密算法得到。对称加密只需要一个密钥,非对称加密需要两个密钥成对使用,分为公钥(public key)和私钥(private key)。
HTTP全称Hyper Text Transfer Protocol,即超文本传输协议。HTTP是一个应用层协议,可视为一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。
HTTP 协议内容都是按照文本的方式明文传输的,这就导致在传输过程中出现一些被篡改的情况。HTTPS 也是一个应用层协议,是在 HTTP 协议的基础上引入了一个加密层。
小学上课的时候,都传过小纸条吧?传纸条的时候每个拿到纸条的同学都会忍不住看一眼,毫无隐私可言。
方法:服务器生成对称密钥,客户端向服务器发送密钥请求(明文),服务器接收到请求后将对称密钥响应给服务端(明文),后面客户端与服务器利用此对称密钥将信息进行加密后再传输给对方。
众所周知,阿main最近被「一个神奇的网站」优化调整了一波儿,从家人眼中的「帝都高级白领IT从业人员」摇身变成了老李眼中的「一个潜在的社会不安定因素」。心理上讲他慌乱了几天,他告诉我似乎投递出去的简历都像肉包子打了狗,自己在家放个屁还有点儿味儿呢。不过我看他最近稳了稳神儿,似乎稳住了,其实人一旦冷静下来稳住了,眼中能看到的问题和风险都不叫问题和风险,因为能看到的问题和风险一定会被解决掉,最怕的就是未知的问题和风险。
但是,SSH 还有第三种登录方法,那就是证书登录。很多情况下,它是更合理、更安全的登录方法,本文就介绍这种登录方法。
之前了解网络安全相关知识的时候,HTTPS的相关知识了解的不是很详细,只知道它是一种加密协议。对于它的了解仅仅停留在表面,只知道http访问时会提示不安全。
采用第三方担保,确保数字签名中的发出来的公钥是服务器所提供的。再用证书中服务器的公钥对信息加密,与服务器通信。
HTTPS 零、前言 一、HTTPS协议 二、加密方式 三、中间人攻击 四、PKI 五、数字签名技术 零、前言 本章是继HTTP协议后的一篇关于HTTPS协议的拓展 一、HTTPS协议 📷 概念及介绍: HTTP请求无论是用GET方法还是POST都是不安全的,使用HTTP协议传输的数据都是在网络里面裸奔(可以通过抓包工具抓到) HTTPS是身披SSL外壳的HTTP,是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,对数据包进行加密和解密 HT
公钥登录是为了解决每次登录服务器都要输入密码的问题,流行使用RSA加密方案,主要流程包含:
业务场景中经常需要进行跨服务器的操作,即从一台服务器上登录到另外一台服务器,默认情况下,SSH远程登录时需要输入远程服务器密码。当需要在可信任的服务器之间进行频繁或自动化的操作时,输入密码就会带来不便。
如果你能准确无误的回答以上问题,你可以不用继续往下面看了,如果不能,通过阅读这篇文章,我相信你肯定能完全掌握HTTPS。好了废话不多说,我们开始。
为了更好的理解SSH免密码登录原理,我们先来说说SSH的安全验证,SSH采用的是”非对称密钥系统”,即耳熟能详的公钥私钥加密系统,其安全验证又分为两种级别。
HTTP 协议中的内容都是明文传输,HTTPS 的目的是将这些内容加密,确保信息传输安全。最后一个字母 S 指的是 SSL/TLS 协议,它位于 HTTP 协议与 TCP/IP 协议中间。
女朋友也是软件工程专业,因为快要毕业了,最近一边做毕设一边学习编程。前两天她问我 HTTPS 的问题,本来想直接扔一篇网上的教程给她。后来想了一下,那些文章大多直接介绍概念, 对新手不太友好,于是我干脆亲自给她解释一下,顺便整理了一份问答录。
估计有人看到这篇文章标题的时候会有很多的疑惑,非对称加密是干什么的,"非对称"大致很好理解,意思和对称相反,加密也能理解,但是非对称加密是个什么玩意儿。这东西有什么应用呢?
Q1: 什么是 HTTPS? BS: HTTPS 是安全的 HTTP HTTP 协议中的内容都是明文传输,HTTPS 的目的是将这些内容加密,确保信息传输安全。最后一个字母 S 指的是 SSL/TLS 协议,它位于 HTTP 协议与 TCP/IP 协议中间。 Q2: 你说的信息传输安全是什么意思 BS: 信息传输的安全有三个方面: 1、客户端和服务器直接的通信只 2、有自己能看懂,即使第三方拿到数据也看不懂这些信息的真实含义。 3、第三方虽然看不懂数据,但可以 XJB 改,因此客户端和服务器必须有能力判
先来说下对称加密和非对称加密,对称加密就是当在对信息进行加密和解密时使用的秘钥是同一个秘钥,对称加密的优点是效率高但是相对不安全;非对称加密秘钥分为公钥和私钥,我们可以使用私钥加密用公钥解密,当然也可以使用公钥加密使用私钥解密,非对称加密的优点就是要比对称加密安全,但是效率要低。
为了解决传统的可见密码验证存在各种安全性以及便捷性的弊端,随着Android M(Android 6.0)提供了官方的指纹接口以及针对指纹的增强版本密钥管理机制,微信组织一些手机厂商、芯片设计厂商、TEE厂商制定了一个通用的、安全的以及便捷的生物认证识别平台方案SOTER。有了此方案,我们就能实现Android手机上的指纹支付(目前只支持微信指纹支付)。 认证方案最重要的是服务器和客户端之间的密钥体系和认证流程,那么我们今天就来聊聊SOTER方案的密钥体系,后续再详细聊聊认证流程。 在服务器与客户端的通讯过
HTTP是属于应用层的协议,它是基于TCP/IP的,所以它只是规定一些要传输的内容,以及头部信息,然后通过TCP协议进行传输,依靠IP协议进行寻址,通过一幅最简单的图来描述:
数字证书是一个由可信的第三方发出的,用来证明公钥拥有者的信息以公钥的电子文件。
加密:通过加密算法和公钥对内容(或者说明文)进行加密,得到密文。加密过程需要用到公钥。
公钥密码体制的公钥和算法都是公开的(这是为什么叫公钥密码体制的原因),私钥是保密的。大家都以使用公钥进行加密,但是只有私钥的持有者才能解密。在实际的使用中,有需要的人会生成一对公钥和私钥,把公钥发布出去给别人使用,自己保留私钥。
A <------M------> B 场景:A、B两个人之间通讯,A传输信息M给B,假定是在不安全的通路上传输。
关于什么是公钥和私钥,网上有一篇很经典的文章:http://www.youdzone.com/signature.html
本文首发于 https://jaychen.cc 作者:jaychen(https://segmentfault.com/u/chenjiayao) 写一篇短文,介绍 ssh 密钥登录远程服务器流程和注意事项。 登录流程 密钥登录比密码登录安全,主要是因为他使用了非对称加密,登录过程中需要用到密钥对。整个登录流程如下: 远程服务器持有公钥,当有用户进行登录,服务器就会随机生成一串字符串,然后发送给正在进行登录的用户。 用户收到远程服务器发来的字符串,使用与远程服务器公钥配对的私钥对字符串进行加密,再发送给远
常常在工作中需要在各个Linux机间进行跳转,每次密码的输入成了麻烦,而且也不安全。在实际使用中,在windows下常使用secureCRT工具或teraterm工具进行SSH登录,以及实现hadoop集群部署要求的无密码跳转问题。
文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用。接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书。如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出!
DNSSEC是为了解决传统 DNS 系统中的各种不安全性,由IETF制定的一套配合现有 DNS 系统的安全扩展系统,目标在于解决各种 DNS 缓存投毒/生日攻击/DNS 劫持等问题,从源头上保证 DNS 数据的正确性和完整性。
上述过程中第2步骤中是存在风险的,因为公钥是暴露出来的,当公钥被中间人非法截获时,同时将公钥替换成中间人自己的公钥发送给客户端,从而得到对称加密的秘钥,进而伪装与客户端通信。
总的来说,申请CA证书是一个比较复杂的过程,需要仔细准备和填写相关信息,并确保按照CA的要求进行操作和支付费用。
HTTPS(Hypertext Transfer Protocol Secure)是一种安全的网络通信协议,它在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS的安全基础是SSL/TLS协议,它存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统提供了身份验证与加密通讯方法,被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。由于HTTPS协议内容都是按照文本的方式明文传输的,就导致在传输过程中出现一些被篡改的情况。
HTTPS 是在 HTTP 和 TCP 之间建立了一个安全层,HTTP 与 TCP 通信的时候,必须先进过一个安全层,对数据包进行加密,然后将加密后的数据包传送给 TCP,相应的 TCP 必须将数据包解密,才能传给上面的 HTTP。
HTTP与HTTPS是开发人员最常接触的网络协议,通常在进行API请求的时候,我们会用到HTTP协议。但是众所周知HTTP是明文传输,所以是不够安全的,我们可以通过各种各样的网络抓包工具(如whistle/Fiddler)去“捕获”其中的具体内容,所以就引出了基于HTTP更加安全的HTTPS协议。
这个其实比上面的要简单,之前上大学时老师也讲过。一定要明白客户端和服务端时通过公钥和私钥实现认证登录的。一定要牢牢记住就是只靠这两个东西,没有其他的了。
云豆贴心提醒,本文阅读时间6分钟 引言 很多企业的服务器经常遭受到攻击,出现的攻击方式有:http服务攻击、操作系统漏洞溢出攻击、sql注入攻击等。 大多服务器都托管在阿里云或者腾讯云上,这些云服务也都提供杀毒软件和防火墙功能,如:阿里云盾。上述攻击大部分都已经被厂商提供的云安全拦截住了,但是毕竟没有绝对的安全。 这里记录下我平时对服务器的安全配置,希望对大家有一些帮助,还是没有绝对的安全,但是能够防患未然还是好的。另外这里指出,在描述攻击我们的那些人,我拒绝使用黑客这个词语,黑客的含义已经被现在的社
领取专属 10元无门槛券
手把手带您无忧上云