25、【Ubuntu】【远程开发】内网穿透:密钥算法介绍(一)

【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除

背景

上篇 blog
【Ubuntu】【远程开发】内网穿透:环境准备

分析了 ECS 云服务器和轻量应用服务器的区别,通过对比,后面将用轻量服务器作为基础搭建内网穿透的跳板

内网穿透

首先,第一步,内网设备要主动连接 云服务器,建立 SSH 反向隧道,在建立 SSH 反向隧道之前,先在家庭服务器上生成对应的公私钥,然后上传公钥到云服务器

打开家庭服务器终端,运行以下命令:

bash 复制代码
ssh-keygen -t ed25519 -C "your_email@example.com"

这里推荐用 ed25519 密钥算法,更安全高效

终端输入 man ssh-keygen,输入 \-t 查找,可以看到 ssh-keygen 命令的选项说明,其中 -t 选项描述如下

可以看到,-t 选项可以指定要生成的 SSH 密钥类型,支持的密钥类型包括

  • dsa:全称 Digital Signature Algorithm‌ 数字签名算法,由 NIST(National Institute of Standards and Technology)美国国家标准与技术研究院在 1991 年提出,基于离散对数问题 生成密钥,属于旧的 DSA 算法,已不安全,不推荐使用
  • ecdsa:全称 Elliptic Curve Digital Signature Algorithm‌,基于椭圆曲线 的数字签名算法,比 dsa 安全,但不如 ed25519
  • ecdsa-skecdsa 的扩展版本,这里 -sk 的全称 Security Key 安全密钥,私钥不在电脑上,而是存储在专门的物理硬件设备中 ,并且私钥永远无法被导出,永远留在硬件,不会被复制泄露,极大提升安全性,适合对安全要求极高的场景
  • ed25519:全称 Edwards-curve Digital Signature Algorithm over Curve25519 ,其中 Curve25519 是一条精妙的椭圆曲线,计算高效,可以避免某些数学攻击,而 Curve25519Edwards form 爱德华兹形式,可以让签名更安全,更快,是现代高效,安全的椭圆曲线算法,强烈推荐用这个
  • ed25519-sk:和上面 ecdsa-sk 一样的性质, 是 ed25519 的扩展形式,将私钥存在专门的物理硬件中
  • rsa:全称 Rivest--Shamir--Adleman(三位密码学家名字) ,在 1977 年提出,是第一个既能用于加密又能用于数字签名的公钥算法基于大整数分解难题生成密钥 ,作为传统的 RSA 算法,兼容性最好,但需足够长的密钥,比如 4096 位

这里额外再补充下 rsa 的安全性,rsa 算法的安全性和其生成密钥长度有关,其评估是基于当前和可预见未来的算力(包括经典计算机和量子计算机的发展趋势,结合超级计算机,GPU 集群,算法优化等) ,估算出破解所需的时间和资源成本,从而判断它在多长时间内是实际不可行破解的,评估机构(比如 NIST)会留足安全余量,宁可保守,也不会冒险

  • 1024 位密钥长度:当前已被破解,别用 ,安全强度等效于 AES-80已过时
  • 2048 位密钥长度:目前勉强可用,但 NIST 建议 2030 年前淘汰 ,安全强度等效于 AES-112
  • 3072 位密钥长度:安全期到 2031 年后,安全强度等效于 AES-128
  • 4096 位密钥长度:推荐,可以长期使用 ,安全强度等效于 AES-152

AES-128 被认为是安全的,所以 RSA-3072 作为传统算法,是对标现代安全标准的底线 ,而 RSA-4096 在经典计算机时代,几乎可以认为是终身安全的 ,除非数学上有革命性突破,长期来看,更现实威胁是量子计算,因此 NIST 正在推动后量子密码学标准 PQC(Post-Quantum Cryptography)


OK,本篇先到这里,如有疑问,欢迎评论区留言讨论,祝各位功力大涨,技术更上一层楼!!!更多内容见下篇 blog

相关推荐
johnny23314 小时前
运维管理面板:AcePanel、OpenOcta、DeepSentry
运维
青梅橘子皮14 小时前
Linux---基本指令
linux·运维·服务器
REDcker15 小时前
Linux信号机制详解 POSIX语义与内核要点 sigaction与备用栈实践
linux·运维·php
cui_ruicheng16 小时前
Linux进程间通信(三):System V IPC与共享内存
linux·运维·服务器
蚰蜒螟16 小时前
深入 Linux 内核同步机制:从 futex 到 spinlock 的完整旅程
linux·windows·microsoft
运维全栈笔记16 小时前
Linux安装配置Tomcat保姆级教程:从部署到性能调优
linux·服务器·中间件·tomcat·apache·web
dllmayday17 小时前
Linux 上用终端连接 WiFi
linux·服务器·windows
ACP广源盛1392462567317 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
峥无18 小时前
Linux系统编程基石:静态库·动态库·ELF文件·进程地址空间全景图
linux·运维·服务器
用户23678298016818 小时前
从 chmod 755 说起:Unix 文件权限到底是怎么算的?
linux