我的无头 Linux 盒子配置了串行控制台。 /etc/default/grub
:
GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200"
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200"
现在......我想加密串行控制台。我的目标是使串行控制台仅可用于特定的终端设备(即具有特定加密密钥的笔记本电脑)。
是否有工具/终端模拟器可以做到这一点?
有没有办法配置 grub 在发送到 COM1 之前对串行输出进行加密(或通过用户指定的加密应用程序进行管道传输)?
我不需要公私密钥交换机制。首先,只需使用私有加密密钥预先配置链路的两端就足够了。
答案1
有硬件
这不能在软件中完成,因为您已指定需要对串行端口流量进行加密甚至之前操作系统已启动,也内核控制台 I/O 加密(不仅仅是应用程序/dev/console
I/O)。
本质上,一个有两个盒子,一个直接连接到远程机器,一个直接连接到笔记本电脑,两个盒子之间的串行通信是加密的。
有许多硬件供应商可以做到这一点。 DCB 的 SSE-R 串行数据加密器只是随机选择的一个例子。参见第 1 节它的用户手册参见图表,第 5 节了解如何在两端输入共享秘密。
人们还可以购买加密调制解调器。再次,Arc Electronics 的 SM-56 加密安全拨号调制解调器只是随机选择的一个例子。但从你的问题来看,你不会在机器之间使用调制解调器和 PSTN。
这种事情在远程数据收集/控制领域很常见,该领域的文献将提供丰富的信息。请注意,这依赖于身体的安全;因为否则攻击者可以拔掉加密盒的插头,或者从笔记本电脑上窃取加密盒。
人们还可以使用以太网和 IP 来传输此类串行流量“终端服务器”又名“串行服务器”,这又是一个单独的硬件。 (同样,在操作系统启动之前,您要求执行此操作,从而排除了软件中的“虚拟串行端口”。)但是您的问题中没有迹象表明您打算通过 LAN/WAN 进行远程访问。
我认为超出了这个答案的范围,然后开始得到严肃的并进入远程带外(又名“熄灯”)管理的世界。 ☺
进一步阅读
- 威廉·T·肖 (2006)。 “电子/系统安全”。 SCADA 系统的网络安全。潘韦尔图书。国际标准书号 9781593700683。
- 安·贝赫勒 (1999)。使用 Novell NetWare 进行数据通信简介 (4.11)。普伦蒂斯·霍尔。国际标准书号 9780132705707。
- 乔纳森·德博因·波拉德 (2018)。 ”linux-控制台”。 设备。诺什工具集。