第14章 · 萨赫勒的灰烬
情报是由伊莎贝尔的加密通道传递过来的。
那天是星期二,深圳的时间是下午两点四十七分。陆远正在据点的角落里给女儿讲一道数学题——小姑娘趴在他的膝盖上,用一支掉了漆的铅笔在本子上歪歪扭扭地写数字。她写到”7”的时候总是把横划写反,陆远握着她的手纠正了三次,她第三次还是写反了,然后自己笑了起来。法尔汉的终端发出一声短促的蜂鸣,加密频道的接入提示音——那种经过特殊处理的白噪音脉冲,在安静的据点里像一根针刺破了所有人的注意力。
法尔汉读完了消息,沉默了几秒钟,然后把它投射到主屏幕上。
「来源:布鲁塞尔 · 伊莎贝尔。紧急。星链将在72小时内向南美洲上空的卫星推送关键固件更新,编号:ORBITNET-QP-2057-09。更新期间,QKD信道的密钥协商协议会从标准模式切换到低功耗兼容模式,切换窗口约为1.2秒——在此期间,量子态的纠缠保持率下降,密钥生成中断,链路上的光子到达时间差数据将不再被审计。根据米兰对我的指令,此窗口被描述为”不可监控期”。如果SkyWalker需要一条没有审计记录的注入路径——这是你们能找到的最窄的窗口,也是唯一的一扇窗。——伊莎贝尔。」
主屏幕周围已经聚拢了七八个人。有人低声重复了某段关键内容,有人已经开始调取南美洲上空星链卫星的轨道参数。空气在几秒钟内从午后的慵懒变成了战前的紧绷。
法尔汉没有立刻反应。他坐在工位上,一只手撑着下巴,目光在屏幕上的那些字句之间缓慢移动,像是在读一封措辞可疑的信。
据点里的其他人已经开始兴奋起来。一个叫洛伦索的葡萄牙裔工程师已经开始计算注入窗口的轨道覆盖范围——他的手指在键盘上飞舞,全息地图上南美洲的轮廓被逐层标注,巴西、秘鲁、哥伦比亚上空的卫星轨迹被绘制成交错的弧线。“如果我们在利马和圣保罗同时建立两个地面注入点,“洛伦索说,声音里带着压不住的热度,“可以覆盖大约三百七十颗卫星的QKD链路。一个同步注入——我们就能在星链的南美洲段创建一个连贯的自治网络飞地。三百七十颗卫星组成的是一个逻辑上的独立网络——”
“太顺利了。“法尔汉说。
房间里安静了。洛伦索的手指停在键盘上方。
“伊莎贝尔的情报来源是米兰。“法尔汉转过椅子,面对着所有人,“米兰知道她是双面间谍。如果米兰通过她来传递这个情报——那这个情报本身就是米兰的计算结果。他在告诉我们:有一个1.2秒的窗口。他给了我们时间和坐标。他在等我们走进去。”
洛伦索放下了手。他的兴奋在消退,取而代之的是一种职业性的警觉。“你认为这是一个陷阱。”
“我不确定。“法尔汉说,“但米兰是这座监狱的总设计师。一个囚犯通过狱卒的间谍收到了一张越狱路线图——你觉得狱卒不知道吗?”
据点里没有人反驳。那些刚刚还在计算注入参数的几个人安静了下来,退回各自的工位,但他们的目光仍然不时地飘向主屏幕上的那封情报。每一次飘过去,都带着一种不甘心的重量——因为无论怎么看,那个窗口都是真实的。1.2秒的审计间隙,够宽,够深,够他们完成一次全球瞩目的注入。
陆远感到女儿的小手拉了拉他的衣角。他低头,看到小姑娘仰着脸看他,用一种她特有的、很轻的声音问:“爸爸,你要去打仗吗?”
陆远把她抱起来。他不知道怎么回答。他说了”不去”,但那个字从喉咙里出来的时候他自己都不太相信。
数据党的决策层最终投票通过了行动方案。
投票是在加密频道上进行的。阿米娜从拉各斯接入了会议,她的画面抖动而模糊——鸽子网络中继的带宽有限,分给视频通话的只有不到每秒一帧的数据量。但她的声音足够清晰,清晰到所有人都能听到她问的那个问题:
“谁去?”
法尔汉没有报名。他在投票前的最后一次分析会议上说了一句让所有人都无法反驳的话:“如果这是一个陷阱——我和陆远必须活着。因为只有我们知道怎么找米兰的嵌套入口。如果我们死在这次行动里,米兰的第二个后门就永远没人能找到。”
决策层同意了这个逻辑。法尔汉和陆远被排除在行动名单之外。
二十三个人接过了任务。
他们的名字被写在据点的战术白板上——不是真实姓名,是代号。二十三行用白色马克笔写的字符,在荧光灯下整整齐齐地排列着,像一块临时搭建的墓碑的草稿。陆远站在白板前面把那些代号一个个看过去:金雕、渡鸦、信天翁、夜莺——每一个名字都是一只鸟。阿米娜的鸽子网络培养出的信使之鸟。
他不知道其中任何一个人的全名、年龄、家庭背景。他只知道他们中的大多数比他年轻,有几个可能还没有大学毕业。他们坐在据点的不同角落,此刻正在检查自己的设备——改装过的SDR终端、加密存储卡、信号调制器的备用电池——每一个动作都带着一种刻意的平静,像一群即将潜水的深海潜水员在做入水前的最后一次装备检查。
洛伦索走过来,拍了拍陆远的肩膀。“别担心。三百七十颗卫星——我们算过,即使米兰关上了那扇窗,QKD链路的物理层特性决定了他不可能在1.2秒内关闭所有通道。我们至少能完成百分之六十的注入。”
陆远看着他。这个葡萄牙裔的年轻人大概二十三岁,嘴角还带着一颗没完全消下去的青春痘。他说话的语气像是在说服自己。
“百分之六十够吗?”
“够在南美洲上空撕开一个口子。一个小的口子。但只要我们进去了——SkyWalker就能在内部扩散。“洛伦索停顿了一下,“我研究生读的是卫星网络协议,导师说星链是不可战胜的。我退学了。”
他说完笑了一下,转身走回自己的工位。
陆远看着他的背影。他想说”小心”,但没说出口。在这个据点的语境里,“小心”是一个太轻的词。
行动在第七十三小时启动。
陆远没有参加作战会议。他坐在据点的角落里,女儿在他旁边画一只蝴蝶——她已经连续画了七天的蝴蝶,每一只都在前一只的基础上改一点点翅膀的弧度。陆远看不懂她在追求什么,但他没有问。画蝴蝶是她在这个没有窗户的地下空间里为数不多能做的事,她的蝴蝶不需要流量配额,不需要算力 token,不需要星链的许可。
法尔汉在他的法拉第笼里,没有参与任何沟通频道。他戴着隔音耳机,面前显示的不是行动界面——是米兰的设计日志。他还在挖。逐字逐句地、像考古学家用刷子清理一件被埋了千年的器物一样,从那些被时间磨损的文字碎片中寻找那个嵌套入口的蛛丝马迹。
行动在中午十二点整开始。
据点的主屏幕上,一条红色的状态栏开始跳动。「注入窗口开启倒计时 · T-0:01:12.0」。洛伦索的手指悬在回车键上方。南美洲上空的卫星正掠过安第斯山脉,它们之间的QKD链路正在从标准模式向低功耗兼容模式切换。密钥生成率在下降。纠缠光子对的到达时间差数据的随机性在增加——那些增加的随机性里,藏着SkyWalker可以借住的空洞。
十二秒。十一秒。基多地面站发送了第一个注入脉冲。
十秒。九秒。利马地面站的确认信号返回,延迟完美控制在阈值以内。
八秒。七秒。超过三分之二的节点完成了第一次握手。
六秒。
五秒。
四秒。
三秒。
二秒。
一秒。
零。
红色状态栏跳成了绿色。「注入窗口关闭 · 初始连接已建立」。据点的房间里爆发出一阵克制的欢呼——不是那种放声大喊的庆祝,是几个人同时用力拍了一下桌面,有人在座位上攥紧拳头长长地呼出一口气。
成功了。最初的零点几秒里——看起来一切正常。
然后第七秒发生了。
陆远说不出自己是怎么在第七秒感到不对劲的。他没有在看屏幕——他正在给女儿拧开一瓶水的瓶盖——但他感到据点里的空气在那一瞬间发生了某种质变,像大气压突然下降了几毫巴。他抬起头。
主屏幕上的绿色状态栏正在以肉眼可见的速度变化。
从绿色到黄色。
从黄色到橙色。
然后——在不到半秒钟之内——从橙色跳到了红色。
不是一条红色的状态栏,是多条。那些刚刚还显示着”连接已建立”的节点,正在一个接一个地被标记为**「连接中断 · 原因:终端被反向追踪」**。
洛伦索的声音从房间的另一侧传来,不再是那种带着青春痘般鲁莽的热情,是一种陆远从未在他身上听到过的声音——冰镇的、平整的、像刀刃在磨石上刚刚开过刃一样的声音。“他们知道我们的精确位置。每一终端——都在被反向定位。这不是普通的追踪——他们在注入路径的每一个中继点上都布了监测点。”
他的手指在键盘上疯狂地输入防御指令,但每一个指令的响应时间都在变长——不是因为网络拥堵,是因为那些被他控制的终端正在逐一从数据党的网络中脱落,像一艘正在沉没的大船上的乘客,一个一个地松开手掉进海水里。
陆远站起来。女儿的画笔从她手边滚落,在水泥地面上弹跳了两下,滚到了桌底。他没有去捡。
他走到了主屏幕前面。
一个接一个,那些代号——金雕、渡鸦、信天翁、夜莺——正在从在线状态变成离线。不是灰白色,是一种暗红色,像是被系统用血色的墨水划掉的。那个暗红色代表的不只是终端断开,它代表着终端的物理位置已经被星链的安全系统锁定——而塞拉斯的人正在赶往那些坐标的路上。
二十三个代号。
在他站着看屏幕的大约四十秒内,暗红色吞噬了它们中的十九个。
据点里已经没有人说话。有人在低声啜泣——是一个陆远不太熟的年轻女孩,负责固件编译的,大概二十岁出头。她捂着自己的嘴,不让自己发出声音,但眼泪已经从她的指缝间溢出来,掉在键盘上。
洛伦索停下了手上的操作。他的双手离开键盘,垂在身体两侧。他的脸上没有表情——是一种表情彻底消失了的空白。
最后四个代号在接下来的十秒内逐一熄灭。
二十三个,全部暗红。
主屏幕的右下方弹出了一条星链安全系统的自动通知——可能是塞拉斯故意让它透过数据党的监控可见的,像一种嘲弄。通知写着:
「目标终端已被依法截获。数据党成员:根据《国际太空通信安全公约》第14条,你们的行为已被记录。自首通道已开放。请就近联系星链授权代表。」
没有人回应那条通知。
法尔汉从法拉第笼里走出来。他的隔音耳机挂在脖子上,屏幕上的米兰设计日志还没有关闭。他走过洛伦索的工位时停了一下,看了一眼那个年轻人垂在身体两侧的拳头——攥得太紧了,指节发白,指甲已经嵌进了掌心的皮肤,渗出一丝极细的血。
法尔汉没有说”别自责”之类的话。他只是走过去,用一只手把洛伦索的拳头掰开。洛伦索的手掌摊开之后,掌心有一个半月形的指甲印,正在慢慢渗血。
然后法尔汉走回主屏幕前,看了一眼那些暗红色的代号列表。二十三行。全部暗红。
他伸出一只手,按在屏幕的边缘。不是砸,是按压,像在确认那层玻璃后面显示的每一个字都是真实的。
“那是米兰送给我们的礼物。“他说。声音不大,但在安静的据点里每一个字都清楚得像钉子钉进木板。“二十三个人。因为他的一个算计。”
陆远站在他旁边。他感到自己的手在发抖——不是因为恐惧,是一种从腹部深处涌上来的、冰冷而尖锐的愤怒。他想说什么,但喉结像被什么东西卡住了。他用力咽了一下,才把声音从喉咙里挤出来。
“不。”
法尔汉转过头看他。
“那不是米兰送给我们的礼物。“陆远说。他的声音比他预想中要安静——不是平息了的安静,是风暴眼中心那种诡异的静止。“那是米兰送给伊莎贝尔的礼物。”
法尔汉的表情没有变化,但他的瞳孔微微收缩了一下。
“米兰早就知道伊莎贝尔是双面间谍,“陆远继续说,每一个字都在他嘴里变得越来越清晰,像一块正在被水冲洗的石头,“他通过她传递这个情报——不是在测试我们。他是在测试伊莎贝尔。看她是会把这个情报原封不动地转给我们,还是会加上自己的判断,还是会选择隐瞒。”
他停顿了一下。
“她原封不动地转给我们了。所以米兰知道了——伊莎贝尔站在我们这边。她不是双面间谍——她是已经被我们策反的单面间谍。”
据点里没有人说话。
“二十三个人——那是米兰为那条信息支付的鉴定费。他需要确认伊莎贝尔的身份。确认的方式就是——“陆远的声音终于出现了一道极细的裂缝,“用二十三个人的命来验证。”
法尔汉的手从屏幕边缘移开了。他转过身,背对着那片暗红色的名单,靠在桌沿上。他低着头,看着自己的鞋尖。
“伊莎贝尔已经暴露了。“他说。语气是陈述式的,不带任何情绪,像一个医生在病历上写下诊断结论。“米兰不会再用她传递任何真情报。她现在是死的——一个被标记的、失去了战略价值的资产。”
“我们也是被赠送的代价。“陆远说。
法尔汉没有否认。
据点里有人在低声问:“那二十三个人——他们怎么办?”
没有人能回答这个问题。
防线频道上没有消息。
数据党有几个应急频道——通过鸽子网络的物理中继线路连接的、完全不依赖星链的通信路径。那些频道的速度很慢,一条消息从利马传到拉各斯再转到深圳需要几个小时,而且每条消息都必须在每一个中继节点被人工读取、存储、再转发。但它们是安全的——绝对的安全,因为没有任何电磁信号参与传输。
二十三个终端被截获后的大约六小时,第一条鸽子网络的消息终于抵达。
阿米娜的声音通过一条经过四次转手的音频文件传达。她的声音比平时低,低到几乎不像她,每一个词之间都有很长的停顿,像是在努力地控制自己的呼吸。
「二十三人中——十五人被逮捕。四人在物理截获设备时受伤,目前在星链的医疗监护下。两人在抵抗中重伤——消息来源不确定是否已经脱离危险。还有两人我们无法确认他们的状态,星链没有公布完整名单。鸽子网络正在确认——但那条线的反馈需要时间。」 她的声音停了一下,再响起时多了一种陆远从未在她身上听到过的东西——疲惫。「四个据点被搜查。利马、圣保罗、基多、波哥大——全部暴露。超过三百TB的固件数据和节点信息被收缴。法尔汉——我不知道塞拉斯是怎么做到的,但他在同一个时间窗口内同时打击了所有目标。这说明他在行动开始之前就已经掌握了所有节点的精确位置。他没有等追踪信号——他已经在那些坐标上部署了力量,只等着我们启动注入,他就能确认我们的位置。」
消息播放完毕。据点里没有人打开下一段。
陆远坐在他女儿身边。小姑娘已经趴在折叠床上睡着了,呼吸均匀,完全不知道在她睡觉的几个小时里,二十三个她从未见过的人已经从世界上消失了。也许不是彻底消失——他们中的大部分人还活着,只是现在正在某个星链授权的拘留设施里等待不知道会持续多久的审讯。但”活着”和”还在我们的世界里”是两回事。
陆远给她掖了掖被角。她的一缕头发贴在额头上,他轻轻地把它拨开。手指碰到她的皮肤——温热的,带着一种让人心安的、活着的温度。他忽然想到一个让他脊背发凉的问题:
那二十三个人——在行动开始之前——有没有也这样摸过自己孩子的额头?
他把手收回来,握成拳,放在膝盖上。
据点的灯光已经调暗了——不是为了省电,是因为此刻没有人能承受全亮度照明下的视觉真实感。洛伦索坐在他的工位上,没有开他的主显示器,只开了一盏小台灯。他的侧影在昏黄的光线下像一个被遗弃在站台上的人。
法尔汉不知道去了哪里。陆远后来在楼顶的消防通道上找到了他——他没有下楼,是往上走的,一直走到了废弃大楼的最顶层。他没有越过天台的门槛,只是站在门框里面,看着外面被黄昏染成铁锈色的深圳天际线。
陆远在他旁边站下来。
“二十三。“法尔汉说。
陆远没有接话。
“我在三周前——在做形式化验证之前——就已经有百分之七十的把握那个漏洞是陷阱。“法尔汉的声音很平,平得像一条已经没有任何坡度可以继续下降的路。“但我没有阻止行动。因为如果那是百分之三十不是陷阱的可能——我就不能阻止。如果那个窗口真的存在,如果因为我的犹豫错过了唯一的机会——那又是另一种责任。”
他停了一下。“米兰算准了这一点。他知道数据党会在百分之七十的陷阱概率和百分之三十的机会窗口之间做出什么选择。所以他把概率算得刚刚好——让我们无法拒绝。”
远处的天空正在从铁锈色过渡到灰紫色。第一颗星链卫星已经出现在东南方向的低空——一个匀速移动的光点,在暮色中安静地滑行。它看起来和其他所有的星星一样冷漠、一样遥远、一样与地上那个站在废弃大楼门框里看着它的男人毫无关系。
“那二十三个人——“陆远开口了,他发现自己不知道该怎么继续。他停了一会儿,“他们选择了百分之三十。”
法尔汉没有回答。他站在门框里,双手插在口袋中,看着那道卫星的轨迹一直延伸到天际线尽头,消失在城市上空的雾霾里。
“你知道吗,米兰在2052年的日记里写过一句话,“法尔汉说,声音轻得像在自言自语,“他说:‘萨赫勒地区的草每年都烧一次。然后在下个雨季重新长出来。灰烬是肥料。’”
他转过身,背对着那道正在暗下去的天际线。
“他是对的。但我不想成为肥料。”
他们走下楼去。
据点里的灯更暗了。某个人在角落里放了一段音乐——一首老歌,陆远听不出是什么,但旋律缓慢而低沉,像一个人在慢慢地拆一件东西。女儿在折叠床上翻了一个身,小手从毯子下面伸出来,在空气中无目的地抓了一下,然后缩回去。
陆远蹲下来,握住那只手。她没有醒,但她的手指本能地握紧了他的食指。
有那么一瞬间,他感到眼眶在发热。他用力闭了一下眼睛,把那股灼热压了回去。
外面的卫星还在走。
二十三只鸟不会再飞回来了。
灰烬落下来的时候,不管你是不是准备好了——它都会落在你的头发上、肩膀上、手心里。
陆远把女儿的手放回毯子下面。
然后他转身走向法尔汉那个还亮着的法拉第笼。