TLS v1.3错误与某些端点-描述:非法参数(47)



我正在与IBM合作,试图找到我们在与某些端点连接时随机接收的一些握手错误的原因。这发生在使用GSKit SSL api的IBM i系统上。IBM充当客户机。

我们在握手过程中收到的错误是415(坏对等体)。

在跟踪中,我们显示了来自远程服务器的响应:
TLSv1.2 Record Layer: Alert (Level: Fatal, Description: Illegal Parameter)
Content Type: Alert (21)
Version: TLS 1.2 (0x0303)
Length: 2
Alert Message
Level: Fatal (2)
Description: Illegal Parameter (47)

如果我们从通信中删除TLS 1.3,错误就不会发生。如果我们把它加回去,然后错误弹出与谷歌和GoDaddy沟通。

这似乎是最近在端点安装了新的SSL证书后才开始发生的。正如我所说,这是随机的。如果我遇到错误,我可以再次发出相同的请求,而不会出现任何错误。

我们不确定这是因为他们的农场上的某些服务器的配置与其他服务器不同,或者如果更新通过他们传播…但这很奇怪。

我们已经隔离了两个似乎是问题的密码。删除后,错误似乎停止了。它们是:

*ECDHE_RSA_AES_256_GCM_SHA384 -这个似乎会导致谷歌的问题

*AES_256_GCM_SHA384 -这个似乎会导致GoDaddy的问题

IBM的技术人员说,如果我们能以某种方式与任何一个地方的人取得联系,重现问题,这将对弄清楚发生了什么有很大的帮助。只是希望我们能做到……如果有人知道GoDaddy或Google的SSL支持方有人愿意与我和IBM合作解决这个问题,那就太好了。

或者,如果有人知道为什么会发生,我们洗耳恭听。现在我们唯一的选择是关闭TLS v1.3或删除这两个密码。(可能还有更多的影响我们还不知道的其他端点)。

TIA !

根据我的技术,他们没有正确地遵循RFC:

RFC 5246(最后一句):

The cipher suite list, passed from the client to the server in the
ClientHello message, contains the combinations of cryptographic
algorithms supported by the client in order of the client's
preference (favorite choice first).  Each cipher suite defines a key
exchange algorithm, a bulk encryption algorithm (including secret key
length), a MAC algorithm, and a PRF.  The server will select a cipher
suite or, if no acceptable choices are presented, return a handshake
failure alert and close the connection.  If the list contains cipher
suites the server does not recognize, support, or wish to use, the
server MUST ignore those cipher suites, and process the remaining
ones as usual.

更新2下面是握手失败的例子:TLSv1.2记录层:握手协议:Client Hello

Content Type: Handshake (22)
Version: TLS 1.2 (0x0303)
Length: 549
Handshake Protocol: Client Hello
Handshake Type: Client Hello (1)
Length: 545
Version: TLS 1.2 (0x0303)
Random: 16ab36ccafcb18074cf7ce0296745cb87a4ef732402fbdc273790f082d4844d1
Session ID Length: 0
Cipher Suites Length: 18
Cipher Suites (9 suites)
Cipher Suite: TLS_AES_128_GCM_SHA256 (0x1301)
Cipher Suite: TLS_AES_256_GCM_SHA384 (0x1302)
Cipher Suite: TLS_CHACHA20_POLY1305_SHA256 (0x1303)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02c)
Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f)
Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca9)
Cipher Suite: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca8)
Compression Methods Length: 1
Compression Methods (1 method)
Extensions Length: 486
Extension: supported_versions (len=9)
Type: supported_versions (43)
Length: 9
Supported Versions length: 8
Supported Version: TLS 1.3 (0x0304)
Supported Version: TLS 1.2 (0x0303)
Supported Version: TLS 1.1 (0x0302)
Supported Version: TLS 1.0 (0x0301)
Extension: renegotiation_info (len=1)
Type: renegotiation_info (65281)
Length: 1
Renegotiation Info extension
Extension: ec_point_formats (len=2)
Type: ec_point_formats (11)
Length: 2
EC point formats Length: 1
Elliptic curves point formats (1)
EC point format: uncompressed (0)
Extension: signature_algorithms (len=22)
Type: signature_algorithms (13)
Length: 22
Signature Hash Algorithms Length: 20
Signature Hash Algorithms (10 algorithms)
Signature Algorithm: ecdsa_secp521r1_sha512 (0x0603)
Signature Algorithm: ecdsa_secp384r1_sha384 (0x0503)
Signature Algorithm: ecdsa_secp256r1_sha256 (0x0403)
Signature Algorithm: rsa_pss_rsae_sha512 (0x0806)
Signature Algorithm: rsa_pss_rsae_sha384 (0x0805)
Signature Algorithm: rsa_pss_rsae_sha256 (0x0804)
Signature Algorithm: rsa_pkcs1_sha512 (0x0601)
Signature Algorithm: rsa_pkcs1_sha384 (0x0501)
Signature Algorithm: rsa_pkcs1_sha256 (0x0401)
Signature Algorithm: rsa_pkcs1_sha1 (0x0201)
Extension: signature_algorithms_cert (len=20)
Type: signature_algorithms_cert (50)
Length: 20
Signature Hash Algorithms Length: 18
Signature Hash Algorithms (9 algorithms)
Signature Algorithm: ecdsa_secp521r1_sha512 (0x0603)
Signature Algorithm: ecdsa_secp384r1_sha384 (0x0503)
Signature Algorithm: ecdsa_secp256r1_sha256 (0x0403)
Signature Algorithm: rsa_pss_rsae_sha512 (0x0806)
Signature Algorithm: rsa_pss_rsae_sha384 (0x0805)
Signature Algorithm: rsa_pss_rsae_sha256 (0x0804)
Signature Algorithm: rsa_pkcs1_sha512 (0x0601)
Signature Algorithm: rsa_pkcs1_sha384 (0x0501)
Signature Algorithm: rsa_pkcs1_sha256 (0x0401)
Extension: supported_groups (len=12)
Type: supported_groups (10)
Length: 12
Supported Groups List Length: 10
Supported Groups (5 groups)
Supported Group: secp256r1 (0x0017)
Supported Group: secp384r1 (0x0018)
Supported Group: x25519 (0x001d)
Supported Group: secp521r1 (0x0019)
Supported Group: x448 (0x001e)
Extension: key_share (len=71)
Type: key_share (51)
Length: 71
Key Share extension
Client Key Share Length: 69
Key Share Entry: Group: secp256r1, Key Exchange length: 65
Group: secp256r1 (23)
Key Exchange Length: 65
Key Exchange: 047fbc26145d5067052eff17103285a7bdc30952cdbcea601491a6a08eca7d424484a9cb…
Extension: server_name (len=20)
Type: server_name (0)
Length: 20
Server Name Indication extension
Extension: extended_master_secret (len=0)
Type: extended_master_secret (23)
Length: 0
Extension: psk_key_exchange_modes (len=2)
Type: psk_key_exchange_modes (45)
Length: 2
PSK Key Exchange Modes Length: 1
PSK Key Exchange Mode: PSK with (EC)DHE key establishment (psk_dhe_ke) (1)
Extension: pre_shared_key (len=283)
Type: pre_shared_key (41)
Length: 283
Pre-Shared Key extension
Identities Length: 230
PSK Identity (length: 224)
Identity Length: 224
Identity: 000017719425bdded0ac21c8cd61318334f131527b4ef48f21ba8116523cf71681ae51fa…
Obfuscated Ticket Age: 68965835
PSK Binders length: 49
PSK Binders

然后服务器响应

TLSv1.2 Record Layer: Alert (Level: Fatal, Description: Illegal Parameter)
Content Type: Alert (21)
Version: TLS 1.2 (0x0303)
Length: 2
Alert Message
Level: Fatal (2)
Description: Illegal Parameter (47)

IBM发布了V7R3和V7R4的带PTF的APAR。APAR编号为MA49492

认为迈克尔

您可以在本白皮书中查看Google前端在与客户端通信时支持的加密协议。

在本白皮书中,您将找到更多关于Google Cloud传输加密的详细信息,包括Google Cloud Platform和Google Workspace。

从表1中,您可以检查密码ECDHE_RSA_AES_256_GCM_SHA384,它与Google连接有问题,没有被列为兼容。

我从IBM找到了这个文档,其中列出了支持的CipherSpecs(我不太确定这是否适用于您的IBM产品)。此外,还有IBM提供的TLS故障排除指南。

重要的是要理解此信息不是故障排除信息的全面来源,而是帮助解决常见问题的指南。

目前还不清楚是IBM的GSKit SSL api产生了错误,还是它允许用户发送无效的数据包,然后报告错误。

不支持的TLS 1.2密码将在握手中被忽略,但我相信TLS 1.3中只有5个密码(参见RFC 8446 - Cipher Suites和OpenSSL - Ciphersuites),ECDHE_RSA_AES_256_GCM_SHA384不在其中,所以如果IBM的产品允许请求无效密码,那将是奇怪的。

1.3密码规范与Google服务器工作良好,如:

echo | openssl s_client -tls1_3 -connect SERVER:443 -ciphersuites TLS_CHACHA20_POLY1305_SHA256 | grep "New, TLSv1.3, Cipher"

如上所述,ECDHE_RSA_AES_256_GCM_SHA384不在TLS 1.2密码规范列表中。

更新2

从白皮书中,我注意到:

GFE中的

TLS是通过BoringSSL实现的。表1显示了GFE在与客户端通信时支持的加密协议。

协议认证加密tbody> <<tr>
密钥交换散列函数
TLS 1.3<一口>4RSA 2048Curve25519aes - 128 gcmSHA384
TLS 1.2ECDSA p - 256p - 256 (NIST secp256r1)aes - 256 gcmSHA256

相关内容

  • 没有找到相关文章

最新更新