公钥加密

HTTPS中TLS/SSL的握手过程

半城伤御伤魂 提交于 2020-02-27 09:05:09
1,非对称加密技术 非对称加密算法需要两个密钥,公开密钥(publickey)和私有密钥(privatekey);公钥和私钥是成对出现的。 非对称加密例子:B想把一段信息传给A,步骤:1)A把公钥传给B;2)B拿到A的公钥并利用此密钥给信息加密;3)B把加密的信息传给A;4)A利用私有密钥对加密信息进行解密即可得到B想给自己的信息。 (这个过程叫做密码传输,即B把信息加密后传给A) 问题:如果有个捣乱的冒充B,也用A的公钥给一段信息加密,并传给A,A再私钥解密得到的信息就会误认为是B的。 要解决此问题,B需要给A传个验证信息,让A可以验证自己受到的信息是B传的。该验证信息即下面的数字摘要(数字指纹) 2,数字摘要技术 该技术主要利用了哈希函数的两个特性:1)单向性;2)计算结果位数固定 数字摘要是采用单向Hash函数将需要加密的明文“摘要”成一串固定长度(128位)的密文,这一串密文又称为数字指纹,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。“数字摘要“是https能确保数据完整性和防篡改的根本原因。 3,数字签名技术 数字签名技术既利用了数字摘要(数字指纹)技术也利用了非对称加解密技术 。 数字签名过程 :1)B利用哈希函数得到上面传输信息的哈希值;2)B利用私钥给哈希值加密(注意:这里的非对称加密(私钥加密,公钥解密

一节课详解SSH协议

蓝咒 提交于 2020-02-25 19:00:44
SSH介绍  Telnet缺少安全的认证方式,而且传输过程采用TCP进行明文传输,存在很大的安全隐患。单纯提供Telnet服务容易招致DoS(Deny of Service)、主机IP地址欺骗、路由欺骗等恶意***。  随着人们对网络安全的重视,传统的Telnet和FTP通过明文传送密码和数据的方式,已经慢慢不被人接受。SSH(Secure Shell)是一个网络安全协议,通过对网络数据的加密,解决了这个问题。它在一个不安全的网络环境中,提供了安全的远程登录和其他安全网络服务。  SSH通过TCP进行数据交互,它在TCP之上构建了一个安全的通道。另外SSH服务除了支持标准端口22外,还支持其他服务端口,以防止受到非法***。 注意: SSH协议包括SSH1.0,SSH1.5,SSH2.0 SSH的功能 SSH支持的客户端功能  SSH客户端功能允许用户与支持SSH Server的路由器、UNIX主机等建立SSH连接 SFTP  SFTP(SSH File Transfer Protocol)是SSH FTP的简称,是一种安全的FTP。SFTP建立在SSH连接的基础之上,远程用户可以安全地登录设备,进行文件管理和文件传送等操作,为数据传输提供了更高的安全保障。同时,由于设备提供了SFTP客户端功能,可以从本设备安全登录到远程SSH服务器上,进行文件的安全传输。

linux下ssh和sshd-RH124学习笔记

六月ゝ 毕业季﹏ 提交于 2020-02-25 15:24:54
什么是ssh? Secure Shell,协议 作用:数据在网络中可以加密传输 实现:openssh 客户端:openssh-client 服务器端:openssh 端口:22 实现:dropbear 远程登录 telnet 明文 客户端:telnet 服务器端:telnet-server 端口:23 默认情况下,禁止用root使用telnet登录系统 生产环境中使用telnet,测试和目标主机的指定端口是否可以正常的通信,也就是测试目标主机的指定端口是否开放(通过端口来判断服务是否处于开启状态) 进程 守护进程:一个服务维护一个进程,让进程工作在后台,每个进程都有自己的服务,可用service服务名 start|stop...进行管理 超级守护进程:一个服务维护多个进程 xinetd 瞬时守护进程:由超级守护进程负责管理的子进程就是瞬时守护进程 telnet 瞬时进程没有自己的服务,他的启动和管理依赖xinetd ssh telnet scp 总结:ssh的功能 1、远程登录 2、远程文件传输 3、类似于ftp的文件传输功能,sftp ssh的客户端和服务器端 ssh安全 ssh v1 <<废弃 RSA ssh v2 RSA DSA 如何通过公钥来判断服务器是合法的? ssh的配置文件 客户端配置文件:/etc/ssh/ssh_config 服务器端配置文件 /etc/ssh

漫谈iOS程序的证书和签名机制

允我心安 提交于 2020-02-25 12:28:08
漫谈iOS程序的证书和签名机制 P_Chou 6 天前 发布 推荐 4 推荐 收藏 42 收藏, 2.9k 浏览 原文: 漫谈iOS程序的证书和签名机制 接触iOS开发半年,曾经也被这个主题坑的摸不着头脑,也在淘宝上买过企业证书签名这些服务,有大神都做了一个全自动的发布打包(不过此大神现在不卖企业证书了),甚是羡慕和崇拜。于是,花了一点时间去研究了一下iOS这套证书和签名机制,并撰文分享给需要的朋友。由于本人才疏学浅,多有遗漏或错误之处,还请大神多多指教。 非对称加密和摘要 非对称加密的特性和用法 非对称加密算法可能是世界上最重要的算法,它是当今电子商务等领域的基石。简而言之,非对称加密就是指加密密钥和解密密钥是不同的,而且加密密钥和解密密钥是成对出现。非对称加密又叫公钥加密,也就是说成对的密钥,其中一个是对外公开的,所有人都可以获得,称为公钥,而与之相对应的称为私钥,只有这对密钥的生成者才能拥有。公私钥具有以下重要特性: 对于一个私钥,有且只有一个与之对应的公钥。生成者负责生成私钥和公钥,并保存私钥,公开公钥 公钥是公开的,但不可能通过公钥反推出私钥,或者说极难反推,只能穷举,所以只要密钥足够长度,要通过穷举而得到私钥,几乎是不可能的 通过私钥加密的密文只能通过公钥解密,公钥加密的密文只有通过私钥解密 由于上述特性,非对称加密具有以下的典型用法: 对信息保密,防止中间人攻击

Linux—— Gpg

社会主义新天地 提交于 2020-02-23 03:35:59
1991年,程序员Phil Zimmermann为了避开政府监视,开发了加密软件PGP(Pretty Good Privacy)。成为程序员的必备工具。但是,它是商业软件,不能自由使用。所以,自由软件基金会决定,开发一个PGP的替代品,取名为GnuPG。 GPG 是 GNU Privacy Guard的简写,是GNU对PGP技术的实现。 1.git下编译安装。 [root@node2 soft]# git clone https://github.com/gpg/gnupg.git [root@node2 soft]# cd gnupg/ #没有configuate文件不知道怎么安装 [root@node2 gnupg]# ls ABOUT-NLS artwork build-aux configure.ac COPYING.LGPL21 doc kbx po scd TODO acinclude.m4 AUTHORS ChangeLog COPYING COPYING.LGPL3 g10 m4 README sm tools agent autogen.rc ChangeLog-2011 COPYING.CC0 COPYING.other g13 Makefile.am README.GIT tests am autogen.sh common COPYING.GPL2

Jmeter——使用JSR223元件实现RSA登录加密

别说谁变了你拦得住时间么 提交于 2020-02-19 13:04:46
一、RSA加密简介   RSA加密是一种非对称加密。可以在不直接传递密钥的情况下,完成解密。这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。是由一对密钥来进行加解密的过程,分别称为公钥和私钥。两者之间有数学相关,该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。通常个人保存私钥,公钥是公开的(可能同时多人持有)。 二、RSA加密、签名区别   加密和签名都是为了安全性考虑,但略有不同。常有人问加密和签名是用私钥还是公钥?其实都是对加密和签名的作用有所混淆。简单的说,加密是为了防止信息被泄露,而签名是为了防止信息被篡改。这里举2个例子说明。 第一个场景 :战场上,B要给A传递一条消息,内容为某一指令。 RSA的加密过程如下: (1)A生成一对密钥(公钥和私钥),私钥不公开,A自己保留。公钥为公开的,任何人可以获取。 (2)A传递自己的公钥给B,B用A的公钥对消息进行加密。 (3)A接收到B加密的消息,利用A自己的私钥对消息进行解密。   在这个过程中,只有2次传递过程,第一次是A传递公钥给B,第二次是B传递加密消息给A,即使都被敌方截获,也没有危险性,因为只有A的私钥才能对消息进行解密,防止了消息内容的泄露。 第二个场景: A收到B发的消息后,需要进行回复“收到”。 RSA签名的过程如下: (1)A生成一对密钥(公钥和私钥),私钥不公开,A自己保留

DRF知识点与公钥私钥

落爺英雄遲暮 提交于 2020-02-19 00:55:39
1.等价 User . objects . get ( id = 1 ) == User . objects . filter ( id = 1 ) . first ( ) Token . objects . update_or_create ( user = user_obj , defaults = { 'key' : random_str } 更新或生成 Token 对象并修改 key字段,参数 有则更新,没有则创建 2.django的缓存与时效 应用 django的 cache 模块进行缓存 cache.set() cache.get()、 计算时间差设计逻辑 3.公钥与私钥 满足彼此互解 公钥 < -- -- -- - > 私钥 通过 RSA算法 公钥加密后私钥能解密,反之亦然 公钥加密保护数据 私钥加密数字签名即确认身份 来源: CSDN 作者: 似水灬流年 链接: https://blog.csdn.net/weixin_42719822/article/details/102921898

SSH免密码登录Linux服务器

旧城冷巷雨未停 提交于 2020-02-17 14:01:23
作者:荒原之梦 原文链接: http://zhaokaifeng.com/?p=587 操作环境: 客户机操作系统:Ubuntu Linux 服务器操作系统:CentOS Linux 免密登陆的原理: 免密登陆其实就是使用密钥文件代替密钥进行身份验证。这里的密钥文件就是公钥和对应的私钥,将公钥部署在远程服务器上,私钥部署在客户机上。在服务器和客户机上配置好密钥文件后,当客户机向服务器发起连接请求的时候,客户机会向服务器表达使用密钥文件进行身份验证的请求并向服务器发送公钥;随后,服务器会在客户机对应用户的主目录下找寻公钥文件并与收到的公钥文件进行对比;如果公钥文件的对比结果一致,服务器会使用公钥加密一个文件发送给客户机;客户机在收到公钥加密的文件后使用自己的私钥进行解密,然后将解密后的内容发送给服务器;如果服务器收到的解密内容与原内容一致则身份验证成功,两台计算机之间成功建立连接。 实现方法: 使用 ssh-keygen 生成公钥与私钥,将公钥部署在服务器上,私钥部署在客户机上。 具体实现步骤: 1.生成密钥文件 命令: ssh-keygen -t rsa -P "password" 之后弹出提示: Generating public/private rsa key pair. Enter file in which to save the key (/home/yourname/

java rsa加密(利用模数和公钥指数)

一世执手 提交于 2020-02-17 01:32:51
java 利用(利用模数和公钥指数)RSA加密 最近抓包某第二课堂软件发现加密,脱壳后找出了模数和公钥指数,并利用模数和公钥指数加密 利用到的包 import java.math.BigInteger; import java.security.interfaces.RSAPublicKey; import java.security.KeyFactory; import java.security.spec.RSAPublicKeySpec; import java.security.PublicKey; import javax.crypto.Cipher; import java.io.ByteArrayOutputStream; import java.util.Base64; 具体代码 public static final String a =

Linux学习之免秘钥登陆

做~自己de王妃 提交于 2020-02-16 11:49:53
1、公私钥简介与原理 公钥和私钥都属于非对称加密算法的一个实现,这个加密算法的信息交换过程是: (1)持有公钥的一方(甲)在收到持有私钥的一方(乙)的请求时,甲会在自己的公钥列表中查找是否有乙的公钥,如果有则使用一个随机字串使用公钥加密并发送给乙。 (2)乙收到加密的字串使用自己的私钥进行解密,并将解密后的字串发送给甲。 (3)甲接收到乙发送来的字串与自己的字串进行对比,如过通过则验证通过,否则验证失败。 非对称加密算法不能使用相同的密钥进行解密,也就是说公钥加密的只能使用私钥进行解密。 2、使用密钥进行ssh免密登录 ssh使用私钥登录大致步骤就是:主机A(客户端)创建公钥私钥,并将公钥复制到主机B(被登陆机)的指定用户下,然后主机A使用保存私钥的用户登录到主机B对应保存公钥的用户。 (1) 实验环境 两台主机: (1)主机A(客户机):10.246.30.131 (2)主机B(被登陆机):10.246.30.130 (2) 实验开始 在需要免密登陆的主机(主机A)下生成公钥和私钥 1 # ssh-keygen -t rsa ## -t rsa可以省略,默认就是生成rsa类型的密钥 说明: 命令执行后会有提示,输入三次回车即可,执行完成后会在当前用户的.ssh目录下生成两个文件:id_rsa、id_rsa.pub文件,前者是私钥文件,后者是公钥文件