TCP 隐写术或如何隐藏互联网上的数据传输

TCP 隐写术或如何隐藏互联网上的数据传输

波兰研究人员根据广泛使用的传输层协议TCP的运行特点,提出了一种新的网络隐写方法。 例如,该作品的作者认为,他们的计划可用于在实行严格互联网审查的极权国家中发送隐藏信息。 让我们试着弄清楚创新到底是什么以及它到底有多大用处。

首先,您需要定义什么是隐写术。 因此,隐写术是隐藏消息传输的科学。 就是用她的手段,当事人试图隐瞒 转移的事实。 这就是这门科学和密码学之间的区别,密码学试图 使消息内容不可读。 值得注意的是,密码学家的专业界对隐写术相当蔑视,因为它的意识形态与“通过默默无闻实现安全”的原则非常接近(我不知道这在俄语中听起来如何正确,类似于“通过无知实现安全”) ”)。 例如,Skype Inc. 就采用了这一原理。 —流行拨号器的源代码是封闭的,没有人真正知道数据是如何加密的。 顺便说一下,最近美国国家安全局对此提出了抱怨,正如著名专家布鲁斯·施奈尔所指出的那样 написал 在我的博客中。

回到隐写术,我们将回答这个问题:如果有密码学,为什么还需要它? 事实上,您可以使用某种现代算法加密消息,如果您使用足够长的密钥,除非您愿意,否则没有人能够读取该消息。 然而,有时隐藏秘密转移的事实更有用。 例如,如果有关当局截获了你的加密信息,无法破译,但又确实想破译,那么最终就会有非计算机的方法来影响和获取信息。 这听起来很反乌托邦,但是,你看,这原则上是可能的。 因此,最好确保那些不应该知道转移发生的人。 波兰研究人员提出了这样一种方法。 此外,他们建议使用每个互联网用户每天使用一千次的协议来做到这一点。

这里我们接近传输控制协议(TCP)。 当然,解释它的所有细节是没有意义的——它又长又无聊,而且那些需要它的人已经知道了。 简而言之,我们可以说 TCP 是一种传输层协议(即,它在 IP“之上”和应用层协议“之下”工作,例如 HTTP、FTP 或 SMTP),它确保数据从发送方可靠地传送到目的地。收件人。 可靠传送意味着如果数据包丢失或到达时被修改,TCP 将负责转发该数据包。 注意,这里数据包的变化并不意味着数据的故意扭曲,而是在物理层面发生的传输错误。 例如,当数据包沿着铜线传输时,有几个位的值改变为相反的值,或者在噪声中完全丢失(顺便说一句,对于以太网,误码率值通常约为 10-8 )。 在互联网上,传输过程中丢包也是比较常见的情况。 例如,由于路由器上的负载,可能会发生这种情况,从而导致缓冲区溢出,从而丢弃所有新到达的数据包。 通常,丢失数据包的比例约为 0.1%,当值达到几个百分点时,TCP 就会停止正常工作 - 对于用户来说,一切都会变得非常慢。

因此,我们看到数据包的转发(重传)对于 TCP 来说是一种常见现象,并且一般来说是必要的。 那么为什么不将它用于隐写术需求,因为如上所述,TCP 已随处使用(根据各种估计,如今 TCP 在互联网上的份额达到 80-95%)。 所提出方法的本质是在转发的消息中发送的不是主数据包中的内容,而是我们试图隐藏的数据。 然而,检测这种替代并不那么容易。 毕竟,您需要知道在哪里查找 - 通过提供程序的同时 TCP 连接数量非常巨大。 如果您知道网络中重传的大致级别,您可以调整隐写转发机制,使您的连接与其他连接没有什么不同。

当然,这种方法也并非没有缺点。 例如,从实际的角度来看,实现它并不那么容易——它需要更改操作系统中的网络堆栈,尽管这并没有什么特别困难的。 此外,如果您有足够的资源,仍然可以通过查看和分析网络上的每个数据包来检测“秘密”数据包。 但通常来说,这实际上是不可能的,因此他们通常会寻找以某种方式脱颖而出的数据包和连接,而所提出的方法正是使您的连接变得不起眼的原因。 并且没有人会阻止您加密秘密数据以防万一。 同时,连接本身可以保持未加密状态,以减少引起怀疑。

该作品的作者(顺便说一句,对于那些感兴趣的人, 这里 她)在模拟层面表明所提出的方法按预期工作。 也许将来会有人将他们的想法付诸实践。 然后,希望互联网上的审查会减少一些。

来源: habr.com

添加评论