专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

SSH如何防御重放攻击_java

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 21:07:13       共计:3588 浏览

SSH如何防御重放攻击?

SSH是一个什么样的存在?

SSH类似于TLS,站在TCP 端口22上,TLS站在TCP 端口443上。

所以,这两者是平起平坐的,都可以提供安全加密服务。对SSH不熟悉的同学,可以用TLS的知识来学习SSH。

网络安全有一个经典口号,不造轮子,只使用轮子!

什么意思呢?

私自造轮子,本来想提供安全的通信,可是考虑不周全,引入了更多的安全漏洞,得不偿失。

使用酒精考验的轮子,经历了全人类不断捶打的轮子,使用起来更放心!

所以,SSH和TLS尽管名称不同,安全的三要素是相同的套路。

认证对方分发密钥加密数据

SSH与TLS认证方式有一点区别,TLS采用第三方CA认证,而SSH为了简化,没有采用第三方的CA,而是采用双方互相认证。

SSH公钥认证

当客户端与服务器完成TCP三次握手,紧接着就是SSH双方开始了握手协商的过程。

服务器会将自己的公钥以明文的方式推送给客户端,为了避免被第三方篡改,公钥的尾部报文还附带服务器私钥的签名保护。

客户端获得服务器的公钥,用公钥解密签名,可以解开,说明公钥完好。解不开说明公钥被篡改。

这里有一个问题,客户端永远都不知道公钥是不是服务器的,对吗?

服务器出示一张名片,上面赫然写着“马云”,客户端就相信这个是马云了?

客户端尽管傻,但是设计SSH人并不傻,设计人员是这么想的。

假如客户端与服务器第一次通信,是在一个安全的局域网里,双方如同在一个小会议室见面,然后双方交换名片,以后双方即使在互联网上通信,依然只认在小会议室交换的名片,是不是就可以避免被第三方欺骗?

重放攻击

所谓重放攻击,就是第三方捕获了双方的历史通信报文,在合适的时间重新发送一次或多次不等。

如何防止重放攻击?

安全协议为了应对这个挑战,通常会在报文头里嵌入一个序列号,从0开始单向增长的整数,接收方维护着一个类似TCP滑动窗口,不在窗口以内的序列号统统抛弃。即使在窗口内,也要比较接收序列号与缓存的序列号是否相同,如果相同,一样抛弃处理!

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:date怎么根据时区显示时间_java | ·下一条:

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有