ssh安全机制浅探

1。  ssh 协议

SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用
SSH 协议可以有效防止远程管理过程中的信息泄露问题

2.细节

ssh 登录

1.ssh向sshd发起请求,sshd会告诉请求过来的ssh自己是啥版本,还又能跟那些版本搭话;

2.ssh确认自己版本够新可以和sshd交互后,ssh和sshd就开始交换双方能支持的加密算法之类的信息

3.sshd就首先生成session key, 把其中的sshd_key_pub发给ssh, 并且随机生成一个id,也发给ssh

4.ssh自己也生成session key,然后和id异或得到临时的tmp_session_key,然后用sshd_key_pub加密发给sshd5.sshd用自己的sshd_key解密得到tmp_session_key,然后和id异或之后就得到了ssh生成的session key所以到这步ssh和sshd之间就建立起了一个加密过的通道

信任关系鉴权

1.client用已经建立起来的加密通道,用session key加密自己的id_rsa.pub发给server 【加密通道过程】

2.server端用session key解开获取到id_rsa.pub,在authorized_keys里头找匹配的key,如果找到了就生成校验码verify_code,用id_rsa.pub加密,再用session key再次加密,然后才发给client

3.client用session key解开之后,用自己的id_rsa解密内容,得到verify_code,然后用session key加密verify_code再发给server

4.server用session key解开后跟自己发出去的verify_code校验,如果一致就鉴权通过  【为什么要进行二次鉴权?

应该是防止,人家模拟发包刚好=某个【session key加密自己的id_rsa.pub】从而建立欺骗的信任。

疑问:这个临时生成的verify_code 【临时令牌】多久过期?

3.对比

项目 ssh信任关系鉴权 redius计费协议 oauth2.0认证和授权 https 认证过程 lvs防止tcp长连接攻击
大致过程 1.cs建立加密通道 2.c发普通鉴权信息给s 3.s鉴权后发给c临时令牌 1.通过AAA认证过程建立信任通道2.客户端发出随机的临时令牌 request-auth3.服务器端通过ResponseAuth = MD5(Code+ID+Length+RequestAuth+ Attributes+Secret);返回响应4.客户端通过临时令牌和自身的secret确认的确是非伪装的服务器回应。 1.用户访问美丽说,点击用微博账号登录2.美丽说通过appkey获得微博的一个临时授权令牌3.美丽说用临时授权令牌和用户账号密码请求微博提供用户的账号基础信息4.微博鉴权成功后返回账号基本信息 1.浏览器发送自己支持的认证方式2.服务器返回证书,里面包含了网站地址,加密公钥3.浏览器接收证书,并生成一串随机数的密码【临时令牌】,并用证书中提供的公钥加密,发给服务器4.服务器使用私钥取出临时令牌,并使用公钥+临时令牌与浏览器交互信息注:https的公钥只能加密,私钥只能解密,固安全性高 1.sync flood 通过SYN攻击,攻击者可以建立与受害者计算机的最初连接,受害者计算机等待连接的完成。攻击者利用TCP中的“三次握手”来建立可信的连接。当最初连接打开时,它会消耗受害者计算机上的资源,直到它用尽连接或产生其他问题。2.防御,1)当客户端发出sync,服务器返回 特殊的sync+ack,但不等待2)该特殊的sync是个用时间计算的临时令牌,10分钟内有效3)当客户端返回 sync+ack,只需看看
sync-1是否是有效的临时令牌,如果是则连接,不是不管。
核心 临时令牌 临时令牌 临时令牌 临时令牌,公钥,私钥 与时间相关的临时令牌

ssh安全机制浅探

时间: 2024-08-24 16:57:25

ssh安全机制浅探的相关文章

Delphi 的RTTI机制浅探<二>

目 录===============================================================================⊙ GetTypeData 函数⊙ GetPropInfo 函数⊙ FindPropInfo 函数⊙ GetPropInfos 函数⊙ SortPropList 函数⊙ GetPropList 函数------------------------------------------------------⊙ GetObjectProp

Delphi 的RTTI机制浅探<一>

目 录===============================================================================⊙ DFM 文件与持续机制(persistent)⊙ ReadComponentResFile / WriteComponentResFile 函数⊙ Delphi 持续机制框架简述⊙ 一个 TForm 对象的创建过程⊙ TStream Class 和 TStream.ReadComponent 方法⊙ TReader Class 和

iOS中RunLoop机制浅探

iOS中RunLoop机制浅探 一.浅识RunLoop RunLoop这个家伙在iOS开发中,我们一直在用,却从未注意过他,甚至都不从见过他的面孔,那个这个神秘的家伙究竟是做什么的?首先,我们先来观察一下我们的程序运行机制. 无论是面向对象的语言或是面向过程的语言,代码的执行终究是面向过程的.线程也一样,一个线程从开始代码执行,到结束代码销毁.就像HELLO WORLD程序,打印出字符串后程序就结束了,那么,我们的app是如何实现如下这样的机制的呢:app从运行开始一直处于待命状态,接收到类似点

mongoengine中collection名字自动生成机制浅探

项目碰到要使用mongodb的场景,以前只听过这一强大的文档数据库,但一直没有真正使用过,参考一下项目中已有的使用代码,是通过import mongoengine这一模块实现python服务对db中collection的增删查改. mongoengine的项目网站http://mongoengine.org 中介绍到: MongoEngine is a Document-Object Mapper (think ORM, but for document databases) for worki

location对象浅探

location对象浅探

Ollydbg 中断方法浅探

Ollydbg是一个新的32位的汇编层调试软件.适应于windows98.me.2000.xp和2003操作系统.由于他具有图形窗口界面,所以操作方便.直观,是cracker的好工具. 由于Ollydbg没有了TRW2000的万能断点,所以许多的新手感觉到用Ollydbg断点不好找.现在我来的说说Ollydbg下中断的几种方法.本人是个菜鸟,水平有限,可能不能完整的写出来,也可能存在错误.请大家指正. 我所表述的是Ollydbg v1.09d中文版,其他版本和英文版下自己参考. 第一 寻常断点

java反射机制浅谈

一.Java的反射机制浅谈 最近研究java研究得很给力,主要以看博文为学习方式.以下是我对java的反射机制所产生的一些感悟,希望各位童鞋看到失误之处不吝指出.受到各位指教之处,如若让小生好好感动,说不定会请各位吃饭哦! 1.何谓反射机制 根据网文,java中的反射机制可以如此定义: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. 2.反射

OCR技术浅探

OCR技术浅探:https://www.52ml.net/tags/ocr%E6%8A%80%E6%9C%AF%E6%B5%85%E6%8E%A2

[转]Java虚拟机类加载机制浅谈

Java语言是一种编译后再经过解释器执行的过程, 解释器主要就是如何处理解释Class文件的二进制字节流.JVM主要包含三大核心部分:运行时数据区,类加载器和执行引擎. 虚拟机将描述类的数据从Class文件加载到内存,并对数据进行校验.准备.解析和初始化,最终就会形成可以被虚拟机使用的Java类型,这就是一个虚拟机的类加载机制.Java中的类是动态加载的,只有在运行期间使用到该类的时候,才会将该类加载到内存中,Java依赖于运行期动态加载和动态链接来实现类的动态使用. 一个类的整个生命周期如下: