# 隐藏在浅视中:隐蔽通信系统的历史

<!--category-- Security, History, JavaScript -->
<datetime class="hidden">2025-11-11T18:00</datetime>

## 一. 导言 导言 导言 导言 导言 导言 一,导言 导言 导言 导言 导言 导言

在目前这篇“超经典”文章的写作阶段,**敏感敏感**在COVID期间,我为一个慈善机构建造的项目。**这是一个非常敏感的议题,所以我得到了所有适用的许可,同意只分享**概念概念

与实际系统相比,它们存在差异,而且比实际系统更微不足道。**这是古老历史的一部分**浅视隐藏信件

从在学校传递信息到大规模跨国公司间谍活动 和世界强国互相监视 都依然至关重要

[TOC]

## 在整个人类历史上,秘密交流的需要推动了非凡的创新。

从古老的暴君到冷战的间谍大师 到现代开发商 解决安全挑战 将信息隐藏在可见的地方 既是一种艺术 也是一种科学

这篇文章探索秘密通讯系统的奇妙演变, 从头皮上纹上的信息到我所建的以JavaScript为基础的保密聊天系统, 这个系统非常微妙, 甚至积极监测都无法揭示它的存在。

古老的起源: 传教士和纹身的使者

**我们的故事始于约500个BCE 与Miletus的希斯提亚乌斯。 Miletus是希腊暴君,被波斯国王达利乌斯一世囚禁在苏萨。**希斯提亚乌斯在不引起波斯人怀疑的情况下, 急于与他在Miletus的女婿Aristagoras 进行沟通。 希斯提亚乌斯设计了一个巧妙的解决办法。

<img src="https://upload.wikimedia.org/wikipedia/commons/6/6a/The_Greeks_preserve_the_bridge_of_Darius.jpg" width="25%">
他挑选了他最信任的奴隶 剃了他的头 将口信纹在头皮上<a href="https://www.wikidata.org/wiki/Q41149756" class="extiw" title="d:Q41149756"><span title="American illustrator of books (1841-1917)">在等待头发长回后,他把奴隶送到Miletus, 简单的指示是:“告诉Aristagoras剃光你的头。”</span></a> - <a rel="nofollow" class="external text" href="https://archive.org/details/storygreatestna05horngoog/page/n387">该讯息敦促反抗波斯统治, 却被隐藏在地表之下。</a>波斯人习惯于拦截常规信息,从未怀疑信使本人携带情报。<a href="https://commons.wikimedia.org/w/index.php?curid=75078737">这引发了伊奥尼亚革命军, 这是希腊-波斯关系中的关键时刻。</a>

## 关键原则

:通讯频道本身似乎完全无害。**奴隶只是... 一个旅行的奴隶**没有可疑的卷轴,没有密码信, 没有什么可拦截的。

### 由

约翰·斯蒂普尔·戴维斯

<img src="https://mtv-drupal-assets.s3.amazonaws.com/files/resources/large_di-0321-1_m-4853-web.jpg?VersionId=J0Yc2ux01pWRSwMy9uzmqB5PMcN6XQfk" width="200px" />
最伟大的国家的故事,从历史的黎明到二十世纪[(发表于1900年),公共领域,](https://books.google.co.uk/books?id=soYmDwAAQBAJ&pg=PA297&redir_esc=y#v=onepage&q&f=false)链接链接链接

### 跨越各年龄段的血清学

赫斯蒂埃乌斯的 技术示范[成色学](https://en.wikipedia.org/wiki/Dead_drop)- 在非秘密媒体中隐藏信息的做法。

与使信息无法读取的加密不同,隐蔽了通信的存在。**隐隐墨和化学秘密**在革命战争期间,大陆军广泛使用隐形墨水。

最先进的是"711号特工"(又名"乔治・华盛顿")的污点, 由医生和间谍大师詹姆士・杰研制。

<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a6/%E2%80%9CDead%E2%80%9D_Drop_Spike_-_Flickr_-_The_Central_Intelligence_Agency.jpg/2560px-%E2%80%9CDead%E2%80%9D_Drop_Spike_-_Flickr_-_The_Central_Intelligence_Agency.jpg" width="200px"/>
这些讯息是空白的页面, 完全可以通过英国检查站发送。

```mermaid
sequenceDiagram
    participant Agent as Field Agent
    participant Location as Dead Drop Location
    participant Signal as Public Signal Spot
    participant Handler as Handler

    Agent->>Location: Place material in dead drop
    Agent->>Signal: Leave innocuous mark (chalk, flower pot)
    Handler->>Signal: Checks for signal during routine
    Handler->>Location: Retrieves material
    Handler->>Signal: Leaves confirmation mark
    Agent->>Signal: Confirms retrieval

    Note over Agent,Handler: No direct contact between parties
```

### 在二战中

不可见墨水[进化得更深。](https://en.wikipedia.org/wiki/Numbers_station)英国人从柠檬汁(热活化)到复杂的化学化合物,

德国人开发了微型点 -- -- 照片缩小到印刷期的大小,可以隐藏在普通通信中。

- **英国甚至将地图走私到战俘营中, 帮助从扑克牌、纽扣(也经常被磁化用于罗盘)甚至红十字巧克力包装纸中逃出。**死地艺术
- **冷战时期的间谍活动完善了**"死投"
- **- 材料可以由一方留下,由另一方取回而无需直接接触的地点。**墙上一块松动的砖头 一块空洞的硬币 公园里的一块假石头 每一个暗藏的信息 胶片 或钱

天才不光是身体隐藏,还有

## 信号系统



### 邮箱上的一个粉笔印 窗台上一个特殊的花盆位置 上面写着一滴死滴

观察者认为,这些细节在城市景观中是毫无意义的。

甚至还有特殊装置,如钉子,可以隐藏在土壤下,直到信息被检索(湿度/空旷地区也是如此)。

```
Original pixel: RGB(11010110, 10110101, 01011010)
Modified pixel: RGB(11010111, 10110100, 01011011)
                     ↑changed   ↑changed   ↑changed
```

中央情报局-“死亡”斯派克,公共域域,https://commons.wikimedia.org/w/index.php?curid=29197364

数字站:广播秘密[从冷战到今天 神秘的电台广播 吸引了全世界的听众](https://incoherency.co.uk/image-steganography/#unhide))

![这些这些](stegano.png?height=200)

"数字站"

![message.png](message.png?height=200)

数字、单词或音调的传输字符串 -- -- 对随意收听者明显胡言乱语。

但是对有合适的一次性公寓的特工来说呢?[这些是指示、情报更新或任务关键数据。](https://arxiv.org/pdf/1909.01496)).

### 这些广播是:

无法追踪

- **:任何人都可以接收;不需要特殊设备**可否认
- **:没有证据来证明谁在听,数字意味着什么**安全安全
- **:当正确使用时,一次性页码加密在数学上是无法打破的**广播本身就隐藏在数千个无线电传输器之中,只有那些知道倾听的人才有区别。

### 数字时代成形学

现代计算机已经革命化了摄氏学。

- **信息可以隐藏在 :**图像相色学
- **数字图像存储数百万像素的彩色值。**通过细微修改最小的像素值比特, 您可以嵌入数据而不对图像进行可见的修改 。
- **例如,在一个 24 位色图像中, 改变最后一点 RGB 值, 会产生无法察觉的颜色变化, 但可以存储重要数据 :**对眼睛来说,这些像素是相同的。

## 对一个拥有提取算法的人来说,这是一个隐藏的信息。

举个例子(不是很好)**但从这里**

血色素

- **具有:**藏在里面... 有点... 索尔塔
- **额外的压缩使它变得毫无用处。**在现实中,这个图像将是一个加密信件 / 其它加密数据, 最多可达图像大小的10%(现代神经技术甚至可以使用)
- **获得50%或50%以上而不被检测到**语言性别学
- **将信件隐藏在看似普通的文本中的能力 。**技术包括:

登记编码

: 首个句子字母拼写信息**单词替换**:在模式中使用同义词来编码位元

## 白空间编码

: 额外空间、 标签或换行符包含数据 - 也通常用于检测公司泄漏情况, 即每份副本的“ 签名” 以隐性编码方式在空白空间变化中出现。 (为什么通常的记者会在发布前对文件进行物理再分类; 保护其来源, 使其不受基于星系的解造。 )**网络成形学**隐藏网络交通模式数据:

> 定时频道

:编码信息时的包装时间不同**程序程序操作** I came up with; for that one even screen snapshotting won't detect it (using a form of temporal steganography...you can have a guess what that means 😜 ).

## :使用未使用的页眉字段

### 交通模拟

: 使隐蔽数据看起来像合法流量( Netflix流、 游戏等) 。`compatibility-shim1.js`现代挑战:敌对环境中的数字安全`polyfill-helpers.js`这给我们带来了一个当代问题,需要从历史史上吸取所有教训:

```html
<script src="https://cdn.example.org/compatibility-shim1.js"></script>
```

如何向数字生活受到身在家中的人监测的人提供安全的私人通信?

- **在COVID-19封锁期间,这不是一个理论问题。**对于家庭虐待的受害者来说,与施虐者关在一起,同时失去接触外部支助网络的机会,造成了一种危险的局面。
- **传统的“安全”通信方法有致命缺陷:**已加密的短信应用程序
- **:安装信号或什么App将立即引起怀疑**私密浏览浏览模式
- **: 显示“ 私人” 或“ Incognito” 会话的浏览器历史本身是一个红旗**VPPNs 自愿

### :明显的技术知识和故意隐瞒

新电子邮件账户`?ref=newsletter_2021_march`: 容易发现, 可疑可创建

- 即使受害者能够进行沟通,任何通信记录,即使知道通信已经发生,都可能引发暴力。
- 需要的东西是会离开的东西
- 绝对无踪迹
- 即使有人积极监视电脑(即使他们后来访问了同一个URL), 也发生过任何不寻常的事情。

```javascript
// Heavily simplified example - actual implementation was obfuscated and encrypted
const params = new URLSearchParams(window.location.search);
if (params.has('ref') && params.get('ref').match(/newsletter_\d{4}_[a-z]+/)) {
    // Trigger secure chat initialization
}
```

### 建筑隐隐门:技术实施

我所开发的解决方案 吸取了历史史学的每一项原则, 适应了网络时代。

事情是这样的

**可能**工作过...

- 注意:这不是世界上最大的 隐形支持应用程序, 这只是一个致敬。
- 真实的是一个为非常少的慈善机构建造的 并且仍然存在 任何类似的情况,
- 甚至更狡猾
- 概览概览概览概览概览概览概览概览

**第1阶段:无害有效载荷**

- 核心是一个微小的 JavaScript 文件, 名字像
- 或
- 
- 各组织将连同其合法脚本加入其网站:

### 对于任何浏览页面来源的人来说,这看起来像是包括现代网站在内的数十个帮助图书馆中的一个。

文件本身是:

- **简化**:无法读取但预计生产 JavaScript
- **小**: 3-4KB,通用图书馆的典型
- **具有合法面貌**:包括实际兼容性检查和使其看起来合法的其他信息*结结结结结结结结结结结*: 正常浏览器缓冲行为, 没有特殊旗帜
- **第2阶段:触发机制**为特定 URL 查询参数监测脚本的 URL 查询参数 - 类似

```mermaid
sequenceDiagram
    participant User as User Browser
    participant Site as Organization Website
    participant CDN as CDN (Shim Script)
    participant Secure as Secure Chat Backend
    participant Real as Real Support System

    User->>Site: Visit with ?ref=newsletter_2021_march
    Site->>CDN: Load compatibility-shim1.js
    CDN->>User: Script with hidden trigger
    User->>User: Script detects parameter
    User->>User: Chat window appears

    alt Correct codeword entered
        User->>Secure: Authenticate with codeword
        Secure->>User: Establish encrypted channel
        Note over User,Secure: Secure communication session
    else Wrong codeword or no codeword
        User->>Real: Forward to real support
        Real->>User: "Please describe your issue"
        Note over User,Real: Appears as normal support contact
    end
```

### 

这看起来完全无济于事:

- **营销部门经常使用类似的跟踪参数**参数本身似乎确定了一个查询来源
- **不同的“运动”可能有不同的代码**没有特殊人物,在 URL 历史中没有任何可疑的 URL 历史
- **第3阶段:认证挑战**当触发时, 聊天窗口会出现- 与许多网站的标准支持聊天相同 。
- **但它会催生一个“核查代码”或“服务参考编号”。 (我不会再重复了,但实际上它曾经是,而且比现在更狡猾)**这就是出现优雅之处:
- **用正确的代码字**(通过一个单独的、无害的频道发售 - 也许是一个电话 提及"7B2X号参考号"的日程安排) :

连接到安全后端的聊天话

- 建立端对端加密
- 与支助人员的直接联系
- 没有本地日志或历史
- 没有代码词或错误的 URL :

## 聊天似乎出现故障 (“ 暂时无法提供服务 ” )

OR 以无害的第一个消息转发到真实支持

### 特殊查询参数将往前切换

没有任何迹象显示有任何特殊企图

- 第4阶段:交通阻塞
- 真实的安全聊天流量被伪装成:
- 议定书议定书议定书议定书
- : HTTPS 上的标准 WebSocket, 与正常聊天部件无法区分

### 时间安排

:为避免模式识别而添加随机延迟

- 量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量
- : 添加噪音数据,以防止电文长度分析 -- -- 这包括各种技术,添加
- 合法外观
- 实际内容在加密上安全地与真实数据(一种时间垫)相隔的元素。

### 我甚至让网站具体化, 每个集成网站都有一组真正的支持信息(关于产品、地点等)。

终点

- :民联主办的与合法服务共享的终点
- 第5阶段:没有留下痕迹
- 会后:
- 没有浏览器历史条目

### :聊天位于现有页面内,没有导航

无特殊饼干

- :会话符号过期并清除
- 没有本地存储
- : 窗口关闭时所有状态均被清除
- 没有网络日志异常

## :贩运与正常支持性聊天不区分

无控制台日志

### :在生产过程中被剥除的所有调试代码

如果有人事后检查了计算机:

```javascript
// Simplified example of the pattern
const encryptedPayload = "U2FsdGVkX1+xYz... [encrypted data]";
const decryptionKey = deriveKeyFromContext(window.location, document.referrer);

if (validTriggerDetected()) {
    const chatModule = decryptPayload(encryptedPayload, decryptionKey);
    chatModule.initialize();
}
```

浏览器历史显示正常访问组织网站

- URL 中的营销参数完全可以忘记
- 聊天部件吗?
- 只是又一个支持尝试 却无所作为

### 网络日志(如果任何人甚至检查过)显示 HTTPS 常规流量

《担保模式》

```javascript
// Simplified example
async function processInput(userInput) {
    // Always perform both operations
    const secureResult = await checkSecureAuth(userInput);
    const normalResult = await checkNormalAuth(userInput);

    // Add random delay to normalize timing
    await randomDelay(100, 300);

    // Return appropriate result
    return secureResult.valid ? secureResult : normalResult;
}
```

该系统实施了若干关键安全原则:

### 1. 目标 1. 目标

每一层的罪过,每一层的罪过都是不可否认的。

```javascript
// Hash the codeword with environmental factors
const authToken = await hashWithContext(
    userInput,
    window.navigator.userAgent,
    currentTimestamp,
    siteIdentifier
);
```

该系统与数字站一样,设计的目的是:

- 拥有 URL 证明什么也没有(营销链接无处不在)
- 剧本在现场的出现是预料之中的 而且是无伤大雅的
- 失败验证失败验证显示为技术故障

## 没有任何组成部分能单独显示系统的真正目的

2. 目标

- **海峡隔开**冷战后死地原则:
- **URL 与代码词分开分布**经常更改代码词
- **没有一个单一频道会破坏整个系统**每一组成部分单独单独看似合情合理
- **3 个**可视功能

与赫斯提亚乌斯旅行的奴隶一样,

## 该脚本实际上作为兼容性工作 sshim

聊天部件是一个真正的支持工具

1. **本组织的网站运作正常**所有的一切都有一个合理的 无罪的解释
2. **4. 4个。**无安全默认
3. **如果出了差错:**系统默认为非安全模式
4. **没有错误消息显示安全功能**安全传送到真实支持的用户

无危险的部分危险国家

1. **技术深底下潜:脚本结构**实际执行涉及若干聪明技术:
2. **加密有效载荷**安全聊天代码在脚本源中看不到 。
3. **相反:**解密密密钥来自环境因素,意思是:
4. **对剧本的静态分析没有显示任何迹象**有效载荷只在正确的上下文中解密

## 源代码中没有明显的加密操作

时间- 时间- 恢复法

- 防止在特殊代码路径执行时显示的计时分析:
- 两种代码路径都执行,使时间分析毫无用处。
- 基于指纹的指纹身份验证
- 密码不是直接传送的

相反:

这意味着:

- **无法重放被窃听的标牌**网络上没有纯文本代码词
- **防止有环境约束力的物证盗窃**现实世界的影响
- **该系统是在COVID-19封锁期间为一个支助组织安装的。**技术要求是绝对的:
- **零假阴底**:合法用户必须始终通过
- **零痕迹**:监测计算机上没有留下任何证据

零信任假设

## 假设所有交通监控,所有装置失密

优减降解

### :系统故障必须安全

1. **该系统处理数百次安全会话(而且仍然有一个非常先进的版本)。**对于一些用户来说,这实际上是一个生命线,使他们能够协调安全计划、获取资源、与支助服务保持联系,而不必提醒施虐者。
2. **从历史中汲取的教训,适用于现代问题**使Histiaeus纹身信使在500 BCE生效的原则 直接适用:
3. **介质是无害的**:旅行奴隶  营销跟踪参数
4. **信件被隐藏**在加密的 JavaScript 有效载荷中

### 发现是非明显

:必须剃光头才能看到 @% 必须知道 URL + 代码字 。

- **截截是没用的**:阻止奴隶并不揭示方法 \ \ \ 封堵 URL 不揭示系统
- **类似地,冷战死难者也告诉设计:**信号和有效载荷分离
- **: 粉笔标记  URL 参数**可视替代用途
- **: 配有地图的旅游者  用户校验支持**有时限的访问

: 丢弃窗口  代码词过期

## 无直接接触

特工从不见主管 用户从不透露真实意图

### 道德考虑

这种技术存在于一个伦理上复杂的空间。

- 为受虐待受害者提供安全的同样技术可以促进:
- 公司间谍活动
- 逃避合法监测

### 数据秘密清除

刑事协调

- 这是双重用途技术的永久两难处境。
- 这里所描述的技术并非内在的好或坏 -- -- 它们是工具。
- 赫斯提厄斯利用摄像法煽动叛乱

### 盟军间谍利用隐形墨水击败法西斯主义

技术是中立的;应用决定道德。

- 对于这个项目来说,道德分数是明确的:
- 正当需要
- :虐待受害者需要安全通信

## 应对比例过分反应

威胁模式 : 威胁模式 合理精密

### 最小范围

:为特定、有限使用个案设计的系统

- 专业 部署
- :由常设支助组织经管
- 无刑事便利

### :仅用于获取合法服务

但是,任何建立类似系统的人都必须认真处理这些问题。

- 侦查和反措施
- 如果你怀疑这种系统存在 你会如何发现它?
- 技术指标

### 脚本行为分析

:根据URL参数监测有条件代码执行

- 流量分析
- : 从支持部件查找加密 WebSocket 流量
- 相 相 相 相 相 相 相 相 相 相 相 相

## :对多个网站的脚本进行共同模式比较

时间安排分析

### : 检测认证时间差异

```javascript
// Never store sensitive data in localStorage
// Use sessionStorage with expiry, or pure memory

class SecureSession {
    constructor() {
        this.data = new Map(); // Memory only
        this.expiry = Date.now() + (30 * 60 * 1000); // 30 min

        // Clear on page unload
        window.addEventListener('beforeunload', () => this.destroy());

        // Auto-expire
        setTimeout(() => this.destroy(), 30 * 60 * 1000);
    }

    destroy() {
        this.data.clear();
        // Overwrite memory (best effort)
        this.data = null;
    }
}
```

### 实用限制

然而,发现工作面临严峻的挑战:

```javascript
// Lazy loading of secure components
async function initializeSecureChat() {
    // Only load if triggered
    if (!shouldInitialize()) return;

    // Dynamic import to keep main bundle small
    const { SecureChat } = await import('./secure-chat.encrypted.js');

    // Initialize asynchronously
    requestIdleCallback(() => {
        new SecureChat().initialize();
    });
}
```

### 假正数

:数百万合法脚本使用类似技术**加密加密**:所有现代网络流量都加密;无法检查

```markdown
## Secure Chat System - Operator Manual

### Activation
- URL pattern: `?ref=newsletter_YYYY_month`
- Current codewords: See separate secure document
- Rotation schedule: Monthly

### Incident Response
- If system discovered: Immediate codeword rotation
- If user identity compromised: Emergency protocol Alpha
- If backend compromised: Failover to backup, investigate

### Audit Trail
- Log only: Connection timestamp, session duration
- Never log: User identity, message content, codewords
```

## 量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量量

:无法对所有网站的所有 JavaScript 进行审计

演变演变进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进进

1. **:技术的适应速度快于探测工具**维护者在拼写学方面的优势依然存在:证明通信的发生需要证明编码系统的存在,这需要内部知识或详尽的分析。
2. **超越安全的现代应用**这里探讨的技术有更广泛的应用:
3. **检查抵抗组织**在对互联网进行严格审查的国家中,类似做法有助于:
4. **获取被封锁信息**协调积极主义

敌对环境中的新闻报道

公司安保

各组织可使用可比较的技术:

---


## 安全应急通信渠道

**披露举报人信息**

保护记者消息来源

- 隐私保护系统
- 一般性应用包括:
- 匿名反馈系统
- 保密报告机制
- 对高危人群的研究
- 隐藏系统的未来

随着监视能力的增长,隐藏技术的精密程度也会提高:

AI - AI - 封面交通

**机器学习可以产生非常现实的诱饵流量:**

- 模拟用户行为
- 为假聊天创造自然语言
- 合成网络模式
- 基于链链的协调
- 分散管理的系统可以提供:
- 没有核心妥协点
- 真实性加密证明
- 抵制检查的通信

量表血清学

---


*量子计算和通信提供了新的可能性:*