protocol-buffers - protobuf 获取一些数据的安全性如何?

标签 protocol-buffers

  • 没有任何加密,如果接收者有序列化的 Protobuf 文件但没有生成的 Protobuf 类(他们无权访问定义其结构的 .proto 文件),他们是否有可能在 Protobuf 中获取任何数据?从二进制文件?
  • 如果他们有权访问 .proto 文件的一部分(例如,文件中只有一个相关的 message),他们是否可以从整个文件中获取该数据的一部分,同时跳过其他未知部分?
  • 最佳答案

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

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

    关于protocol-buffers - protobuf 获取一些数据的安全性如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44799407/

    相关文章:

    java - 为 Java 中现有的二进制协议(protocol)生成解析器

    json - 无法将 json 编码为 protobuf 消息

    java - 解析 Protobuf 中的管道分隔消息

    java - 引用 Java Enum 作为 Scala 中的类型参数

    java - Protobuf c# 到 java 反序列化多条消息

    java - 改造和 GRPC

    java - 如何从 toString() 屏蔽 protobuf 生成的类中的字段

    c++ - 如何使用 protobuf 对多个可区分的项目进行背靠背编码?

    ios - 在iOS应用程序中解析protobuf文件

    java - proto buffer 的局限性——加载部分数据和共享字符串