WEB开发网
开发学院WEB开发Xml 网络传输中 XML 敏感信息的加密 阅读

网络传输中 XML 敏感信息的加密

 2010-10-22 17:18:25 来源:WEB开发网   
核心提示: 图 1. Pack 后的数据结构图为什么我们在敏感数据的头尾部加上标识 canary 呢?这出自这样一个传说,大家知道 canary 是金丝雀的意思,网络传输中 XML 敏感信息的加密(4),古代挖煤的工人由于没有像现在 这么高级的瓦斯探测仪,所以往往不知道前方是不是危险区域, Padding


图 1. Pack 后的数据结构图
网络传输中 XML 敏感信息的加密

为什么我们在敏感数据的头尾部加上标识 canary 呢?这出自这样一个传说。大家知道 canary 是金丝雀的意思。古代挖煤的工人由于没有像现在 这么高级的瓦斯探测仪,所以往往不知道前方是不是危险区域,该不该进入。所以有一个工人想到了一个妙招,在挖煤的地点放一只金丝雀,如果 发现金丝雀站立不稳,就知道这里是危险区域,应马上离开。所以我们在数据的头尾部加上这样的标识,一旦数据发生异动,就可以及时丢弃异常数据, 报告错误。

对上述头部结构体的内容进行赋值之后,需要把特定内容转换为网络序以便网络传输, 如 清单 4所示:

清单 4. 设置头部结构的网络序

 // 从主机序转换为网络序,以便网络传输 . 
  header.canary1 = htonl(header.canary1); 
  header.offset = htons(header.offset); 
  header.size  = htonl(header.size); 
  Canary2 = header.canary1;

然后,对整个数据进行 16 字节的对齐操作,如 清单 5所示。

清单 5. 数据的 16 字节对齐

  UINT32 size = sizeof(header) + UID.size() + payload.size() + sizeof(header.canary1); 
  if(size % 16) 
      size += 16 - (size % 16); 
 // 原数据需 copy 到上述 size 的结构中

这样就会产生 0 到 15 个字节的空位,在图 1 中用 Padding dummy 表示。 Padding dummy 的长度在 0 到 15 个字节,其取决于 DataHeader, UID, Payload 和 Canary2 的长度和。 padding dummy 的值可以用空值填充。

上一页  1 2 3 4 5 6 7  下一页

Tags:网络传输 XML 敏感

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接