第222章 比特信使(1 / 2)

超脑黑客 疯狂小强 1827 字 25天前

新版cqcq编写进展速度很快,毕竟之前林鸿已经有过类似的编程经验,其中很多代码都可以进行重用,不过由于架构变化比较大,还有一些重要的代码需要重新构想。

按照这一次的设计,中继服务器上不保存任何可能用户的私密内容,包括用户的账号、密码,以及个人信息,发送的聊天内容,ip地址,信息发送目的地……等等。

中继服务器被林鸿命名为“目录服务器”,只是保存着当前在线的客户端的网络拓扑节点,每一个使用这个软件的用户,都可以充当服务器端,都有可能被选作跳转中继节点。

而当真正创建了一条用户数据交换的私密通道的时候,当前中继节点只知道两个信息,当前的数据包来自哪个节点,以及要发送给哪一个节点。至于上级的上级、下级的下级中继节点就完全不得而知了。

没有一台单独的中继节点会知道数据包的完整路径,这是因为客户端为每一跳都分配读力的加密密钥以保证连接数据通过时不被跟踪。

这个密钥是临时生成的,就算是用户一直和同一个人联系,这条路径也并不是固定的,按照林鸿的设计,每隔十分钟就会更换一次密钥,即建立一条完全不同的连接通道。

林鸿将自己所能想到的所有可能被监听的环节都考虑到了,这样做只有一个目的,为了安全,为了避免被第三方监听。

因为不想使用中央服务器的方式来存储数据和信息,所有数据将会被分散地保存在客户端里面。

最为安全的方式,就是每一个客户端中都将已注册的所有用户信息都下载到本地保存,这样无论哪一个消失了,都不用担心自己的信息会因此而丢失,因为使用了最够安全的加密算法,也不用担心有谁对这些账号进行暴力破解,就算破解了也没用,无非是得到了这个账号而已,聊天记录是不会上传保存的。

但是如果使用这种方式,刚开始的时候可能还可以胜任,毕竟仅仅只是账号和密码的话,也不用多大的空间,当时当人数增加到一定数量级的时候,就会出现数据过大的问题。

每一个新注册的用户,可能都必须先从网络上下载其他用户的所有信息,如果硬盘不够大的话,很可能就会将硬盘撑爆。

林鸿便放弃了这个方式。他换了一种比较取巧的方式,那就是每个客户端里面只保存自己好友的信息。

也就是说,当你添加一个好友的时候,你的信息会全部同步给对方,而对方的信息也会同步给你。

这样一来,要保存的数据就极大减少。一个人就算有一千个好友,加密再压缩之后的信息大小也可以承受。

不过这样一来,也会有一些情况出现。例如如果有人的好友非常少,并且这些好友常年都不上线的话,他的本地数据如果丢失,就很可能会失去自己的账号和密码。

不过林鸿转念一想,没有好友的用户,那就根本不是用户,这个账号保留了也没什么意义,如果再次想使用这个软件,那就重新注册一个账号即可,以前的账号让其彻底报废最初账号保存的地方,可以随机选择一两个“目录服务器”进行保存,一段时间之后,这些数据就会彻底被销毁,以免被有心人获得实现不良目的。

原本这只是很简单的一个软件,但是为了让其拥有足够的保密特姓和安全姓,林鸿将其复杂度提升了整整一个等级,可谓是绞尽脑汁、费尽心思。

最终编写出来的程序,还是分为两部分,一部分是“目录服务器端”,专门用来保存节点拓扑结构和最初的注册信息。

另外一部分则是“客户端”,当然这个客户端中也集成了中转服务功能。

早晨的时候,新版cqcq的原型便编写出来了。

林鸿兴致勃勃地登录老版软件,想要将这个消息告诉linus,可是上线之后才想起,对方已经当兵去了。

于是,他登录sam官方的bbs,写了一篇有关这个软件的详细的介绍,想正是对外发布,让大家一起来帮忙测试和使用。

不过,当他的手指接触到回车键的时候,最终还是没有按下去。

这个软件是林鸿亲自设计的,自然清楚一旦发布之后会对网络世界造成什么样的影响,甚至也会对现实世界造成冲击。

可以说,这是一把双刃剑,黑客们可以用其进行自由沟通,犯罪分子也可以它来干一些违法的事情,对他们来说肯定是一个绝好的消息。

但是,对于各国政斧来说,这就是个坏消息了。可以预料,这个软件会遭到这些人的强烈反对和封杀。

林鸿将放在回车键上的手收了回来,坐在计算机前想了好长时间,最终按下退格键,将刚刚所写的内容全部给删除了。

刚才他在脑海中模拟了一下,一旦这个软件流行起来之后,到底会发生什么情况。