OpenSSLã®èå¼±æ§(CVE-2017-3733)ã«è¦ãããä»æ§ã¨castã®è½ã¨ãç©´
0. çãã¾ã¨ã
- OpenSSL-1.1.0dã«èå¼±æ§(CVE-2017-3733)ãè¦ã¤ãããEncrypt-Then-Mac 㨠renegotiation ãçµã¿åãã㦠crashããããã¨ãã§ãã¾ããã
- ãã®èå¼±æ§ã¯ãä»æ§ã®æºæ ä¸è¶³ãä¸é©åãªå¤æ°ã® cast ãªã©ãåå ã§ããã
- TLS1.3ã§ã¯ããããè½ã¨ãç©´ãå°ãªããªãããæ©è½ã®æ ¹æ¬çãªè¦ç´ããè¡ããã¦ãã¾ãã
1. ã¯ããã«
å é± OpenSSL-1.1.0d ã«å¯¾ãã¦ã»ãã¥ãªãã£ã¢ãããã¼ããããã Encrypt-Then-Mac renegotiation crash (CVE-2017-3733)ã¨ããèå¼±æ§(Severity: High)ãå ¬éããã¾ããã 対象ã¨ãªã£ã 1.1.0 ã¯ãæ¨å¹´2016å¹´8æã«ãªãªã¼ã¹ãããOpenSSLã®æ°ãããªãªã¼ã¹ãã©ã³ãã§ãã1.1.0ã§ã¯APIã®å¤§å¹ å¤æ´ããããã¾ã ãã¾ãæ®åãã¦ããªãããå½±é¿ãåããæ¹ã¯æ¯è¼çå°ãªãã£ãã®ã§ã¯ã¨äºæ³ãã¾ãã ãããä»åã®èå¼±æ§ããã®åå ãããããæ¢ã£ã¦ã¿ãã¨ãªããªã趣深ããã®ãããã¾ãã
ãã㧠Encrypto-then-Macã¨ã¯ä½ããRenegotiationã¨ã¯ã©ããããã®ããã¯ãã¾ãä½æ Highã«ã¾ã§å½±é¿ãããããªèå¼±æ§ã«ãªã£ã¡ãã£ãã®ãããã®ä»çµã¿ãæ¸ãã¦ã¿ããã¨æãã¾ãã
2. MtE(Mac-then-Encrypt) ã EtM(Encrypt-then-MAC) 㨠AEAD(Authenticated Encryption with Associated Data)
ã¤ã³ã¿ã¼ãããä¸ã§ã»ãã¥ã¢ãªéä¿¡ãè¡ãã«ã¯ãæå·åã«ãã£ã¦ãã¼ã¿ã®çè´ãé²ãæ©å¯æ§ã®ç¢ºä¿ãè¡ãã ãã§ã¯ä¸ååã§ããæå·åã®æç¡ã«é¢ããããã¼ã¿ã®æ¹ãããæ¤ç¥ãå®å ¨æ§ã確ä¿ãããã¨ãå¿ è¦ã§ãã å¾æ¥ãæ¹ãããæ¤ç¥ããã«ã¯ãã¼ã¿ã®MAC(Message Authentication Code)ãè¨ç®ãããã®å¤ããã¼ã¿ã«ä»ä¸ãã¦ãã§ãã¯ãè¡ã£ã¦ãã¾ããã
æå·åã¨MACã®è¨ç®ãã©ã£ã¡ãå ã«ããã®ãããã®æé ã®å®å ¨æ§ã«é¢ãã¦å¤ãããè°è«ãè¡ããã¦ãã¾ããã代表çã«ã¯ãMACãå ã«è¡ãMtE(Mac-then-Encrypt)ã¨æå·åãå ã«è¡ãEtM(Encrypt-then-Mac)ã®ï¼ã¤ã®ããæ¹ãæãããã¾ããTLSã¯SSLã®æ代ãã ããããã¯æå·(DES/AES)ã¨CBCã¢ã¼ããå©ç¨ããéã«MACãå ã«è¡ãMtEæ¹å¼ãæ¡ç¨ãã¦ãã¾ãããããããã®æ¹å¼ãå©ç¨ãã¦ããã¨ã復å·åãã¦ãããã¼ã¿ã®ãã§ãã¯ãè¡ãããããã£ã³ã°ãªã©ã¯ã«æ»æã®å¯¾è±¡ã¨ãªããããã¾ã§ã½ããã¦ã§ã¢ã®å®è£ ä¸åãçªããæ»æææ³ãããã¤ãå ¬è¡¨ããã¦ãã¾ãããä¸ã§ã2013å¹´ã® Lucky Thirteen æ»æã¯CBCã¢ã¼ãã®å®è£ ä¸åãçªããé常ã«æåãªæ»æææ³ã§ãã
æè¿ã«ãªã£ã¦ã2015å¹´ã« amazon ã® s2n ã«å¯¾ããLucky Microsecondsãã2016å¹´ãOpenSSLã®AES-NIã®å®è£ ä¸åãã¤ããLuckyNegative20ãªã©ã®èå¼±æ§ãå ¬è¡¨ããã¦ãã¾ãããã®ããã«MtEã®å®å ¨æ§ã確ä¿ããã½ããã¦ã§ã¢ã®å®è£ ãè¡ãããã«ã¯ãé«åº¦ãªã»ãã¥ãªãã£ãè¨ç®æ©ç§å¦ã®ç¥èã¨å®è£ è½åãå¿ è¦ã¨ããã¾ããå人çã«ã¯ç´ 人ãæãåºããé åã§ã¯ãªããªã¨æãã¦ãã¾ãã
ãããªãªããTLS1.2ããAEAD(Authenticated Encryption with Associated Data)ã¨ããæå·åææ³ãæ¡ç¨ããã¾ãããããã¯å é¨çã«EtMã使ãã¤ã¤ããåæã«èªè¨¼ç¨ã®é«éãªMACãåããã¦è¨ç®ããã¨ãã£ãæ¹å¼ã§ããã®å®å ¨æ§ã¯å©ç¨ãã対称æå·ãMAC æ¹å¼ã«ä¾åããã¨ãããã¨ãæ°å¦çã«è¨¼æããã¦ãã¾ãããããAEADã¯ãæå·å¯¾è±¡ã¨ãªããã¼ã¿ä»¥å¤ã®ãã¼ã¿(å¹³æã®ããããã¼ã¿ãªã©)ã®èªè¨¼ãåããã¦è¡ããã¨ãã§ãã¾ããä½ããAEADã®ä¸ã§AES-GCMæ¹å¼ã¯ãIntel AES-NIãARMv8ã®AESæ¡å¼µæ©è½ãªã©ãã¼ãã¦ã§ã¢å¦çæ©è½ãæä¾ããã¦ãã¦ãä»ã®æ¹å¼ããæ ¼æ®µã«é«éãªå¦çãå®ç¾ã§ããã¨ãã£ãã¡ãªãããããã¾ãã
ç°¡åã«MtE, EtM, AES-GCM(AEAD)ã®æ¹å¼ã®éãã表ããã®ã以ä¸ã®å³ã§ãã ç¾å¨ã®TLSã§ã¯ãã¾ãAES-GCMã®AEADæå·æ¹å¼ä½¿ã£ãéä¿¡ã®å©ç¨ãä¸å¿ã«èãã¦è¯ããã¨ã¯ééããªããã¨ã§ãããã
3. RFC7366: Encrypt-then-MAC for TLS and DTLS
ããã¯è¨ã£ã¦ããã¾ã åºã使ããã¦ããAES-CBCã¯ãã®ã¾ã¾ã§ããã®ããTLS1.0ã1.1ããªãã¨ãããªãã¨ããããã¨ãããã¨ãããTLSã®æå·éä¿¡ãå¾æ¥ã®MtEããEtMã«å¤æ´ã§ããä»æ§ RFC7366: Encrypt-then-MAC for TLS and DTLS ã2014å¹´ã«æ¨æºåããã¾ãããMtEã¨EtMå ±ã«æ··å¨ãããã¨ãã§ããªããã¨ãããEtMç¨ã®CipherSuiteãå¥ã«ç¨æããã¨ãããã¨ãèããããã®ã§ãããCipherSuiteã®æ°ãå¤ããªããããããããã³ãã·ã§ã¤ã¯ã®ClientHello/ServerHelloã®æ¡å¼µã使ã£ã¦EtMæ¹å¼ã®å©ç¨ãåæããæ¹å¼ãæ¡ç¨ããã¾ãããããæ¹ã¨ãã¦ã¯ã¯ã©ã¤ã¢ã³ããEtMããµãã¼ããã¦ãããã¨ãä¼ããEtMæ¡å¼µãClientHelloã«ä»ä¸ããServerãEtMæ¹å¼ãå¯è½ãªCipherSuiteãé¸æãããEtMæ¡å¼µãServerHelloã«ä»ãã¦ã¯ã©ã¤ã¢ã³ãã«è¿ãã°å®äºã§ãããããµã¼ããAEADãªã©EtMãå¿ è¦ã¨ãã¦ããªãæå·æ¹å¼ã使ãå ´åã¯ãServerHelloã«EtMæ¡å¼µãä»ããã«è¿ãã¾ããç°¡åã«æ¸ãã¨ä¸å³ã®ãããªããã¨ãã§ãã ãã®æ¹å¼ãªãæ¯è¼çç°¡åã«EtM対å¿ãå¯è½ã«ãªãã ããã¨ããè¦è¾¼ã¿ãæã£ã¦ä»æ§åããã¾ãããããã£ã±ãä»åã¿ããã«è½ã¨ãç©´ãããã¾ãããä»æ§ã¯ãã³ã注ææ·±ãèªã¿è¾¼ã¾ãªãã¨ããã¾ããã
4 Renegotiation
ä»åã®èå¼±æ§ã¯ãEtMã¨Renegotiationãçµã¿åããããã®ã§ããããã§ã¯TLSã®Renegotiationã«ã¤ãã¦ç°¡åã«æ¸ãã¦ã¿ã¾ãã
TLSã¯ãæåãã³ãã·ã§ã¤ã¯ãè¡ã£ãå¾ã«å度ãã³ãã·ã§ã¤ã¯(Renegotiation)ãè¡ããã¨ãã§ãã¾ããï¼åç®ä»¥éã¯æ¢ã«ãã³ãã·ã§ã¤ã¯ãå®äºãã¦ããã®ã§æå·åéä¿¡ä¸ã§Renegotiationãè¡ããã¾ãã ãããå¿ è¦ãªã®ã¯ãå½åãµã¼ãèªè¨¼ã§TLSã®éä¿¡ãè¡ã£ã¦ããå¾ã«ã¯ã©ã¤ã¢ã³ãèªè¨¼ãå¿ è¦ãªãªã½ã¼ã¹ã«ã¢ã¯ã»ã¹ãããã¨ãå¿ è¦ã«ãªã£ãå ´åãªã©ã§ãããµã¼ãããã®åå³ã§Renegotiationãéå§ããã¯ã©ã¤ã¢ã³ã証ææ¸ã®ãã§ãã¯ãè¡ããã¨ã«ãã£ã¦ããµã¼ ãèªè¨¼ã®TLSæ¥ç¶å¾ãã¯ã©ã¤ã¢ã³ãèªè¨¼ã«ã·ã¼ã ã¬ã¹ã«ç§»è¡ãããã¨ãå¯è½ã«ãªãã¾ãã ä»ã®ç¨éã¨ãã¦ãé·æéTLSã®éä¿¡ãè¡ã£ã¦ããæã«å¯¾ç§°æå·ã®éµãã¢ãããã¼ããããéã«ãRenegotiationã使ããã¨ãããã¾ããRenegotiationèªä½ã¯ä¸è¦ä½ãåé¡ãªãããã«è¦ãã¾ãããRenegotiationåå¾ã§åä¸ã®ã»ãã¥ãªãã£ã確ä¿ã§ãã¦ãããã å¦çã³ã¹ããé«ãã®ã§DoSã£ã½ããã¨ãããããæãã¯ãªããã¨ããããã¾ã§ãRenegotiationãè¸ã¿å°ã«ããæ»æææ³ãããã¤ãå ¬è¡¨ããããã¨ãããããã®å©ç¨ä¾¡å¤ã¯æ¬¡ç¬¬ã«å°ãããªã£ã¦ãã¦ãã¾ãã
ä»åã®èå¼±æ§ã¯ãMtEã®å®è£ ã§Renegotiationæã®æåãã¡ããã¨å¯¾å¦ã§ããªãã£ããã¨ãåå ã§ããããã£ã±ãRenegotiationæ©è½ã¯TLSã®ç¶æ ãé常ã«è¤éã«ããããããªè½ã¨ãç©´ã®ä¸å ã«ãªã£ã¦ããã¨è¨ããã¦ãä»æ¹ãªãã§ãããã
5. CVE-2017-3733
5.1 CVE-2017-3733 èå¼±æ§ã®åç¾
ã¾ãã¯ä»åã®èå¼±æ§ãåç¾ããã¦ã¿ã¾ããããOpenSSL-1.1.0ã§ã¯ default ã§EtMæ¡å¼µãæå¹ã«ãªã£ã¦ãã¾ããä»åã®èå¼±æ§ã®ä¿®æ£ãããããæ¢ãã¨ãæåã®ãã³ãã·ã§ã¤ã¯ã§AEADãå©ç¨ãRenegotiationã§EtMã使ã£ãæå·ã«å¤æ´ãã㨠crash ãã¦ãã¾ãããã§ããOpenSSLã® s_clientã³ãã³ãã§ã¯ Renegotiation ããµãã¼ããã¦ãã¾ããããã®éæå·æ¹å¼ãå¤ãããã¨ãã§ããªãã®ã§å°ãæ¹é ãã¦ã¿ã¾ãã
ä¸è¨ãããã使ã㨠s_client ã§æ¥ç¶å¾ãæ¨æºå ¥å㧠S ãå ¥ãã㨠AES128-SHA㧠Renegotiation ãè¡ãããã«ãªãã¾ããèå¼±æ§ã®ãã 1.1.0dã使ãã¨ã¯ã©ã¤ã¢ã³ããå ã« crashãã¦ãã¾ãã®ã§ä¿®æ£ããã1.1.0eã® s_client ã«ããããå½ã¦ã¦ã¿ã¾ãã
--- a/apps/s_client.c +++ b/apps/s_client.c @@ -2440,6 +2440,12 @@ int s_client_main(int argc, char **argv) SSL_renegotiate(con); cbuf_len = 0; } + if ((!c_ign_eof) && (cbuf[0] == 'S' && cmdletters)) { + BIO_printf(bio_err, "RENEGOTIATING for CVE-2017-3733\n"); + SSL_set_cipher_list(con, "AES128-SHA"); + SSL_renegotiate(con); + cbuf_len = 0; + }
å ã« OpenSSL-1.1.0dã§TLSãµã¼ããç«ã¡ä¸ãã¦ããããã®ã¯ã©ã¤ã³ãã§æ¥ç¶ãã¾ããAES128-GCM-SHA256(AEAD)ã§æ¥ç¶ãã¦ããã³ãã³ãSãå ¥åãã¦AES128-SHAã«Renegotiationãã¦ã¿ã¾ãããã
~/openssl-1.1.0e$ ./apps/openssl s_client -connect localhost:8443 -cipher AES128-GCM-SHA256 CONNECTED(00000003) (ä¸ç¥) Extended master secret: yes --- S RENEGOTIATING for CVE-2017-3733 (ä¸ç¥) write:errno=104
ãªããã¨ã©ã¼åºã¦ã¾ãããµã¼ãå´ãã©ããªã£ã¦ããã®ãè¦ã¦ã¿ã¾ãã
~/openssl-1.1.0d$ ./apps/openssl s_server -cert ~/tmp/certs/server.cert -key ~/tmp/certs/server.key -accept 8443 Using default temp DH parameters ACCEPT (ä¸ç¥) CIPHER is AES128-GCM-SHA256 Secure Renegotiation IS supported ssl/record/ssl3_record.c:352: OpenSSL internal error: assertion failed: mac_size <= EVP_MAX_MD_SIZE Aborted (core dumped)
ããã£ãã¨ã©ã¼åãã¦TLSãµã¼ãã abort ãã¦ãã¾ãããã£ãä¸ã¤ã®TLSã»ãã·ã§ã³ã§TLSãµã¼ããè½ã¨ããã¨ãã§ãã¾ããã
5.2 CVE-2017-3733 ã®åå
ãªãã§ãããªãã¨ã«ãªã£ã¦ãã¾ã£ãã®ãããã®åå ãæ¢ã£ã¦ã¿ã¾ãããã
OpenSSL-1.1.0dã®EtMå®è£ ã§ã¯ãµã¼ã㯠ClientHello ã®EtMæ¡å¼µã¨é¸æããCipherSuiteãè¦ã¦EtMã使ããå¤æããEtMæ¡å¼µä»ãã®ServerHelloãè¿ãã¨å ±ã«EtMå©ç¨ã®Flag(TLS1_FLAGS_ENCRYPT_THEN_MAC)ãç«ã¦ã¾ãã
æåã®ãã³ãã·ã§ã¤ã¯ã§ã¯ã Change Cipher Spec(CCS)ã®éåä¿¡ãè¡ãããã¾ã§å¹³æéä¿¡ã§ããCCSã«ããEtMã®æå·åéå§ã¯ãµã¼ãã»ã¯ã©ã¤ã¢ã³ãå ±ã«åæãåãã¦ãã¦åé¡ããã¾ããã ã¨ããã Renegotiation ã¯æå·åéä¿¡ä¸ã§è¡ããããã³ãã·ã§ã¤ã¯ã§ããæå·åéä¿¡ä¸ã§ãã®ClientHelo/ServerHelloã®éåä¿¡ã¿ã¤ãã³ã°ã§EtMå©ç¨ã®Flagãç«ã£ã¦ãã¾ã£ããã©ããªãã§ããããï¼
æ¬æ¥ã¯ CCS ã®éåä¿¡ã®ã¿ã¤ãã³ã°ã§æå·æ¹å¼ãå¤ããã¾ãããã®ã¿ã¤ãã³ã°ã§EtMã®å©ç¨ãéå§ããã®ã¯æ©ãããã®ã§ãã
å ã®èå¼±æ§ã®åç¾ä¾ã§ã¯æåã®ãã³ãã·ã§ã¤ã¯ã¯ AES-GCM ã§ããããµã¼ãå´ã¯ EtMã®ãã©ã°ãOnã«ãªã£ã¦ããã®ã§AES-GCMã§æå·åããããã¼ã¿ãEtMæ¹å¼ã§å¾©å·åãããã¨ãã¾ããã¾ãMACãã§ãã¯ãè¡ãã¾ãããAES-GCMã¯MACã使ãã¾ãããæ¬æ¥ããããªãAEADã®EtMã®å¾©å·å¦çããã®æç¹ã§ãã®TLSã»ãã·ã§ã³ã®å¦çã¯æ¢ã¾ã£ã¦ãã¾ãã¾ãã æ®éï¼ã¤ã®TLSã»ãã·ã§ã³ã®ã¨ã©ã¼ããµã¼ãå ¨ä½ã«æ³¢åãããã¨ã¯ããã¾ãããããã«ã¯ããä¸ã¤è½ã¨ãç©´ãããã¾ããã
5.3 int -> unsigned int ã¸ãcastã®æ²å
ãããã®ã¨ã©ã¼æãã©ããªå¦çããããã®ã§ããããï¼ è©²å½ããã³ã¼ãã¯ä»¥ä¸ã®ã¨ããã§ãã
if (SSL_USE_ETM(s) && s->read_hash) { unsigned char *mac; mac_size = EVP_MD_CTX_size(s->read_hash); OPENSSL_assert(mac_size <= EVP_MAX_MD_SIZE);
SSL_USE_ETMãæå¹åããã¦ããã®ã§mac_sizeãåå¾ãã«è¡ãã¾ããAES128-GCM-SHA256ã®å ´åã¯AEADãªã®ã§MACãå®ç¾©ããã¦ããã mac_size ã« -1 ãè¿ãã¾ãã
ç¾ç¶ã®TLSã§ã¯MACã®æ大ã¯SHA512ã®64ãã¤ãã -1 <= 64 ã ãã assert åé¡ãªãã§ãããããã
short version; unsigned mac_size; unsigned int num_recs = 0;
ãã¼ãmac_size㯠unsigned ã«ãã£ã¹ãããã¦ãã¾ãã -1 ã¯ã4294967295(=232-1) ã§ããAES-GCMã®MACãµã¤ãºã¯ãªãã¨4Gãã¤ãè¶ ã®å·¨å¤§ãªå¤ã¨ã¿ãªããã¾ãã
OPENSSL_assert(4294967295 <= 64);
ãã㧠assert ãã§ãã¯ã«ã²ã£ãããããããOPENSSL_assert 㯠abort() ã¾ã§è¡ãã¾ãã TLSãµã¼ãã¯è¦äºãã㧠crash ã§ãã ãã®èå¼±æ§ã¯ãRedHatã®ã¨ã³ã¸ãã¢ããã®å ±åã ã£ãããã§ãããããè¦ã¤ãããã®ã§ãã
5.4 ä¿®æ£æ¹æ³
æ ¹æ¬çãªåé¡ã¯ãClientHello/ServerHelloã®éåä¿¡æã«EtMå©ç¨ãéå§ãããã¨ã§ãããããã§ä¿®æ£ã¯CCSã®éåä¿¡æã«READ/WRITEã®ï¼ã¤ã®EtMå©ç¨ã®ãã©ã°ã使ãããã«ãã¾ããã https://github.com/openssl/openssl/commit/4ad93618d26a3ea23d36ad5498ff4f59eff3a4d2 å®ã¯ãããRFC7366ã®ä»æ§ã«ã¡ããã¨æ³¨æäºé ã¨ãã¦æ¸ãã¦ããã¾ããã
3.1. Rehandshake Issues (ä¸ç¥) If an upgrade from MAC-then-encrypt to encrypt-then-MAC is negotiated as per the second line in the table above, then the change will take place in the first message that follows the Change Cipher Spec (CCS) message.
ãåãã³ãã·ã§ã¤ã¯æã®EtMã®åãæ¿ãã¯CCSå¾ã«å¤æ´ãè¡ããã¨ãã¾ãã«ããã§ããããè¨ã訳ããã¾ããã
OpenSSL-1.1.0eã§ã¯ãä»åã®ç ´å£çãªçµæãå¼ãèµ·ããã unsigned å¤æ°ã®ãã£ã¹ããOPENSSL_assert()ã®å¦çãä¿®æ£ããã¾ããã https://github.com/openssl/openssl/commit/60747ea22f8b25b2a7e54e7fe4ad47dfe8f93383
å®ã¯ master ã® OpenSSL-1.1.1-dev ã§ã¯ã mac_size ãã¡ãã㨠int ã§åãã¦ç¯å²ãã§ãã¯ãè¡ãã size_t ã«ãã£ã¹ãããããå¤æ´ããã¦ãã¾ããã ãã®ããã¨ã©ã¼ã¯çºçãããã®ã® crash ã¾ã§è¡ããã¨ã¯ããã¾ãããææ°ãã©ã³ãã«ã¯å°éãªã³ã¼ãã®è¦ç´ããã¡ããã¨ããã¦ããããã§ãã
6. TLS1.3ã¨OpenSSL-1.1.1
OpenSSL-1.1.0ã§ã¯ default ã§ä½¿ããããã«ãªã£ã¦ããEtMæ¡å¼µã§ãããBoringSSLãNSSã§å®è£ ããåãã¯ã¾ã ããã¾ãããããªãã¡ChromeãFirefoxãªã©ã®ãã©ã¦ã¶ã¼ã§ã®ãµãã¼ãè¦è¾¼ã¿ã¯ããã¾ããã TLS1.2ã§AES-GCMãChaCha20-Poly1305ãªã©AEADã使ããããã«ãªã£ã¦ããã®ã§ããããã対å¿ããå¿ è¦ã¯ãªãã¨ãããã¨ã§ãããã
次æTLS1.3ã§ã¯æ ¹æ¬çãªæ©è½ã®è¦ç´ããè¡ããã¦ãããä»åã®è¦å ã¨ãªã£ãTLSã®æ©è½ãå»æ¢ã»å¤æ´ãã¦ãã¾ãã
- Renegotiationãå»æ¢ã㦠Post-handshakeãæ°è¨ã
- Change Cipher Spec ãå»æ¢ãã¦ãéµäº¤æå¾ã¯å³æå·åéå§ã
- CBCã¢ã¼ãã®å©ç¨å»æ¢ãCipherSuiteã¯AEADã®ã¿å©ç¨å¯ã«ã
ãã£ã¦TLS1.3ã§ã¯EtMèªä½ãæå³ã®ãªãæ©è½ã«ãªã£ã¦ãã¾ããOpenSSL-1.1.1ã§ã¯TLS1.3ãå®è£ ããã¦ãããè¿ãæ£å¼ãªãªã¼ã¹ãããã®ã§ã¯ãªããã¨æå¾ ããã¦ãã¾ããOpenSSLã®éçºè ãæå±ãã akamai ã§ã¯ã4æã«TLS1.3ã rollout ããããã§ãã TLS1.3ã®ä»æ§åå®äºã¨OpenSSL-1.1.1ã®ãªãªã¼ã¹ãå¾ ã¡é ããã§ãã