如果有人使用TLS篡改在HTTPS上传输的数据,这会导致损坏的解密消息还是会导致检测错误,例如通过密码校验和重新传输?
这既有安全影响,也有意外损坏影响(https://stackoverflow.com/questions/3830206/can-a-tcp-checksum-fail-to-detect-an-error-if-yes-how-is-this-dealt-with)。
发布于 2020-03-29 05:29:26
这取决于数据被更改的位置,以及您提到的所有结果都是可能的。TLS消息有一些公开的内容。例如,TLS记录:

如果它的结构被破坏,那么整个消息就被认为是破坏的。这并不一定说明加密数据是否被额外篡改。
如果只对密文进行篡改,使整个结构保持有效,则可能导致解密失败。如果有效负载被篡改并成功解密,则签名验证将失败。
如果MAC字段被篡改,则会导致签名验证失败。MAC只保护有效负载,并且仅在有效负载成功解密时使用。
无论哪种方式,篡改都会被检测到,只有检测原因会有所不同,这取决于被篡改的是什么。RFC 5246定义了一组消息:
enum {
close_notify(0),
unexpected_message(10),
bad_record_mac(20),
decryption_failed_RESERVED(21),
record_overflow(22),
decompression_failure(30),
handshake_failure(40),
no_certificate_RESERVED(41),
bad_certificate(42),
unsupported_certificate(43),
certificate_revoked(44),
certificate_expired(45),
certificate_unknown(46),
illegal_parameter(47),
unknown_ca(48),
access_denied(49),
decode_error(50),
decrypt_error(51),
export_restriction_RESERVED(60),
protocol_version(70),
insufficient_security(71),
internal_error(80),
user_canceled(90),
no_renegotiation(100),
unsupported_extension(110), /* new */
(255)
} AlertDescription;https://security.stackexchange.com/questions/228910
复制相似问题