清晨深圳工业区:破旧白色电动车实为法拉第笼,陆远怀抱睡着的子衿,法尔汉驾车前行

第6章 · 数据党

白色的电动车在清晨的车流中穿行,毫不起眼。车身有几处明显的刮痕,后视镜的塑料外壳缺了一角,副驾驶座的安全带卡扣要用一个扎带固定才能用——这辆车旧得像是从另一个时代穿越过来的。

但陆远坐进车里之后,注意到了一些矛盾的东西。中控台被拆掉了,取而代之的是一块嵌在仪表盘里的金属面板,上面有三个指示灯,一红一绿一蓝,此刻只有绿灯亮着。挡风玻璃内侧贴了一层极细的金属网,用肉眼几乎看不见,但陆远知道那是法拉第网——能把车内所有电磁信号屏蔽在座舱内部。后座脚垫下面露出几截粗壮的电缆,不是原车的线束,是后加的。

这辆车看起来破旧,但它是一台行走中的法拉第笼。

法尔汉没有立刻开车。他坐在驾驶座上,透过贴了反光膜的侧窗观察了外面的街道将近一分钟,确认没有可疑的车辆和人员在附近停留,然后才拧动钥匙——不是那种一键启动的按钮,是真的钥匙,插进去转一下,像二十年前的车一样。

车辆起步的时候几乎没有声音。电动车特有的那种安静让车厢内的气氛更加沉闷。女儿在陆远怀里睡着了,小小的呼吸声是车厢里唯一稳定的节拍。

“她叫什么名字?”法尔汉问。他的声音比他打电话时要轻一些。

“子衿。陆子衿。”

“好名字。”法尔汉没有转头,目光始终看着前方的路面,“青青子衿,悠悠我心——曹操的短歌行。你取的?”

“她妈妈取的。她妈妈是语文老师。”

“以前是?”

陆远没有回答。法尔汉从他的沉默中读出了答案,没有再追问。电动车拐进了一条更窄的支路,两侧的建筑物逐渐从居民楼变成了工业园区——灰色的混凝土厂房,锈蚀的铁门,屋顶上密布着各种天线和通风管道。这条路陆远以前从来没有注意过。他在深圳住了七年,自以为对南山区很熟悉,但这座城市有太多他从未看过的角落。

“你打开了一个不该打开的盒子。”法尔汉说,语气平淡得像在聊天气,“但既然已经开了,就跟我走吧。”

陆远看着窗外后退的街景。他发现自己没有问过一个最基本的问题:这个人要带他去哪里?这个人凭什么值得信任?如果他只是从一个陷阱跳进另一个陷阱呢?

但他也没有其他答案可以选择了。

“塞拉斯的人在你出门之后进了那家旅馆,”法尔汉说,像在陈述一个他已经看到结果的事实,“我看到他们的信号特征出现在那片区域。比你晚到了大约九分钟。老周会告诉他们你只住了一个小时,不知道你的去向。他不会有事——他知道怎么应付。”

“你怎么看到的?”

法尔汉用下巴指了指那块嵌在中控台上的面板:“我自己的信号监测网络。覆盖深圳大约百分之六十七的区域。覆盖率不够高,但对塞拉斯的人足够了——他们的基站接入设备有很明显的射频特征,像一群大象在瓷器店里走路。”

“你自己的信号监测网络?”陆远重复了一遍这个词。他意识到自己对这个年轻人的理解可能完全错了。

“做逆向工程的时候需要知道自己有没有被人反过来定位。所以我搭了一个监听网络。”法尔汉打了一把方向盘,电动车拐进了一栋废弃大楼的地下停车场的入口,“不是什么了不起的东西。几个SDR前端装在空调外机的支架上,用开源软件做的信号分类器。”

他说得轻描淡写。但陆远知道,要用开源软件搭建一个能覆盖深圳六成区域、并能识别星链安全部门专用设备射频特征的系统——那已经不是“爱好”的范畴了。那是一个人的专业能力达到某种层级之后才会去做的事。

地下停车场的灯光昏暗,每隔三四盏才亮一盏。这里显然已经废弃了很久:墙角堆着建筑垃圾,墙上的消防水管被人锯断了一截,空气中弥漫着混凝土粉尘和机油混合的气味。法尔汉把车停在一个被两根承重柱遮挡的角落,熄火,拔下钥匙。

“到了。”

“这里?”

“入口不在这里。跟我来。”

法尔汉推开车门,陆远抱着女儿跟下去。脚踝传来的疼痛提醒他自己刚刚经历了一次不成功的二楼跳落——肾上腺素开始退去之后,身体的代价开始逐一结算。他低头看了一眼,脚踝已经肿了起来,但他没有停下来。法尔汉从后备箱里拿出一个黑色的工具包,背在肩上,然后走向墙边的一扇不起眼的铁门——上面挂着一块掉了漆的牌子:高压配电房 · 非授权人员禁止入内

法尔汉从口袋里掏出一把钥匙,插进锁孔,转了半圈。铁门的锁芯发出一声沉闷的咔嗒。他拉开门的动作带着一种精确的、练习过的节奏——不是随手一拉,而是先拉开一条缝,确认内部状况,再全开。

门后是一个配电房。墙壁上挂着几排早已断电的配电柜,玻璃面板裂了大半,里面的继电器和断路器的残骸积满了灰尘。法尔汉绕过那些配电柜,走到房间最里面的一堵墙前。他用手指在墙面上摸了大概两秒钟,找到了一个肉眼几乎看不到的缝隙——那是墙壁上一块钢板与混凝土之间的接缝。他从工具包侧面抽出一根细长的磁条,贴在钢板表面,用力向外一拉。

钢板无声地打开了。不是翻折,是整体向外平移了大约十厘米,然后旋转出一个刚好够一个人侧身通过的开口。

门后是一条向下的楼梯。没有灯。法尔汉拿出手电筒,光柱在狭窄的楼梯间里切开一条通道。陆远抱着女儿跟在后面,每往下走一步,脚踝的疼痛就增加一分,但他对这条楼梯尽头的东西的好奇心超过了痛觉。

一层。废弃数据中心的地下一层,他能闻到服务器机柜残留的硅脂和电路板的焦味。

二层。更冷。更安静。空气中有一种很轻微的低频嗡鸣,像什么大功率设备在远处运转。

三层。

法尔汉在楼梯尽头停了一下,把手掌按在墙上一块没有任何标识的金属板上。三秒后,金属板内部的某个机械结构发出一声清脆的解锁声。门开了。

陆远走进了另一个世界。

约四百平方米的开阔空间,层高四米,原先是数据中心的地下层主机房,天花板上还保留着密集的走线架和冷却管道。但现在这里被改造成了一个活的、运转中的技术作战中心。三十多个人分散在不同的工位上,每个人都戴着隔音耳机,面前是两到三块屏幕,屏幕上的数据流以人眼无法追踪的速度滚动。工位之间没有传统的隔断——取而代之的是一人多高的金属笼子,每一个工位都被一个独立的法拉第笼完全包裹。笼子的门是弹簧合页的,自动闭合。每个人进出都要开关一道物理的电磁屏蔽门。

墙面的主屏幕上投映着一张巨大的实时全球星链拓扑图——不是公开版的简化示意图,是真正的、从星链网络中实时捕获的卫星间激光链路和QKD信道的连接状态。每一条绿色的线代表一条活跃的星间链路,每一条蓝色的线代表一条正在分发量子密钥的QKD信道。整个画面像一个活着的神经网络,密密麻麻的线条在地球上空交织成一张不断变化的光网。

陆远站在门口,抱着女儿,像一个误入禁地的局外人。

但没有人抬头看他。没有人因为一个陌生人进入这个空间而感到好奇。三十多个人都在做自己的事,目光锁定在自己的屏幕上,手指在键盘上跳跃。隔音耳机的存在让每个人都被封闭在自己独立的声音世界里——这里虽然有三十多个人,但几乎听不到任何人声,只有键盘的敲击声、散热风扇的呼啸、和服务器机柜里磁盘阵列运转时那种持续的低噪。

法尔汉走过去,从一个空着的笼子里拖出一把椅子,示意陆远坐下。

“欢迎来到数据党的深圳据点。”他说,“条件有限,但在法拉第笼里待着的时候,你在这个大楼里的任何电磁信号都不会泄露出去。塞拉斯的猎犬找不到这里。”

陆远把女儿放在椅子上坐下。她已经醒了,睁大眼睛看着周围的一切——那些闪烁的屏幕、那些发光的连接线、那个巨大的地球投影。她不知道这里是什么地方,但她没有害怕。她拉住了父亲的衣角,但没有哭。

“她是不是需要休息?”法尔汉看了一眼那孩子,声音里第一次出现了一种不太确定怎么处理的语气。他显然不擅长跟孩子打交道。

“她已经休息了。”陆远蹲下来检查女儿的瞳孔和呼吸频率——职业习惯,癫痫患儿的父亲下意识动作。一切正常。他站起来,转向法尔汉,“现在你能告诉我了吗?那个盒子——我打开的那个——到底是什么?”

法尔汉没有直接回答。他从墙边的一个设备柜里取出一个东西——看起来像是一台改装过的平板电脑,没有品牌标志,外壳是3D打印的,接口处用热熔胶做了防水处理。他把它放在桌上,按了一下侧面的电源键。屏幕亮了,不是图形界面,是命令行终端。

他敲了一行命令。屏幕上出现了一组ASCII字符画——一颗地球的轮廓,周围环绕着三条虚线轨道,轨道用字符“-”和“|”拼成,在终端的光标下缓慢地“旋转”。一个业余的、带着复古气息的动画。

“这是SkyWalker。”法尔汉说,“它不是一个协议——目前还不是。它只是一个想法。”

陆远盯着屏幕上那个ASCII地球。他不明白自己在看什么。

“你知道星链最强大的地方是什么吗?”法尔汉没有等他回答,“不是通信速度,不是覆盖率,不是那十二万颗卫星——是计费。星链的每一个数据包,从发射到接收,经过每一颗卫星、每一跳链路,都会被系统精确地计量。数据包的源地址、目的地址、协议类型、数据量、优先级、延迟要求——全部被输入一个叫OrbitNet Billing的推理单元,实时计算这个数据包应该收多少钱。”

“Token税。”

“对。每一bit数据都有价签。每一TOPS算力都有账单。”法尔汉用指尖敲了敲屏幕,“但任何计费系统都有一个基础假设:它能识别出需要计费的东西。它必须看到数据包,才能给数据包定价。”

“你打算让数据包隐身?”

“不。我是打算让数据包说另一种语言。”

法尔汉点开了另一个窗口。那是一张星链全协议栈的结构图,从物理层一直到应用层,每一层都用不同颜色标注。他用手在屏幕上一划,把其中一层放大了——那是网络层与传输层之间的一个区域,标着“QKD信道元数据区”。

“量子密钥分发——QKD——是星链用来保护卫星间通信链路的加密技术。两颗卫星通过纠缠光子对来协商对称密钥。这个过程会产生大量的元数据——不是密钥本身,是密钥协商过程中的各种参数:光子波长漂移、到达时间差、背景噪声水平、纠错码的奇偶校验模式——”法尔汉停了一下,“星链认为这些元数据是随机的、无意义的、不会包含任何信息。所以他们不加密,不校验,不计费。”

“但这些元数据可以被调制?”陆远脱口而出。他还没完全理解法尔汉的逻辑,但他的工程直觉已经追上了对方的思路。

法尔汉的嘴角动了一下——一个极其微小的弧度,介于满意和惊讶之间。“对。QKD协商过程中的光子到达时间差——那不是一个完美的随机过程。它受限于发射端的激光器相位噪声特性,而这种相位噪声可以通过对激光器驱动电流的微调来主动控制。也就是说,你可以把数据嵌入到看似随机的光子到达时间差里,用星链自己的QKD信道来传输未经授权的数据。”

“速率呢?”

“大约每秒一比特。”

陆远沉默了几秒。每秒一比特——发送一条短信需要几秒钟,发送一张照片需要几个小时。但发送指令、发送加密密钥、发送认证凭证——这些数据量都很小。每秒一比特,对于元数据传输来说,够了。

“但这只是一个概念,”法尔汉说,语气里的漫不经心褪去了一些,“要让它变成真正能用的协议,还有三个问题需要解决。第一,QKD信道是星间链路——在地面上无法直接接入。你需要一个星链地面站或者一个能跟卫星建立QKD连接的终端设备才能读写这些元数据。第二,即使你成功嵌入了数据,这些数据要如何从星链网络中优雅地穿出到接收端,而不触发任何计费系统的警觉——这是一个路由层的问题。第三——”

他没有说完。他的目光落在陆远脸上,好像在等他猜出第三个问题。

“信号指纹,”陆远说,“你需要在地面端注册一个身份。一个不会被星链拒绝的终端身份。不然你的数据根本没有机会进入任何一条链路。”

法尔汉看着他,那种评估的表情持续了好几秒。然后他点了点头。

“这就是为什么我在等你。”

陆远突然明白了很多事情。三年前那个固件问题——那个法尔汉故意留在固件里的测试入口——不是一次随意的测试。法尔汉在找人。找一个能读懂物理层的人,一个能看到“漏洞”背后本质的人,一个遇到漏洞不会用来牟利、而是会用来修手机的人。

自己在三年前就已经被筛选了。

“你知道我会被星链盯上?”陆远的声音不自觉地压低了。

“我知道你在用信号克隆,”法尔汉坦然地说,“你的信号指纹特征在我这里挂了一个标签。深圳出现了一个克隆的铂金级信号,用了大约三周。没有用于犯罪,没有用于窃取数据——只是用来给孩子看病。这种信号不常见。”

他在自己的终端上操作了一下,调出一个窗口,上面是一段日志文件——陆远在华为实验笔记上的那一页批注。陆远看到那段自己七年前写下的文字出现在别人的屏幕上,感到一阵不真实的寒意。

“你——怎么拿到这个的?”

“华为201所的离职实验日志有一个副本被保存在内网归档中。2049年星链收购的时候,归档数据被整体迁移到了星链的存储系统里。我在两年半前通过一个存储侧通道拿到了整个归档。”法尔汉的语气依然平淡,“七千多份实验文档,三千多个固件版本,四百多份个人笔记——你的笔记是唯一一份提到了信号指纹克隆方案的。”

陆远没有接话。他感到一种奇怪的眩晕——自己七年前随手写下的批注,竟然经过了一条如此曲折的路径,在另一个人的屏幕上重新出现在自己眼前。而且这个人等待了三年,就为了等带着那个批注的人走到他面前。

“所以——塞拉斯的人在追我,不是因为我在他的监控系统里触发了警报,”陆远慢慢地说,“是因为你——你们——需要有人来做那个信号克隆的事情,而塞拉斯知道数据党需要一个懂物理层的人?”

“不。”法尔汉摇头,“塞拉斯追你是因为米兰故意把你暴露给他了。米兰想要看看——当你被逼到墙角的时候,你会找谁。”

“米兰也知道?”

“米兰一切都知道。”法尔汉顿了顿,“那个漏洞——信号克隆的漏洞——是米兰故意留在星链固件里的。他设计的系统,不可能留下一个七年前的华为工程师都能发现、他的安全团队却视而不见的漏洞。他是故意的。”

陆远感到自己的理智正在触碰一个他无法把握的尺度。他以为自己在偷流量——结果那是一个首席架构师设计的陷阱。他以为自己在逃亡——结果他的每一步都在一个更大棋局的预料之中。他以为自己找到了一条救女儿的路——但这条路指向的方向远比他想象的要复杂和危险。

法尔汉还想说什么,但他面前的屏幕上弹出了一个加密频道的接入请求。他看了一眼,表情微微变化了一下,按下了接通键。

屏幕亮起,一张面孔出现在画面中。

一个女人。六十岁出头,黑色皮肤,短发已经花白,戴着一副圆框老花镜,背景是一个堆满了纸箱和线缆卷轴的房间,窗户外面是灰蒙蒙的海港和集装箱吊机。她穿着一件深蓝色的工装背心,衣领上别着一枚不起眼的徽章——陆远后来才意识到那是一只衔着橄榄枝的鸽子,用铜线手工弯成的。

“法尔汉。”她的声音低沉,带着西非口音的英语,“你那边有客人?”

“阿米娜,”法尔汉侧了一下身,让摄像头能拍到陆远,“这就是我跟你提过的那个人。”

屏幕上的女人——阿米娜·奥乌苏——透过摄像头仔细地打量着陆远。她的目光不像法尔汉那样扫描式的,而是一种更慢、更深、像是要把一个人读到骨子里的审视。

“你好,年轻人。”她说,“你知道鸽子网络吗?”

陆远摇头。

“你会知道的。”她说。她的话语里没有威胁的意味,更像是一种陈述,带着淡淡的笃定。然后她的目光转向法尔汉:“那个协议——你确定米兰是认真的?”

法尔汉沉默了几秒。在那一瞬间,陆远注意到他的表情——不是犹豫,而是一种更深层的、他在努力保持平静的重量。

“我确定。它是诱饵。但诱饵也可以钓鱼。”

阿米娜在屏幕的另一端点了点头。她的表情没有太多变化,但陆远觉得她对这个回答并不意外。

“那个华为来的年轻人,”她说,“他用信号克隆做了什么?”

“给他女儿看病。”

阿米娜的眉毛动了一下。这是她在整个对话中第一次出现真正的情感反应——不是惊讶,更像是一种无声的确认。她重新看着陆远,这次的目光比刚才柔和了一点点,只是一点点。

“孩子得的什么病?”

“癫痫。难治性的。”陆远的声音有些干涩,“需要远程专家会诊和AI影像分析。铜级配额不够。”

阿米娜没有说“我很抱歉”之类的话。她只是点了点头。然后她对法尔汉说:“给他一个工位。让他先学会SkyWalker的信令结构。拉各斯这边的新固件样本会在七天内送到,到时候我们需要他在地面端搭建信号克隆的中继测试节点。”

“他不是来加入数据党的,”法尔汉说,“他是来救他女儿的。”

阿米娜的目光再次落在陆远身上。这一次她的目光停留了更长的时间,好像在看一件她见过太多次的东西——一个以为自己只是在救亲人的人,不知道这条路会通向什么样的终点。

“救女儿和救世界有时候是同一条路,年轻人。”她说,“先把女儿治好。然后你会发现你已经站在了战场的中央。”

她关掉了通讯。屏幕恢复成终端界面,光标在屏幕底部静静地闪烁。

法尔汉站起来,走向一个空着的法拉第笼隔间。他拍了拍笼子门上贴着的那个手写标签——上面写着“RF-01”。

“你的位置。隔音耳机在桌上的抽屉里,使用说明贴在显示器边框上。操作系统是Linux Mint,没有星链的任何闭源驱动。开发环境已经装好了,工具链的文档在/usr/share/skywalker/doc目录下。有问题来隔壁找我。”

陆远站在那个笼子的门口,看着里面那台没有任何品牌的电脑,看着屏幕上那个ASCII地球还在缓慢旋转。他又看了看女儿——她已经从椅子上下来,站在那个巨大的全球星链拓扑图前,仰着头看那些移动的光线。她不知道那些线条是什么,但她看得入神。

“爸爸,这些线是网线吗?”

陆远不知道怎么回答。他想说是的。它们都是网线。每一根线都在连接着什么,也在断开什么。

他蹲下来,握住女儿的手。

“是网线。很长的网线。”

“通向哪里?”

“通向一个爸爸还不知道的地方。”

微信公众号二维码

扫码关注微信公众号
阅读更多独家内容