公钥加密

浅析HTTPS与SSL原理

孤街浪徒 提交于 2019-12-06 19:04:09
版权声明:本文由盛旷 原创文章,转载请注明出处: 文章原文链接: https://www.qcloud.com/community/article/134 来源:腾云阁 https://www.qcloud.com/community HTTPS是指结合HTTP和SSL来实现网络浏览器和服务器之间的安全通信。HTTPS被融合到当今网络操作系统和网络浏览器中,他依赖于网络服务器是否支持HTTPS协议。本文重点是阐述HTTPS和SSL证书的原理,不涉及具体实现。在开始叙述原理之前,先明确几个网络安全方面的基础概念。 一.基础概念 1. 对称加密算法 一个对称加密算法由五个部分组成: 明文:原始消息或数据 加密算法 密钥 密文:使用密钥通过加密算法对明文计算后的结果 解密算法:使用密文和相同密钥通过解密算法产生原文 2. 非对称加密算法 与对称加密算法不同的是,非对称加密算法使用的加密密钥和解密密钥是不同的。 3. 公钥密码与RSA 公钥密码属于对称加密算法中的一种,公钥密码体系中有一个公钥和一个密钥,公钥是公开给所有人使用的,密钥只有自己知道,通常公钥根据一个密钥进行加密,根据另一个密钥进行解密。 RSA公钥密码算法是公钥密码算法中的一种,RSA中的加密和解密都可以使用公钥或者私钥,但是用公钥加密的密文只能使用私钥解密,用私钥加密的密文智能使用公钥解密。 二.SSL证书的原理

X.509

做~自己de王妃 提交于 2019-12-06 17:35:32
参考:https://baike.baidu.com/item/X.509/2817050?fr=aladdin 标题:X.509 百度百科 在密码术中,X.509是定义公用密钥证书格式的标准。 X.509证书用于许多Internet协议,包括TLS / SSL,这是HTTPS(浏览网络的安全协议)的基础。 它们还用于脱机应用程序,例如电子签名。 X.509证书包含公钥和身份(主机名,组织或个人),并且由证书颁发机构签名或自行签名。 当证书由受信任的证书颁发机构签名或通过其他方式进行验证时,持有该证书的人可以依靠其包含的公钥与另一方建立安全通信,或验证由相应私钥进行数字签名的文档。 X.509 是密码学里公钥证书的格式标准。 X.509 证书己应用在包括TLS/SSL(WWW万维网安全浏览的基石)在内的众多 Internet协议里.同时它也用在很多非在线应用场景里,比如电子签名服务。X.509证书里含有公钥、身份信息(比如网络主机名,组织的名称或个体名称等)和签名信息(可以是证书签发机构CA的签名,也可以是自签名)。对于一份经由可信的证书签发机构签名或者可以通过其它方式验证的证书,证书的拥有者就可以用证书及相应的私钥来创建安全的通信,对文档进行 数字签名 . 另外除了证书本身功能,X.509还附带了 证书吊销列表

加解密总结(附助手类)

好久不见. 提交于 2019-12-06 15:23:06
对称加密算法:DES、AES、IDEA、RC2、RC4、SKIPJACK…… 加解密使用相同密钥,这个是对称加密。对称加密优点是速度快 非对称加密算法:RSA、DSA、DH、ECC、EL GAMAL…… 公钥加密数据,然后私钥解密的情况被称为加密解密; 因为公钥加密的数据只有它相对应的私钥可以解开,所以你可以把公钥给人和人,让他加密他想要传送给你的数据,这个数据只有到了有私钥的你这里,才可以解开成有用的数据,其他人就是得到了,也看懂内容 实际应用中,一般都是和对方交换公钥,然后你要发给对方的数据,用他的公钥加密,他得到后用他的私钥解密,他要发给你的数据,用你的公钥加密,你得到后用你的私钥解密,这样最大程度保证了安全性. 缺点速度慢 Hash算法:MD5、SHA1、SHA256…… 无论消息有多长,计算出的摘要长度都是固定的,MD5没有SHA算法安全 数字签名: 私钥签名和公钥验证签名;RSA可以用来做签名、验签 如果你用你的私钥对数据进行签名,那这个数据就只有配对的公钥可以解开,有这个私钥的只有你,所以如果配对的公钥解开了数据,就说明这数据是你发的,相反,则不是.这个被称为签名。数字签名的意义就是这些数据与原文数据比对是否修改过。 CA证书如何保证网站数据安全: 网站向CA机构申请证书,网站方提供网站信息及公钥给CA机构,CA机构使用自己的私钥对公钥签名,以防篡改。

cenos基本信息和ssh

为君一笑 提交于 2019-12-06 13:57:06
基本概念 ·linux 自带的ssh为OpenSSH ·ssh协议提供两种用户认证方式 : 基于 口令 的安全认证:使用 用户名、密码的方式 对登录用户进行认证 基于 密钥 的安全认证:使用 公钥和私钥对的方式 对登录用户进行认证 ·OpenSSH的rpm 包由四部分组成(默认已安装)   openssh-4.3p2-26.el5.i386.rpm (一定要先安装这个rpm 包)   openssh-server-4.3p2-26.el5.i386.rpm   openssh-clients-4.3p2-26.el5.i386.rpm   openssh-askpass-4.3p2-26.el5.i386.rpm (在图形界面下使用ssh服务时才需要) ·openssh 的主配置文件为:   /etc/ssh/sshd_config #ssh服务器的配置文件   /etc/ssh/ssh_config #ssh客户端的配置文件 ·openssh支持使用 scp (加密的拷贝)和sftp (加密的ftp )等客户端程序进行远程主机的文件复制 OpenSSH服务器端配置 实例1 : 配置无密码访问 方法1.命令设置   在81上键入下面命令,会有三个参数需要填写,用默认的就行,一路enter按下去     ssh-keygen     ssh-copy-id 192.168.1.82

SSH原理与应用(一):远程登录

﹥>﹥吖頭↗ 提交于 2019-12-06 13:39:23
转载自 http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html SSH原理与应用(一):远程登录 作者: 阮一峰 日期: 2011年12月21日 SSH是每一台Linux电脑的标准配置。 随着Linux设备从电脑逐渐扩展到手机、外设和家用电器,SSH的使用范围也越来越广。不仅程序员离不开它,很多普通用户也每天使用。 SSH具备多种功能,可以用于很多场合。有些事情,没有它就是办不成。本文是我的学习笔记,总结和解释了SSH的常见用法,希望对大家有用。 虽然本文内容只涉及初级应用,较为简单,但是需要读者具备最基本的"Shell知识"和了解"公钥加密"的概念。如果你对它们不熟悉,我推荐先阅读 《UNIX / Linux 初学者教程》 和 《数字签名是什么?》 。 ======================================= SSH原理与运用 作者:阮一峰 一、什么是SSH? 简单说,SSH是一种网络协议,用于计算机之间的加密登录。 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。 最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密

公钥认证登录Linux

余生长醉 提交于 2019-12-06 11:41:40
A通过SSH公钥免密登录B 1.A主机通过ssh-keygen生成私钥(id_rsa)和公钥(id_rsa.pub),公钥发给B主机的用户目录 ssh-keygen -t rsa -b 4096 2.B主机上在/home/user/.ssh/下创建authorized_keys,并把A主机公钥添加进去 touch authorized_keys cat ../id_rsa.pub >> authorized_keys 3.用户登录 ssh -i id_rsa root@192.168.1.248 Tips: 公钥传给别人,别人拿你的公钥加密后和你信息交换,你收到信息,私钥解密做对比,如果是公钥发来的数据就是正确的。 如果设置了还需要密码,可能是sshd_config设置有问题 /etc/ssh/sshd_config配置 # 允许root登录,但是禁止root密码登录 PermitRootLogin prohibit-password # 通过RSA认证 RSAAuthentication yes # 允许pubKey(id_rsa.pub)登录 PubkeyAuthentication yes # key信息列表所在位置 AuthorizedKeysFile .ssh/authorized_keys #是否允许使用基于密码的认证。默认为"yes"

TLS/SSL概述

孤街浪徒 提交于 2019-12-06 06:55:06
目录 TLS/SSL协议 设计目的 握手协议 TLS安全密码套件解读 对称加密和非对称加密 对称加密 非对称加密 混合加密 摘要算法 数字签名 数字证书和CA TLS/SSL协议 TLS/SSL位于TCP层和应用层之间,具体如下图所示 设计目的 身份验证 保密性 完整性 握手协议 验证通讯双方的身份 交换加解密的安全套件 协商加密参数 TLS安全密码套件解读 SSL/TLS协议在协商时,会选择一组恰当的加密算法来实现安全通信,这些算法的组合被称为“密码套件” 密码套件的命名如上所示,格式很固定,基本的形式是:“密钥交换算法+签名算法+对称加密算法+摘要算法” 以上密码套件的意思如下:“握手时使用ECDHE算法进行密钥交换,用RSA签名和身份认证,握手后的通信使用AES对称算法,密钥长度128位,分组模式是GCM,摘要算法SHA256用于消息认证和产生随机数。” 对称加密和非对称加密 对称加密 使用同一把密钥对数据进行加解密 TLS 里有非常多的对称加密算法可供选择,比如 RC4、DES、3DES、AES、ChaCha20 等,但前三种算法都被认为是不安全的,通常都禁止使用,目前常用的只有 AES 和 ChaCha20。 ChaCha20 是 Google 设计的另一种加密算法,密钥长度固定为 256 位 AES加密算法详解 AES:高级加密标准,密钥长度可以是128、192 或

支付相关-证书知识学习2

。_饼干妹妹 提交于 2019-12-06 02:55:18
参考资料:关于pfx证书和cer证书 资料地址:https://blog.csdn.net/a1510841693/article/details/84110107 cer证书只包含公钥信息,一般只能用于解密使用(解密该公钥对应的私钥加密的数据)。 pfx证书既可以导出为pfx证书,也可以导出为cer证书。 pfx证书导出时,会提示是否导出私钥,导出私钥即pfx证书,不到出则是cer证书。 如果选择导出私钥,出于安全性考虑,浏览器会提示你指定一个密码用于保护该私钥,日后再次导入该pfx证书时,浏览器会要求你提供该私钥保护密码。 导入pfx证书时,需要指定私钥保护密码,另外还有一个选项“标志此密钥为可导出密钥。这将允许您稍后备份或传输密钥”,出于安全性考虑,该选项默认是不勾选的,如果不勾选,下次从浏览器导出该证书时,则无法导出pfx格式了,只能导出不包含私钥的cer格式了。 -------------------------------------------------------------------------------- 参考资料:pfx 百度百科 资料地址:https://baike.baidu.com/item/pfx/7168664?fr=aladdin 公钥加密技术12号标准。 公钥 加密技术12号标准(Public Key Cryptography

公钥与私钥简单叙述

余生颓废 提交于 2019-12-06 02:21:47
不对称加密方式 公钥:(公共使用)加密 私钥:(仅自己使用,严格保密)解密 简单来说:用公钥加密的信息,只有通过其私钥可以解密。 例子: A→B (简单发送) 1:A要对B的发送信息,为了保证信息安全。 A使用B的公钥进行加密。 2:B收到消息后,使用自己的私钥对信息解密 但是: 上面例子,如何保证B收到的消息一定是A发送过来的?而不是黑客使用B的公钥伪造的信息! 于是,A在该信息中加入了“数字签名” 1:所谓签名——即是一段使用A私钥加密的信息。 2:B在收到消息后,先使用自己的私钥对信息进行解密。解密消息的同时,也得到了消息中的签名。 3:B使用A的公钥,对签名信息进行解密。解密成功说明消息的来源的确是A。否则验签失败。 总结: 公钥 加密消息,解密签名 公用 加密消息,解密签名 保证收件人身份 私钥 加密签名,解密消息 私用(秘密) 加密签名,解密消息 保证发件人身份 来源: oschina 链接: https://my.oschina.net/u/1417725/blog/611712

iOS 加密与解密

感情迁移 提交于 2019-12-06 02:21:25
iOS RSA的网络安全模型、iOS签名机制总结(登录、token安全、签名) 一.登录、登录保持(http请求) 登录机制大概可以分为一下三个阶段: 1. 登录验证:是指客户端提供用户名和密码,向服务器提出登录请求,服务器判断客户端是否可以登录并向客户端确认。 2. 登录保持:是指客户端登录后, 服务器能够分辨出已登录的客户端,并为其持续提供登录权限的服务器。 3. 登出:是指客户端主动退出登录状态。 第一种网络请求情况(安全级别:II) 一般的情况是这个样子的:一但用户登陆成功(单方面MD5加密:服务器加密则客户端不加密,客户端加密则明文传输),服务器为客户端分配 sessionID(也可以称为userID),当然有些服务器不但为客户端分配了userID还有可能会为用户提供token了(这个下面会做解释), 然后每次网络请求都将sessionID当做参数传递给服务器。 优点 能够保持用户登录状态、区分用户,相对于不返回任何信息的登录要安全了一些。 缺点 如果通过网络嗅探器(例如:青花瓷)可以获取到http链接,这样子服务器返回的sessionID便会被获取到,这样子依然会造成信息泄露,并且还能被伪造请求(浏览器请求)。 第二种网络请求情况 (安全级别:III) 第一种存在明显的安全隐患,但是目前市面上的好多app依然采用第一种方法去实现登录、网络请求