- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
最近分析了几个SSL/TLS应用数据包,发现有些数据包在SSL/TLS应用数据包的最开头以固定的7个零字节开头,比较有意思。
TLS 1.2 application data example 1
TLS 1.2 application data example 2
不知道为什么会这样?直观上,加密消息应该由随机字节组成。
最佳答案
我认为这是 Galois Counter Mode 特有的特性。 Wireshark 所谓的“加密应用程序数据”在这种情况下是 GenericAEADCipher
,它在 RFC 5246, section 6.2.3.3 中定义。并开始于:
opaque nonce_explicit[SecurityParameters.record_iv_length];
RFC 5288, section 3为 GCM 描述此字段:
Each value of the nonce_explicit MUST be distinct for each distinctinvocation of the GCM encrypt function for any fixed key. Failure tomeet this uniqueness requirement can significantly degrade security.The nonce_explicit MAY be the 64-bit sequence number.
nonce 不需要是随机的或不可预测的——但它绝对必须是唯一的(另请参见 this answer)。使用 TLS 记录序列号(而不是 TCP 序列号!)是确保一个连接内唯一性的好方法,因此 NSS,例如,遵循该建议(参见 lib/ssl/ssl3con.c
,NSS 3.27.1 中的第 2148-2167 行和第 2994-3016 行)。
因此,在新的 TLS 连接开始时,随机数将只是一串零。请注意,在您的第二个屏幕截图中,最后一个字节已经是 01
- 大概是连接中的第二条记录。
关于ssl 应用程序数据零字节神话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36061305/
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 9 年前。 Improve this ques
我的同事不断告诉我评论中列出的事情。 我很困惑。有人可以为我揭开这些东西的神秘面纱吗? class Bar { private int _a; public int A {
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我知道在JVM中,permgen区是用来存放类定义的。在我的 Tomcat 中,我看到 permgen 的当前内存使用量接近 100MB,似乎它只是随着时间的推移而增长,即使没有人使用 Tomcat
我是一名优秀的程序员,十分优秀!