首先声明一下,这里所说的SSH,并不是Java传统的三大框架,而是一种建立在应用层和传输层基础上的安全外壳协议,熟悉Linux的朋友经常使用到一 个SSH Secure Shell Cilent的工具,本文也是基于此工具加密原理的学习,在SSH的加密原理中,使用到了RSA非对称加密算法,本文也一并做了学习和了解。
非对称加密算法
在日常的工作生产中, 我们经常需要进行数据的通讯,开发人员经常需要对数据进行加解密操作,以保证数据的安全。数据的加密算法非为对称加密和非对称加密两种,常用的DES、三 重DES、AES等都属于对称加密,即通过一个密钥可以进行数据的加解密,密钥一旦泄漏,传输的数据则不安全。
非对称加密算法的核心源于数学问题,它存在公钥和私钥的概念,要完成加解密操作,需要两个密钥同时参与。我们常说的“公钥加密,私钥加密”或“私钥加密, 公钥解密”都属于非对称加密的范畴,后文中讲到的RSA算法也一种典型的非对称加密算法。公钥加密的数据必须使用私钥才可以解密,同样,私钥加密的数据也 只能通过公钥进行解密。
相比对称加密,非对称加密的安全性得到了提升,但是也存在明显的缺点,非对称加解密的效率要远远小于对称加解密。所以非对称加密往往被用在一些安全性要求比较高的应用或领域中。
典型的RSA非对称加密
RSA加密算法是一种典型的非对称加密算法,它基于大数的因式分解数学难题,它也是应用最广泛的非对称加密算法,于1978年由美国麻省理工学院(MIT)的三位学着:Ron Rivest、Adi Shamir 和 Leonard Adleman 共同提出。
它的原理较为简单,我们假设有消息发送方A和消息接收方B,通过下面的几个步骤,我们就可以完成消息的加密传递:
由于公钥是消息发送方A暴露给消息接收方B的,所以这种方式也存在一定的安全隐患,如果公钥在数据传输过程中泄漏,则A通过私钥加密的数据就可能被解密。
如果要建立更安全的加密消息传递模型,需要消息发送方和消息接收方各构建一套密钥对,并分别将各自的公钥暴露给对方,在进行消息传递时,A通过B的公钥对数据加密,B接收到消息通过B的私钥进行解密,反之,B通过A的公钥进行加密,A接收到消息后通过A的私钥进行解密。
当然,这种方式可能存在数据传递被模拟的隐患,我们可以通过数字签名等技术进行安全性的进一步提升。由于存在多次的非对称加解密,这种方式带来的效率问题也更加严重。
SSH加密原理
在SSH安全协议的原理中, 是一种非对称加密与对称加密算法的结合,先看下图:
这里进行一下说明:
个人感觉,这样的设计在一定程度上提高了加解密的效率,不过,与客户端服务端各构建一套密钥对的加解密方式相比,在安全性上可能有所下降。在上面所述的通过口令进行加密的过程中,数据也是可以被窃听的,不过由于密钥是256个随机数字,有10的256次方中组合方式,所以破解难度也很大。相对还是比较安全的。服务端和客户端都提前知道了密钥,SSH的这种方式,服务端是通过解密获取到了密钥。
DH密钥交换算法
SSH的原理,是基于RSA非对称加密,RSA是基于大数的因式分解数学难题,下面要提到的DH密钥交换算法则是基于有限域上的离散对数难题。
DH算法是一种密钥协商算法,只用于密钥的分配,不用于消息的加解密。它提供了一种安全的交换密钥的方式,通过交换的密钥进行数据的加解密。就像SSH原理中,口令的交换,不过DH算法更安全。
我们举个例子来进行说明,假设有A、B两方,A作为发送者,B作为接收者。通过下面的几个步骤就可以构建出一个只属于双方的密钥口令,如下:
DH算法的产生是,对称加密向非对称加密的过度,为后续非对称加密的产生和发展奠定了基础。
如何有效防止源代码泄密?马上为你指点迷津
大家是不是常常担心自己的源代码会被泄露?一旦泄露,不但将面临经济损失,而且还将耗费大家的技术成果。别担心,此次我会给你一些建议,告诉你如何有效地防止源代码的泄露!一、为什么源代码容易泄密?首先,咱们得明白,源代码为什么容易泄密。其实,原因有很多,比如:员工离职时带走源代码;团队成员不小心将源代码上传到公共平台;黑客攻击...
如何快速为U盘设置密码,防止数据泄露
你们是不是经常带着U盘到处跑,存着各种重要的文件、照片或者资料?是不是有时候还会担心,万一U盘丢了,里面的数据可咋整?别担心,今天我就来教大家一个简单又实用的方法——给U盘设置密码,让你的数据安全得到全方位的保障!一、为什么要给U盘设置密码?首先,咱们得明白,U盘虽小,但里面的数据可都是宝贝啊!一旦U盘丢失或被不法分子...
企业网络安全准入的实践与常见误区
企业数据与血液一样重要,一旦泄漏或被篡改,后果很严重。你企业网络大门如果是敞开的,任何人都可以随意进出,你的重要材料、客户资料,乃至商业机密,都将面临失窃或破坏风险。这不是骇人听闻,企业网络安全准入,是守护您数据安全的“大门”。今日,我们将探讨企业网络安全准入的良好实践和常见误区,给您创建扎实的防御,同时避免那些“坑”...
打造完美办公环境:十大电脑桌面管理软件推荐
在日复一日的忙碌工作中,你的电脑桌面是不是经常杂乱无章,文件、图标散落一地,让人看得眼花缭乱?别急,今天我们就来聊聊如何借助一些实用的电脑桌面管理软件,轻松打造一个整洁、高效、个性化的办公环境。精心挑选的十大软件,总有一款能击中你的心!一、Fences:给你的桌面建个“围栏”你的桌面就像一个大农场,文件、图标就是那些散...
提高工作效率:公司监控上网记录的必要性
网络就像一座无形桥,连接着世界的每一个角落,让我们的工作方便快捷高效。可是,您有没有注意到,当互联网成为我们的工作助手时,它可能会悄悄的影响了每个人工作效率?今日,让我们来谈谈为何企业应该监控上网记录。一、网络是一把双刃剑:方便与诱惑并存想象一下,你坐在电脑前,准备开始一天紧张的工作。忽然,一个网络广告吸引了你注意,你...