基于图像识别的实时关闸及其在密钥生成中的应用


使用 Python 编写主要逻辑

开源,跨平台,兼容性好

使用 Qt (PyQt5)
编写图形界面

Python 语言的开源 GUI 解决方案,功能强大

利用二维码传输数据

单次传输数据量大,读取快速,技术成熟

行业背景

在政府和企业中,常设有一批计算机专门用于处理机密数据,这些涉密计算机的信息安全至关重要。

将涉密计算机所在的内部网络和公共网络物理隔离,可以保证内部信息网络不会受到来自互联网的黑客攻击,此种做法也符合我国的相关管理规定。

系统实现

本项目利用基于图像识别的网闸技术,实现在安全侧网络和非安全侧网络之间进行物理隔离通信。

※在发送端将数据编码成二维码图像序列

※接收端通过摄像头进行识别并合并为完整的信息,进而实现安全地传输数据

※可以直接用于传输机密数据,实现安全的单向/双向传输

※进一步研究其在密钥管理方面的运用,使用国家标准 SM9 标识密码实现安全可靠的身份认证

>※同类产品比较:

数据传输流程

参考 Linux 生态中常用的做法,使用 tar.xz 格式对文件进行归档和压缩 归档为 tar 包可以变“传输多个文件”为“传输单个文件”,简化实现 根据传输文件的类型不同,通过压缩一般可以减少 1/3 甚至更多的数据量

将需要发送的数据按照一定大小切片后编码为帧,使用二维码传输 为提升传输速度,同时利用了图片的 RGB 三个通道,每个通道各保存一张二维码 和使用相同大小的单色二维码相比,可以增加至少 50% 的传输速度

为保证传输的可靠性并实现双向传输,参考 TCP 协议的“序列号-确认号”机制设计了一套传输协议,通过二维码帧中的序列号、确认号和标志位指定传输状态的变化及处理帧数据的方式。

即使由于识别失败、遮挡等原因导致传输中断,在排除问题后即可继续传输。

另有类似于 UDP 协议的速度优先且不等待确认的单向传输模式可供选择。

队伍成员

章桁

咕咕咕~
🕊️了。

胡浩龙

是本人了……

余侨宾

我超秀的!