protobuf 取出部分数据的安全性如何?

5ar*_*gon 7 protocol-buffers

  1. 在没有任何加密的情况下,如果接收者拥有序列化的 Protobuf 文件,但没有生成的 Protobuf 类(他们无权访问定义其结构的 .proto 文件),他们是否有可能获取 Protobuf 中的任何数据来自二进制文件?

  2. 如果他们有权访问 .proto 文件的一部分(例如,仅message文件中相关的一个),他们是否可以从整个文件中获取该数据的一部分,同时跳过其他未知部分?

Mar*_*ell 6

  1. 是的,一点没错; 该protoc工具可以帮助解决这个问题(请参阅:https://protogen.marcgravell.com/decode--decode_raw),因此它根本不应该被视为“安全”
  2. 是的,绝对 - 这是协议中内置的关键部分,它允许消息可扩展,以便它们可以解码它们理解的位,并忽略或仅存储(对于往返或“扩展”字段)它们不理解的位理解

protobuf 不是安全设备;对于拥有正确工具的人来说,它与 xml 或 json 一样可读,但有一个小问题,即可能不确定如何解释某些值;但是:你可以推断、猜测和逆向工程