思科提供一名为FNR的实验性密码下载,FNR含多项功能,其中包括在云环境中协助保持数据的匿名性。
FNR是Flexible Naor and Reingold(灵活Naor-Reingold结构)的缩写。思科指,发布的FNR目前处于试验阶段,并不是产品软件。
思科软件工程师Sashank Dara解释说,FNR是分组密码,但和诸如AES密码的其他分组密码不同,FNR无需对每组进行填充。
AES中每组的长度是固定的,可能是128、192或256位,因此小数据组经过加密后会变得过于庞大。
在诸如个人对个人的低用量通信里,数据量的增加并不会引起太大问题。但是云提供商收集IP地址信息进行分析和做其他用途用,32位的IP地址输入就会变成128位的输出,如果想要保护客户的隐私,存储需求就会翻四倍。
Dara解释说,FNR的设计是在加密小数据时保留输入长度,因而适用于“IPv4地址、MAC地址”等任意长度的字符串。FNR也可以用于加密那些含有需要保留长度的字段的传统数据库,可以减少重整时所需的数据量。
FNR规范(网上可下载PDF格式)解释说,固定长度字段(如NetFlow格式收集的)的隐私对云服务提供商是个新的挑战,云服务提供商收集大量遥测数据用于分析,但同时加密时又不想改变字段的长度。
FNR规范文件指,FNR提出“利用可逆矩阵提供一个简洁和通用的方式实现任意长度的成对独立性”。
思科源码FNR的使用许可证用的是LPGLv2,FNR源码放在github上。思科还提供了IPv4地址加密例子的示范应用。