在硬件安全研究领域,电子价签(Electronic Shelf Label,ESL)作为零售物联网基础设施的重要组成部分,其通信协议的安全性长期缺乏公开的技术讨论。近期,开源社区出现了基于 Flipper Zero 的电子价签协议研究工具,为这一垂直领域的技术探索提供了新的参考路径。本文将从协议逆向角度出发,分析红外电子价签的物理层与媒体访问控制层实现细节,并讨论相关研究的技术边界。
电子价签技术背景与市场现状
电子价签是一种通过无线通信实现价格动态更新的电子显示设备,目前主流技术路线分为两大类:以 Pricer 为代表的红外通信系统,以及以 SES Imagotag 为代表的 2.4GHz 射频系统。根据公开研究数据,红外电子价签在全球市场占有率约为百分之十五至二十,其核心优势在于通信速率高、抗 2.4GHz 频段干扰能力强。典型的红外电子价签系统由管理服务器、基站、红外收发器和价签标签四部分组成,服务器通过以太网连接基站,基站通过 RS-485 总线控制最多三十二个红外收发器,收发器以挂载于天花板的方式实现对价签的视距覆盖。
值得注意的是,红外电子价签的标签存储机制与传统认知存在显著差异。研究表明,绝大多数低价位段标签采用纯 RAM 存储架构,固件、地址和显示数据均保存在易失性存储器中。这意味着如果移除电池或让电池电量完全耗尽,标签将丢失所有编程数据而变为不可恢复状态。这一特性对于安全研究者理解物联网设备的数据持久化机制具有重要的参考价值。
物理层协议分析:PPM 调制机制
电子价签的红外通信采用脉冲位置调制(Pulse Position Modulation,PPM),这是一种通过脉冲之间的时间间隔编码数据的调制方式。与传统消费者红外遥控协议不同,电子价签系统的红外信号并非承载于调制载波之上,而是利用 940nm 红外光的脉冲时间序列直接编码信息。系统使用 1.25MHz 方波作为基准时钟源,标签端的窄带滤波器仅对中心频率正负十千赫范围内的信号响应,这使得普通消费级红外设备无法产生有效信号。
当前已知的调制方案分为 PP4 和 PP16 两种规格。PP4 采用四符号集,每个符号间隔代表两比特数据,其基础时间单位由标签端的 32768Hz 晶体决定,周期约为 30.52 微秒。四个符号的持续时间分别为二倍、四倍、六倍和八倍基础周期,对应六十一微秒、一百二十二微秒、一百八十三微秒和二百四十四微秒。符号顺序经过精心设计形成格雷码结构,以降低误码传播风险。PP4 的平均比特率约为 13.1kbps,在全零符号时可达到 19.3kbps,在全高符号时降至 6.9kbps。
PP16 则是为支持图形显示更新而设计的增强调制方案,采用十六符号集每个符号编码四比特数据。由于使用了更高频率的晶体或锁相环技术,PP16 的基础时间单位缩短至四微秒,脉冲持续时间为二十一微秒。PP16 的符号映射表呈现伪随机排列特征,需要严格查表解码。在平均情况下,PP16 可实现约 52.35kbps 的数据传输速率,显著高于 PP4,适合传输位图图像数据。使用 PP16 调制时,帧头必须包含特定的四字节前导码「00 00 00 40」以标识协议切换。
媒体访问控制层帧结构
电子价签的通信帧采用固定结构,包含协议版本、标签地址、命令码、参数、密钥和循环冗余校验六个字段。协议版本字节用于标识目标标签类型,分段式液晶标签识别代码 0x84,图形电子纸标签识别代码 0x85。标签地址字段为三十二位唯一标识符,称为 PLID(Price Label ID),该标识符在出厂时预编程不可修改。PLID 由十七位条码信息派生,包含制造商标识、生产周次和序列号等字段。
命令码字段为七位数据,第八位用于标识是否需要标签应答。参数区域长度可变,根据具体命令确定。密钥字段为十六位存储键,默认值通常为零。CRC 校验采用多项式 0x8408,初始值为 0x8408,对从协议版本字节至密钥字段的所有数据进行计算。接收端仅处理长度和校验和合法的帧,这一机制为协议逆向工程提供了明确的解析边界。
针对分段式标签的页面切换命令为例,帧格式为「84 [PLID] AB xx [KEY] [CRC16]」,其中 AB 为页面切换操作码,参数字节的高五位定义目标页面编号(0-7 为可自定义页面,8 以上用于显示标签内部信息),低三位定义显示持续时间(4 秒、8 秒、30 秒、8 分钟、30 分钟、1 小时、1.5 小时)。图形标签的显示更新流程更为复杂,需要依次发送参数帧、多帧数据帧和最终确认帧,任何一帧缺失或校验失败都将导致显示更新失败。
Flipper Zero 协议研究工具实现
基于上述协议分析,开源社区出现了针对 Flipper Zero 的电子价签研究应用。该应用完全基于公开的逆向研究成果开发,旨在为授权硬件研究提供协议观察和信号分析能力。工具集成了文本、图像和测试图案的显示控制功能,配合基于浏览器的图像准备工作流,可在授权的实验硬件上进行受控测试。
工具的实现严格限定于教育研究范畴,明确声明仅适用于协议研究、信号分析和授权硬件上的受控实验。项目的责任使用声明强调,研究者必须确保拥有测试硬件的所有权或明确的书面授权,禁止在任何第三方部署系统、商业零售环境或未经授权的设备上使用。这类工具的设计原则体现了安全研究社区对负责任披露的共识。
从技术实现角度看,Flipper Zero 的红外子系统能够生成特定频率的载波信号,并通过精确的时序控制实现 PPM 调制。但由于消费级硬件的晶振精度限制,实际生成的信号参数可能与协议规范存在偏差,这在一定程度上增加了与标签建立通信的难度。研究者通常需要结合示波器或逻辑分析仪进行信号质量验证,并根据实际测量结果调整时序参数。
研究边界与安全考量
电子价签协议研究涉及多个需要审慎评估的技术边界。首先,协议层面的安全机制极为有限。公开研究显示,主流红外电子价签系统普遍缺乏加密保护,存储键默认为零值,这意味着任何掌握了协议规范的主体理论上都可以对标签实施控制。这一现状与零售业对价签系统的信任之间存在明显的安全认知缺口。
其次,标签的物理安全特性值得关注。由于大量标签采用 RAM 存储架构,且缺乏固件远程更新能力,一旦标签丢失电源供应,将无法通过原系统恢复功能。这一特性既限制了攻击者的持久化能力,也在客观上增加了标签管理的复杂度。对于安全研究者而言,理解这种存储架构的安全含义有助于评估物联网设备的风险模型。
最后需要强调的是,本文所述内容仅面向授权环境下的安全研究和工程实践。未经授权修改他人财产上的电子价签可能涉及刑事犯罪,研究者应严格遵守当地法律法规,在明确授权范围内开展技术探索。负责任的安全研究应当以促进安全防护能力提升为目标,而非制造新的安全风险。
资料来源
- TagTinker 项目:https://github.com/i12bp8/TagTinker
- Furrtek 电子价签逆向研究:https://www.furrtek.org/?a=esl