下一章 上一章 目录 设置
23、赴约前夜
陈 ...
-
陈远山从宝善街回来的那天晚上,安全屋里的气氛变了。
不是那种大张旗鼓的变化——何明还是在敲键盘,韩冰还是在跑频谱分析,苏鹤年还是在白板前研究省福彩中心的建筑平面图,周德民还是在电磁炉上煮粥。但周临渊注意到了。陈远山走进来的时候,手里攥着那把铜钥匙,攥得很紧,指节泛白,像是在水里抓着一根救命稻草。他把钥匙放在桌上,然后坐下来,把魏明诚说的话逐字逐句复述了一遍。说到“他把钥匙放在窗台上之后,那个人跟了他三条街”这句话时,他的手不自觉地按住了胸口。
“魏明诚被盯上了。”苏鹤年放下记号笔,转过身来,“他能甩掉一次,不一定能甩掉第二次。老周,我们得把他接到安全屋里来。”
“他不肯。”陈远山说,“他说他在外面还有事没做完。”
“什么事?”
“他没说。”
周临渊和白板前几个人的目光交汇了一瞬。魏明诚躲了二十八年,换了无数次身份,住过废弃计量站的地下室,被消音器手枪追过,在演播厅外面被跟了三条街——他还在外面有什么事没做完?除非他手里还有东西没交出来。或者,他知道一件不能说、只能做的事。
“明天我去见他。”陈远山站起来,把铜钥匙放进周临渊手里,“这把钥匙你先保管。明天他约了我去城西开发区——不是宝善街,是另一个地方。他说要给我看当年随机性实验室的原始数据备份。”
“城西开发区?”苏鹤年的眉头皱了起来,“废弃计量站就在城西开发区。上次我去的时候,地下室被人烧过,铁门换了新铰链——那个地方不安全。”
“他知道不安全。但他选在那里,是因为那里有他藏了二十八年的东西。”陈远山说,“魏明诚不是一个会随便换见面地点的人。上次在演播厅是因为他被人跟着——他必须选一个人多的地方才能甩掉跟踪。这次他选在城西开发区,一个空旷的、废弃的、没有人烟的地方,只有一个理由:他要给我的东西,不能在任何有人的地方拿出来。”
周临渊看着手里的铜钥匙。那把钥匙在日光灯下泛着暗沉的光泽,铜面上那行字——“14年=5113天”——像是刻在时间的皮肤上的一道疤。
“明天我陪你去。”
“不用。他只见我一个人。”
“如果出了事——”
“出了事,钥匙在你手里。”陈远山说,“三把钥匙——陆维远的在你这里,萧劲的在他自己身上,顾世安的在顾世安手里。只要三把钥匙没有全部落入同一个人手里,写入权限就触发不了。零号当年设计的安全协议要求至少两个独立的人同时在场——一把钥匙加生物密钥,或者两把钥匙同时转动。我一个人去,就算出了事,顾世安也只能拿到一把钥匙。他拿不到全部。”
苏鹤年靠在墙上,沉默了几秒,然后开口了。他的声音很平,但每个字都像是从牙缝里挤出来的:“老陈。魏明诚被跟踪了。他能甩掉一次,是因为对方不想在演播厅外面动手——人多,有监控,有保安。城西开发区没有监控,没有保安,没有人。如果顾世安的人跟着魏明诚到了那里,他们不会只是跟着。他们会在那里等你。”
陈远山没有回答。他走到电磁炉边,拿起周德民放在那里的一杯凉茶,喝了一口,然后转过身来。“我知道。但魏明诚等了二十八年——他等的就是有人去拿那份备份。如果我不去,他会自己去。他一个人去,比我们两个人去更危险。”
第二天清晨,安全屋的铁门外响起两声短促的喇叭——老李的暗号。林哲到了。
铁门打开的时候,一个年轻人背着双肩包站在门口。他身上穿着一件洗得发白的黑色卫衣,帽檐压得很低,遮住了大半张脸。个子不高,很瘦,皮肤苍白得像很久没见过阳光。整个人像一个在机房里泡了太久的服务器。他抬起头来的时候,周临渊看到了他的眼睛——不是苏鹤年那种沉,不是陈远山那种烧,而是一种更冷的、更锋利的东西。像一把手术刀,在黑暗里放了很久,没有生锈,反而更亮了。
“林哲。”他自报姓名,语气很平,和上次在电话里听到的一模一样。
苏鹤年走过去,两个人对视了一秒。然后苏鹤年伸出手,林哲也伸出手。不是普通的握手——苏鹤年捏住了林哲的手腕,食指和中指搭在他的脉搏上。这是一个侦察营老兵的本能动作——判断一个人是否紧张。林哲的脉搏很稳。每分钟大概六十下。
“你被人跟踪了吗?”
“没有。我换了七次交通工具。从瑞丽坐摩托车到芒市,从芒市坐大巴到保山,从保山打黑车到楚雄,从楚雄坐运猪的货车到安宁,从安宁骑共享单车到西山脚下,最后走了三公里山路。”林哲说这段话的时候,脸上的表情像在做一份技术报告,“路上我扫描了所有经过的摄像头——没有发现异常的人脸识别触发。我每隔四十分钟换一张SIM卡。现在这张——”他从口袋里掏出一部老式手机,“是今天早上新拆封的。”
苏鹤年松开了他的手腕。这个年轻人的脉搏从始至终没有变过。
林哲走进安全屋,环顾了一圈。他看到何明在角落里的三块屏幕,看到韩冰在跑频谱分析的笔记本,看到周德民在电磁炉旁煮粥,看到白板上密密麻麻的数字和名字。他的目光在陈远山脸上停了一下——大概是注意到了他发紫的嘴唇——然后移开了。他没有问陈远山的病情。他只是从双肩包里拿出一台笔记本电脑,放在桌上,打开。屏幕亮起来的时候,上面是一个已经跑了一半的程序界面。
“HSM定时程序的逆向工程——我已经完成了百分之六十。”林哲指着屏幕上的代码结构图,“核心的种子注入模块我已经拆出来了。和你们之前分析的完全一致:外部种子每七点一三天自动注入一次,注入源是一个加密卫星下行信号——就是JYT-0723。但有一个问题我没解决:种子注入的触发时间不是固定的。它在七点一三天的周期上有一个随机的抖动窗口——正负六小时。这意味着我没法精确预测下一次注入的具体时刻。”
“那个抖动窗口不是随机的。”陈远山站起来,走到林哲的电脑前,“它是用地磁活动指数的实时波动来生成的。零号在设计这套系统的时候,用自然界的地磁涨落作为随机抖动源——他把‘真正的随机’和‘伪随机’混在一起。这样即使有人发现了七点一三天周期,也没法精确到分钟级别。”
林哲看着他,眼睛里有什么东西闪了一下——不是敌意,而是一种在技术层面被挑战之后的兴趣。“你能算出来?”
“能。地磁活动指数是公开数据——全球地磁台网每三小时更新一次。只要把过去七十二小时的地磁指数输入相位模型,就能反推出抖动窗口的精确边界。”陈远山顿了顿,“但我需要实时的地磁数据。我们现在没有网络。”
苏鹤年转向老李:“那条物理级隔离的临时专线,多久能搭好?”
“设备已经有了,”老李说,从角落里拎出一个军用绿色的铁皮箱子放在桌上,“通信营老战友给的。一台战术级卫星信号收发器,改装过的,可以接民用电源。只需要找一根能避开所有监控探头的天线杆。”
“城西开发区。”陈远山说,“废弃计量站往西一公里,有一个废弃的广播信号塔。塔身还在,天线座是空的——正好可以架设备。而且那里地势高,信号能覆盖整个昆明西郊。”
苏鹤年看了陈远山一眼,大概明白了他的意思。架天线杆需要人去城西开发区。而陈远山今天下午本来就要去那里见魏明诚。两件事可以合在一起做,但风险也会叠加——天线杆会发射信号,如果顾世安的人在监控JYT-0723信道的物理信号源,他们就能通过三角定位锁定发射位置。
“那就一起做。”苏鹤年说,然后转向林哲,“你到达的消息暂时不要告诉任何人——包括萧劲。我想先确认一件事:你在逆向HSM固件时,有没有发现任何不属于天枢原始架构的模块?”
林哲想了想。“有一个。是一个外挂的加密通讯接口,加在种子注入模块下游。它的加密算法不是天枢原生的——用的是商业级AES-256,密钥格式和世观系统科技的专利文档里描述的一模一样。这个接口是在2004年左右被加进去的,比天枢原始架构晚了至少十年。它的功能是——把每一次种子注入的时间、内容、目标终端编号打包成一个加密数据包,发到一个指定的外部IP。”
“那个IP是哪里?”
“北京西郊。世观系统科技总部。”
苏鹤年靠在椅背上,闭了一下眼睛。所有人都明白了。顾世安不只是在天枢后门里留了另一个后门,他还加装了一个监控系统——每一次HSM注入种子,他的服务器都会同步收到一份副本。这意味着他不仅知道天枢的每一个动作,而且这些年来他积累了一个庞大的数据库,里面存储着全国所有彩票终端每一次开奖的种子序列。二十多年的种子序列——如果反向分析这个数据库,他不仅可以预测未来的开奖号码,还可以精确计算出任何一期历史开奖的“真实随机性”和“算法干预度”。他手里握着的不是一把钥匙,而是一整座档案库。