- TOP
- ã¿ã°äžèЧ
- Wireshark
Wireshark
ã€ãã³ã
該åœããã³ã³ãã³ããèŠã€ãããŸããã§ãã
ãã¬ãžã³
該åœããã³ã³ãã³ããèŠã€ãããŸããã§ãã
æè¡ããã°
æ¬ããã°ã¯ 2023 幎 6 æ 13 æ¥ã«å
¬éããã AWS Blog â Post-quantum hybrid SFTP file transfers using AWS Transfer Family â ã翻蚳ãããã®ã§ãã 2025 幎 9 æ 5 æ¥: AWS Transfer Family ã¯ããã¹ãéåãã€ããªããéµäº€æã®ãµããŒãããKyber ãã NIST ã FIPS 203 ã§æšæºåãã ML-KEM ã«ã¢ããã°ã¬ãŒãããŸãããML-KEM ã«ãããã¹ãéåéµäº€æããµããŒããã SSH ããªã·ãŒã¯ TransferSecurityPolicy-2025-03 ãš TransferSecurityPolicy-FIPS-2025-03 ã§ãããããã®ããªã·ãŒã«å«ãŸãããã¹ãéå SSH éµäº€ææ¹åŒã¯ã ãã¹ãéåãã€ããªãã SSH éµäº€æã®ãã©ãã仿§ ã§å®çŸ©ãããŠãã mlkem768nistp256-sha256 ã mlkem1024nistp384-sha384 ã mlkem768x25519-sha256 ã§ãã詳现ã«ã€ããŠã¯ãã AWS Transfer Family announces ML-KEM quantum-resistant key exchange for SFTP ããåç
§ããŠãã ããã 以äžã®èšäºã®äŸã§äœ¿çšãããŠãã 2023 å¹Žåœæã®å®éšçããªã·ãŒ ( TransferSecurityPolicy-PQ-SSH-Experimental-2023-04 ããã³ TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04 ) ãš SSH ã¡ãœããåã«ã¯ãML-KEM ã®æšæºååããŒãžã§ã³ã§ãã Kyber ãå«ãŸããŠããŸããããããã®ããªã·ãŒã䜿çšããŠãã SFTP ãšã³ããã€ã³ãã«ã€ããŠã¯ã察å¿ãã SFTP ã¯ã©ã€ã¢ã³ãããŸã ML-KEM ã«ã¢ããã°ã¬ãŒããããŠããããåŒãç¶ã Kyber ã䜿çšããŠããå Žåãé€ãã TransferSecurityPolicy-2025-03 and TransferSecurityPolicy-FIPS-2025-03 ã«æŽæ°ããŠãã ããã Amazon Web Services (AWS) ã¯ãã»ãã¥ãªãã£ããã©ã€ãã·ãŒãããã©ãŒãã³ã¹ãæåªå
ãšããŠããŸããæå·åã¯ãã©ã€ãã·ãŒã®éèŠãªèŠçŽ ã§ããæå·åãããããŒã¿ãé·æã«ããã£ãŠä¿è·ããããã«ãAWS ã¯ã客æ§ã䜿çšããäžè¬çãªãã©ã³ã¹ããŒããããã³ã«ã«èéåéµäº€æãå°å
¥ããŠããŸãããæ¬èšäºã§ã¯ãSecure Shell (SSH) ãããã³ã«ã«ããã Kyber ã䜿çšãããã¹ãéåãã€ããªããéµäº€æã«ã€ããŠç޹ä»ããŸããKyber ã¯ãç±³åœåœç«æšæºæè¡ç ç©¶æ (NIST) ãéžå®ããèéåéµã«ãã»ã«åã¢ã«ãŽãªãºã ã§ãããã¹ãéåãã€ããªããéµäº€æãéèŠãªçç±ã解説ããAWS ã®ãã¡ã€ã«è»¢éãµãŒãã¹ã§ãã AWS Transfer Family ã® Secure File Transfer Protocol (SFTP) ã§äœ¿çšããæ¹æ³ã玹ä»ããŸãã SSH ã§ãã¹ãéåãã€ããªããéµç¢ºç«ã䜿çšããçç± çŸæç¹ã§ã¯å®çšåãããŠããŸããããæå·è§£èªèœåãæã€éåã³ã³ãã¥ãŒã¿ (CRQC) ãå®çŸããã°ãçŸåšäœ¿çšãããŠããæšæºçãªå
¬ééµã¢ã«ãŽãªãºã ãçè«çã«ç Žãããšãå¯èœã«ãªããŸããçŸåšã®ãããã¯ãŒã¯ãã©ãã£ãã¯ãèšé²ããŠãããå°æ¥ CRQC ã§åŸ©å·ãããšããè
åšãæ³å®ãããŸãããã㯠harvest-now-decrypt-later (ä»åéããŠåŸã§åŸ©å·ããæ»æ) ãšåŒã°ããŠããŸãã ããããæžå¿µãèžãŸããç±³åœè°äŒã¯ Quantum Computing Cybersecurity Preparedness Act ã«çœ²åãããã¯ã€ãããŠã¹ã¯èéåæå·ãžã®é©åãã€å
¬å¹³ãªç§»è¡ã«åããããã®åœå®¶å®å
šä¿éèŠæž ( NSM-8 ã NSM-10 ) ãçºè¡ããŸãããç±³åœåœå®¶å®å
šä¿éå± (NSA) ã CNSA 2.0 ãªãªãŒã¹ ã§èéåã¢ã«ãŽãªãºã ã®èŠä»¶ãšã¿ã€ã ã©ã€ã³ãå
¬è¡šããŠããŸãã ã«ãã ã ãã€ã ã ãã©ã³ã¹ ãã¯ãããšããå€ãã®æ¿åºããISO/IECã IEEE ãªã©ã®æšæºåå£äœããèéåæå·æè¡ãžã®åããšå®èšŒãåªå
çã«é²ããŠããŸãã AWS ã¯ãã¹ãéåæå·ãžã®ç§»è¡ãç©æ¥µçã«æšé²ããŠããŸãã AWS Key Management Service (AWS KMS) ã AWS Certificate Manager (ACM) ã AWS Secrets Manager ã® TLS ãšã³ããã€ã³ãã§ã¯ãæ¥åæ²ç· Diffie-Hellman (ECDH) ãš Kyber ã䜿çšãã ãã¹ãéåãã€ããªããéµç¢ºç«ãæ¢ã«ãµããŒã ãããŠããŸããKyber ã¯ã NIST ã®ãã¹ãéåæå· (PQC) ãããžã§ã¯ã ã§éžå®ãããéµã«ãã»ã«åã¡ã«ããºã (KEM) ã§ãããã¹ãéåãã€ããªãã TLS 1.3 éµäº€æã¯å€§ããªæ³šç®ãéããŠããŸãããSSH ã«é¢ããåãçµã¿ã¯ãããŸã§éå®çã§ããã SSH ã¯ããã·ã³éã®ãã¡ã€ã«è»¢éãã Amazon Elastic Compute Cloud (Amazon EC2) ã€ã³ã¹ã¿ã³ã¹ã®ç®¡çãŸã§ãAWS ã®ã客æ§ã«å¹
åºã䜿çšãããŠãããããã³ã«ã§ããSSH ãããã³ã«ã®éèŠæ§ãåºç¯ãªå©çšç¶æ³ã転éãããããŒã¿ã®æ§è³ªãèæ
®ããAWS 㯠SSH ã«ã Kyber ã䜿çšãããã¹ãéåãã€ããªããéµäº€æãå°å
¥ããŸããã Transfer Family SFTP ã«ããããã¹ãéåãã€ããªããéµäº€æã®ä»çµã¿ AWS ã¯ã2023 幎 6 æã« AWS Transfer Family ã® SFTP ãã¡ã€ã«è»¢éã«ããããã¹ãéåéµäº€æã®ãµããŒããçºè¡š ããŸãããTransfer Family ã¯ãSFTP ããã®ä»ã®ãããã³ã«ã䜿çšããŠãAWS Storage ãµãŒãã¹ãžã®äŒæ¥éãã¡ã€ã«è»¢éãå®å
šã«ã¹ã±ãŒã«ãããµãŒãã¹ã§ããSFTP 㯠SSH äžã§åäœãã File Transfer Protocol (FTP) ã®ã»ãã¥ã¢ããŒãžã§ã³ã§ããTransfer Family ããã¹ãéåéµäº€æããµããŒãããããšã§ãSFTP çµç±ã®ããŒã¿è»¢éã®ã»ãã¥ãªãã£ãåäžããŸãã SSH ã«ããããã¹ãéåãã€ããªããéµç¢ºç«ã§ã¯ããã¹ãéå KEM ãåŸæ¥ã®éµäº€æãšçµã¿åãããŠäœ¿çšããŸããã¯ã©ã€ã¢ã³ããšãµãŒããŒã¯åŒãç¶ã ECDH éµäº€æ ãè¡ããŸããããã«ããµãŒããŒã¯ã¯ã©ã€ã¢ã³ãã SSH éµäº€æã¡ãã»ãŒãžã§æç€ºãããã¹ãéå KEM å
¬ééµãçšããŠããã¹ãéåå
±æã·ãŒã¯ã¬ãããã«ãã»ã«åããŸãããã®æ¹åŒã¯ãåŸæ¥ã®éµäº€æã®é«ãä¿¡é Œæ§ãšãã¹ãéåéµäº€æã«ããã»ãã¥ãªãã£ãçµã¿åããããã®ã§ãECDH ãŸãã¯ãã¹ãéåå
±æã·ãŒã¯ã¬ããã®ã©ã¡ããäžæ¹ãå®å
šã§ããéãããã³ãã·ã§ã€ã¯ã¯ä¿è·ãããŸãã å
·äœçã«ã¯ãTransfer Family ã®ãã¹ãéåãã€ããªããéµäº€æ SFTP ãµããŒãã¯ããã¹ãéå Kyber-512ãKyber-768ãKyber-1024 ãšãECDH (æ¥åæ²ç· P256ãP384ãP521ãCurve25519) ãçµã¿åãããæ¹åŒã«å¯Ÿå¿ããŠããŸãã察å¿ãã SSH éµäº€ææ¹åŒã¯ã ecdh-nistp256-kyber-512r3-sha256-d00@openquantumsafe.orgãecdh-nistp384-kyber-768r3-sha384-d00@openquantumsafe.orgãecdh-nistp521-kyber-1024r3-sha512-d00@openquantumsafe.org ãããã³ x25519-kyber-512r3-sha256-d00@amazon.com ã§ã ãã¹ãéåãã€ããªãã SSH éµäº€æã®ãã©ãã仿§ ã§å®çŸ©ãããŠããŸãã Kyber ãæ¡çšããçç± AWS ã¯æšæºåãããçžäºéçšå¯èœãªã¢ã«ãŽãªãºã ã®ãµããŒãã«åãçµãã§ãããSSH ã«ã¯ Kyber ãå°å
¥ããŸãããKyber ã¯ãNIST ã® ãã¹ãéåæå· (PQC) ãããžã§ã¯ã ã§æšæºåã®å¯Ÿè±¡ãšããŠéžå®ãããã¢ã«ãŽãªãºã ã§ããè€æ°ã®æšæºåå£äœããæ¢ã«ããŸããŸãªãããã³ã«ãžã® Kyber ã®çµ±åãé²ããŠããŸãã ãŸããAWS ã¯çžäºéçšæ§ã®ä¿é²ã«ãåãçµãã§ãããSSH åãã« Kyber ãš NIST æšæºã®æ¥åæ²ç· (P256 ãªã©) ãçµã¿åããã ãã©ãã仿§ ãçå®ã»å
¬éããæšæºåã«åããŠæåºããŸãããSFTP ããã³ SSH ã«ããããã¹ãéåéµäº€æã® AWS å®è£
ã¯ãã客æ§ã®ã»ãã¥ãªãã£åŒ·åã®ããããã®ãã©ãã仿§ã«æºæ ããŠããŸãã çžäºéçšæ§ æ°ããéµäº€ææ¹åŒ ( ecdh-nistp256-kyber-512r3-sha256-d00@openquantumsafe.orgãecdh-nistp384-kyber-768r3-sha384-d00@openquantumsafe.orgãecdh-nistp521-kyber-1024r3-sha512-d00@openquantumsafe.org ãããã³ x25519-kyber-512r3-sha256-d00@amazon.com ) ã¯ãTransfer Family ã® 2 ã€ã®æ°ãã ã»ãã¥ãªãã£ããªã·ãŒ ã§ãµããŒããããŠããŸãããããã®æ¹åŒåãããªã·ãŒã¯ããã©ãã仿§ã®æšæºåã®é²å±ã NIST ã«ãã Kyber ã¢ã«ãŽãªãºã ã®æ£åŒæ¿èªã«äŒŽãã倿Žãããå¯èœæ§ããããŸãã ãã¹ãéåãã€ããªãã SSH éµäº€æãš FIPS 140 ãªã©ã®æå·èŠä»¶ãžã®é©åæ§ FIPS æºæ ãå¿
èŠãªã客æ§åãã«ãTransfer Family ã§ã¯ãªãŒãã³ãœãŒã¹æå·ã©ã€ãã©ãªã§ãã AWS-LC ã䜿çšã㊠SSH ã® FIPS æå·ãæäŸããŠããŸããTransfer Family ã® TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04 ããªã·ãŒã§ãµããŒãããããã¹ãéåãã€ããªããéµäº€ææ¹åŒã¯ã SP 800-56Cr2 (section 2) ã«èšèŒã®ãšãããåŒãç¶ã FIPS èŠä»¶ãæºãããŠããŸãããã€ãé£éŠæ
å ±ã»ãã¥ãªãã£åº ( BSI ) ããã©ã³ã¹åœå®¶æ
å ±ã·ã¹ãã ã»ãã¥ãªãã£åº ( ANSSI ) ãããã®ãããªãã¹ãéåãã€ããªããéµäº€ææ¹åŒãæšå¥šããŠããŸãã Transfer Family ã§ãã¹ãéå SFTP ããã¹ãããæ¹æ³ Transfer Family ã§ãã¹ãéåãã€ããªãã SFTP ãæå¹ã«ããã«ã¯ãSFTP 察å¿ãšã³ããã€ã³ãã«ããã¹ãéåãã€ããªããéµäº€æããµããŒããã 2 ã€ã®ã»ãã¥ãªãã£ããªã·ãŒ ã®ãããããé©çšããå¿
èŠããããŸããã»ãã¥ãªãã£ããªã·ãŒã¯ã ããã¥ã¡ã³ã ã«èšèŒã®ãšãããTransfer Family ã§æ°ãã SFTP ãµãŒããŒãšã³ããã€ã³ããäœæããéã«éžæã§ããŸãããŸããæ¢åã® SFTP ãšã³ããã€ã³ãã® [Cryptographic algorithm options] ãç·šéããŠå€æŽããããšãã§ããŸãã以äžã®å³ 1 ã«ã AWS ãããžã¡ã³ãã³ã³ãœãŒã« ã§ã»ãã¥ãªãã£ããªã·ãŒãæŽæ°ããç»é¢ã®äŸã瀺ããŸãã å³ 1: ã³ã³ãœãŒã«ãã Transfer Family ãšã³ããã€ã³ãã«ãã¹ãéåãã€ããªããã»ãã¥ãªãã£ããªã·ãŒãèšå®ãã Transfer Family ã§ãã¹ãéåéµäº€æããµããŒãããã»ãã¥ãªãã£ããªã·ãŒåã¯ã TransferSecurityPolicy-PQ-SSH-Experimental-2023-04 ãš TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04 ã§ããTransfer Family ã®ããªã·ãŒã®è©³çްã«ã€ããŠã¯ãã Security policies for AWS Transfer Family ããåç
§ããŠãã ããã SFTP ã® Transfer Family ãšã³ããã€ã³ãã§é©åãªãã¹ãéåã»ãã¥ãªãã£ããªã·ãŒãéžæãããã åè¿°ã®ãã©ãã仿§ ã®ã¬ã€ãã³ã¹ã«åŸãããã¹ãéåãã€ããªããéµäº€æããµããŒããã SFTP ã¯ã©ã€ã¢ã³ãã䜿çšããŠãTransfer Family ã§ã®ãã¹ãéå SFTP ãæ€èšŒã§ããŸããAWS ã¯ã NIST NCCOE Post-Quantum Migration ãããžã§ã¯ã ã®ååè
ã§ããã OQS OpenSSH ããã³ wolfSSH ã® SSH å®è£
ãšãTransfer Family ã®ãã¹ãéåãã€ããªããéµäº€æ SFTP ãšã®çžäºéçšæ§ããã¹ããã確èªããŠããŸãã OQS OpenSSH ã¯ã©ã€ã¢ã³ã OQS OpenSSH ã¯ãliboqs ã䜿çšã㊠SSH ã«èéåæå·ã远å ãã OpenSSH ã®ãªãŒãã³ãœãŒã¹ãã©ãŒã¯ã§ãã liboqs ã¯ãèéåæå·ã¢ã«ãŽãªãºã ãå®è£
ãããªãŒãã³ãœãŒã¹ã® C ã©ã€ãã©ãªã§ããOQS OpenSSH ãš liboqs ã¯ããããã Open Quantum Safe (OQS) ãããžã§ã¯ã ã®äžéšã§ãã OQS OpenSSH ã䜿çšã㊠Transfer Family SFTP ã§ãã¹ãéåãã€ããªããéµäº€æããã¹ãããã«ã¯ããŸããããžã§ã¯ãã® README ã®æé ã«åŸã£ãŠ OQS OpenSSH ããã«ãããŸããæ¬¡ã«ã以äžã®ã³ãã³ãã®ããã«ããã¹ãéåãã€ããªããéµäº€ææ¹åŒãæå®ã㊠SFTP ã¯ã©ã€ã¢ã³ããå®è¡ããAWS SFTP ãšã³ããã€ã³ã (äŸ: s-9999999999999999999.server.transfer.us-west-2.amazonaws.com ) ã«æ¥ç¶ããŸãã <user_priv_key_PEM_file> ã¯ãŠãŒã¶ãŒèªèšŒã«äœ¿çšãã SFTP ãŠãŒã¶ãŒã® PEM ãšã³ã³ãŒãç§å¯éµãã¡ã€ã«ã«ã <username> ã¯ãŠãŒã¶ãŒåã«çœ®ãæããŠãã ããããŸããSFTP 察å¿ãšã³ããã€ã³ã㯠Transfer Family ã§äœæãããã®ã«æŽæ°ããŠãã ããã ./sftp -S ./ssh -v -o \ KexAlgorithms=ecdh-nistp384-kyber-768r3-sha384-d00@openquantumsafe.org \ -i <user_priv_key_PEM_file> \ <username> @s-9999999999999999999.server.transfer.us-west-2.amazonaws.com wolfSSH ã¯ã©ã€ã¢ã³ã wolfSSH ã¯ãæå·åŠçã« wolfCrypt ã䜿çšãã SSHv2 ã¯ã©ã€ã¢ã³ãããã³ãµãŒããŒã©ã€ãã©ãªã§ãã詳现ãšããŠã³ããŒããªã³ã¯ã«ã€ããŠã¯ã wolfSSL ã®è£œåã©ã€ã»ã³ã¹æ
å ± ãåç
§ããŠãã ããã wolfSSH ã䜿çšã㊠Transfer Family SFTP ã§ãã¹ãéåãã€ããªããéµäº€æããã¹ãããã«ã¯ããŸã wolfSSH ããã«ã ããŸããèéåæå·ã¢ã«ãŽãªãºã ãå®è£
ãããªãŒãã³ãœãŒã¹ã©ã€ãã©ãª liboqs ã䜿çšããŠãã«ããããšãwolfSSH ã¯èªåçã« ecdh-nistp256-kyber-512r3-sha256-d00@openquantumsafe.org ãããŽã·ãšãŒãããŸãã以äžã®ã³ãã³ãã®ããã« SFTP ã¯ã©ã€ã¢ã³ããå®è¡ã㊠AWS SFTP ãµãŒããŒãšã³ããã€ã³ãã«æ¥ç¶ããŸãã <user_priv_key_DER_file> ã¯ãŠãŒã¶ãŒèªèšŒã«äœ¿çšãã SFTP ãŠãŒã¶ãŒã® DER ãšã³ã³ãŒãç§å¯éµãã¡ã€ã«ã«ã <user_public_key_PEM_file> ã¯å¯Ÿå¿ãã SSH ãŠãŒã¶ãŒã® PEM 圢åŒå
¬ééµãã¡ã€ã«ã«ã <username> ã¯ãŠãŒã¶ãŒåã«çœ®ãæããŠãã ããããŸããSFTP ãšã³ããã€ã³ã s-9999999999999999999.server.transfer.us-west-2.amazonaws.com 㯠Transfer Family ã§äœæãããã®ã«æŽæ°ããŠãã ããã ./examples/sftpclient/wolfsftp -p 22 -u <username> \ -i <user_priv_key_DER_file> -j <user_public_key_PEM_file> -h \ s-9999999999999999999.server.transfer.us-west-2.amazonaws.com èéåã®å°æ¥ã«åããç§»è¡ãé²ãã«ã€ããSSH åãã«æšæºåããããã¹ãéåãã€ããªããéµäº€æããµããŒããã SFTP ããã³ SSH ã¯ã©ã€ã¢ã³ãã¯ä»åŸãŸããŸãå¢ããŠãããšèŠèŸŒãŸããŸãã SFTP ã§ãã¹ãéåãã€ããªããéµäº€æã確èªããæ¹æ³ Transfer Family ãžã® SFTP çš SSH æ¥ç¶ã§ãã¹ãéåãã€ããªããéµäº€æã䜿çšãããããšã確èªããã«ã¯ãã¯ã©ã€ã¢ã³ãã®åºåã確èªãããããã±ãããã£ããã£ã䜿çšããŸãã OQS OpenSSH ã¯ã©ã€ã¢ã³ã ã¯ã©ã€ã¢ã³ãã®åºå (é¢é£ã®ãªãæ
å ±ã¯çç¥) ã¯ä»¥äžã®ããã«ãªããŸãã $./sftp -S ./ssh -v -o KexAlgorithms=ecdh-nistp384-kyber-768r3-sha384-d00@openquantumsafe.org -i panos_priv_key_PEM_file panos@s-9999999999999999999.server.transfer.us-west-2.amazonaws.com OpenSSH_8.9-2022-01_p1, Open Quantum Safe 2022-08, OpenSSL 3.0.2 15 Mar 2022 debug1: Reading configuration data /home/lab/openssh/oqs-test/tmp/ssh_config debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling debug1: Connecting to s-9999999999999999999.server.transfer.us-west-2.amazonaws.com [xx.yy.zz..12] port 22. debug1: Connection established. [...] debug1: Local version string SSH-2.0-OpenSSH_8.9-2022-01_ debug1: Remote protocol version 2.0, remote software version AWS_SFTP_1.1 debug1: compat_banner: no match: AWS_SFTP_1.1 debug1: Authenticating to s-9999999999999999999.server.transfer.us-west-2.amazonaws.com:22 as 'panos' debug1: load_hostkeys: fopen /home/lab/.ssh/known_hosts2: No such file or directory [...] debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: algorithm: ecdh-nistp384-kyber-768r3-sha384-d00@openquantumsafe.org debug1: kex: host key algorithm: ssh-ed25519 debug1: kex: server->client cipher: aes192-ctr MAC: hmac-sha2-256-etm@openssh.com compression: none debug1: kex: client->server cipher: aes192-ctr MAC: hmac-sha2-256-etm@openssh.com compression: none debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug1: SSH2_MSG_KEX_ECDH_REPLY received debug1: Server host key: ssh-ed25519 SHA256:BY3gNMHwTfjd4n2VuT4pTyLOk82zWZj4KEYEu7y4r/0 [...] debug1: rekey out after 4294967296 blocks debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: rekey in after 4294967296 blocks [...] Authenticated to s-9999999999999999999.server.transfer.us-west-2.amazonaws.com ([xx.yy.zz..12]:22) using "publickey".s debug1: channel 0: new [client-session] [...] Connected to s-9999999999999999999.server.transfer.us-west-2.amazonaws.com. sftp> ãã®åºåããããã¹ãéåãã€ããªããæ¹åŒ ecdh-nistp384-kyber-768r3-sha384-d00@openquantumsafe.org ã䜿çšããéµäº€æã®ããŽã·ãšãŒã·ã§ã³ãè¡ãããSFTP ã»ãã·ã§ã³ãæ£åžžã«ç¢ºç«ãããããšãããããŸãã ããŽã·ãšãŒãããããã¹ãéåãã€ããªããéµãããã«ç¢ºèªããã«ã¯ã Wireshark ãªã©ã®ãããã¯ãŒã¯ãã©ãã£ãã¯åæããŒã«ã§ãã±ãããã£ããã£ã䜿çšããŸããã¯ã©ã€ã¢ã³ããææ¡ããéµäº€ææ¹åŒã®ããŽã·ãšãŒã·ã§ã³ã¯ä»¥äžã®ããã«è¡šç€ºãããŸãã å³ 2: Wireshark ã§ã¯ã©ã€ã¢ã³ããææ¡ãããã¹ãéåãã€ããªããéµäº€ææ¹åŒã確èªãã å³ 2 ã¯ãã¯ã©ã€ã¢ã³ãããã¹ãéåãã€ããªããéµäº€ææ¹åŒ ecdh-nistp384-kyber-768r3-sha384-d00@openquantumsafe.org ãææ¡ããŠããããšã瀺ããŠããŸããTransfer Family SFTP ãµãŒããŒã¯åãæ¹åŒãããŽã·ãšãŒãããã¯ã©ã€ã¢ã³ãã¯ãã¹ãéåãã€ããªããå
¬ééµãææ¡ããŸãã å³ 3: ã¯ã©ã€ã¢ã³ãã® ECDH P384 ããã³ Kyber-768 å
¬ééµã確èªãã å³ 3 ã«ç€ºãããã«ãã¯ã©ã€ã¢ã³ãã¯ãã¹ãéåãã€ããªããå
¬ééµãšã㊠1,281 ãã€ããéä¿¡ããŠããŸããããã¯ãECDH P384 ã® 92 ãã€ãã®å
¬ééµã1,184 ãã€ãã® Kyber-768 å
¬ééµãããã³ 5 ãã€ãã®ããã£ã³ã°ã§æ§æãããŠããŸãããµãŒããŒã®ã¬ã¹ãã³ã¹ãåæ§ã®ãµã€ãºã§ã92 ãã€ãã® P384 å
¬ééµãš 1,088 ãã€ãã® Kyber-768 æå·æãå«ãŸããŠããŸãã wolfSSH ã¯ã©ã€ã¢ã³ã ã¯ã©ã€ã¢ã³ãã®åºå (é¢é£ã®ãªãæ
å ±ã¯çç¥) ã¯ä»¥äžã®ããã«ãªããŸãã $ ./examples/sftpclient/wolfsftp -p 22 -u panos -i panos_priv_key_DER_file -j panos_public_key_PEM_file -h s-9999999999999999999.server.transfer.us-west-2.amazonaws.com [...] 2023-05-25 17:37:24 [DEBUG] SSH-2.0-wolfSSHv1.4.12 [...] 2023-05-25 17:37:24 [DEBUG] DNL: name ID = unknown 2023-05-25 17:37:24 [DEBUG] DNL: name ID = unknown 2023-05-25 17:37:24 [DEBUG] DNL: name ID = ecdh-nistp256-kyber-512r3-sha256-d00@openquantumsafe.org 2023-05-25 17:37:24 [DEBUG] DNL: name ID = unknown 2023-05-25 17:37:24 [DEBUG] DNL: name ID = unknown 2023-05-25 17:37:24 [DEBUG] DNL: name ID = unknown 2023-05-25 17:37:24 [DEBUG] DNL: name ID = unknown 2023-05-25 17:37:24 [DEBUG] DNL: name ID = unknown 2023-05-25 17:37:24 [DEBUG] DNL: name ID = diffie-hellman-group-exchange-sha256 [...] 2023-05-25 17:37:24 [DEBUG] connect state: SERVER_KEXINIT_DONE [...] 2023-05-25 17:37:24 [DEBUG] connect state: CLIENT_KEXDH_INIT_SENT [...] 2023-05-25 17:37:24 [DEBUG] Decoding MSGID_KEXDH_REPLY 2023-05-25 17:37:24 [DEBUG] Entering DoKexDhReply() 2023-05-25 17:37:24 [DEBUG] DKDR: Calling the public key check callback Sample public key check callback public key = 0x24d011a public key size = 104 ctx = s-9999999999999999999.server.transfer.us-west-2.amazonaws.com 2023-05-25 17:37:24 [DEBUG] DKDR: public key accepted [...] 2023-05-25 17:37:26 [DEBUG] Entering wolfSSH_get_error() 2023-05-25 17:37:26 [DEBUG] Entering wolfSSH_get_error() wolfSSH sftp> ãã®åºåãããã¯ã©ã€ã¢ã³ãããã¹ãéåãã€ããªããæ¹åŒ ecdh-nistp256-kyber-512r3-sha256-d00@openquantumsafe.org ãããŽã·ãšãŒãããèéå SFTP ã»ãã·ã§ã³ãæ£åžžã«ç¢ºç«ãããããšãããããŸãããã®ã»ãã·ã§ã³ã®ãã±ãããã£ããã£ã¯åè¿°ã®ãã®ãšã»ãŒåæ§ã§ãã ãŸãšã æ¬èšäºã§ã¯ããã¹ãéåæå·ãžã®ç§»è¡ãšãæšæºåãããã¢ã«ãŽãªãºã ããã³ãããã³ã«ã®æ¡çšãéèŠãªçç±ã玹ä»ããŸããããŸããSSH ã«ãã¹ãéåãã€ããªããéµäº€æãå°å
¥ãã AWS ã®ã¢ãããŒããšãTransfer Family ã® SFTP ã§ã®å©ç𿹿³ã«ã€ããŠã説æããŸãããAWS ã¯æå·æè¡ã®å°éå®¶ãšååããŠããã¹ãéåãã€ããªãã SSH éµäº€æã®ãã©ãããçå®ããŠããŸããTransfer Family ã¯ãã® ãã©ãã仿§ ã«æºæ ããŠããŸãã Transfer Family ã§ã®ãã¹ãéåéµäº€æã®äœ¿ç𿹿³ã«ã€ããŠã質åãããå Žåã¯ã Transfer Family for SFTP ãã©ãŒã©ã ã§æ°ããã¹ã¬ãããéå§ããŠãã ãããAWS ã®ãã¹ãéåæå·ã«ã€ããŠè©³ããç¥ãããå Žåã¯ã ãã¹ãéåæå·ããŒã ã«ãåãåãããã ããã æ¬èšäºã«é¢ããã質åã¯ã AWS Security, Identity, & Compliance re:Post ã§æ°ããã¹ã¬ãããéå§ãããã AWS ãµããŒã ãŸã§ãåãåãããã ããã AWS ã»ãã¥ãªãã£ã«é¢ãããã®ä»ã®ãã¥ãŒã¹ã¯ã Twitter ã§ãã©ããŒããŠãã ããã Panos Kampanakis Panos 㯠AWS Cryptography çµç¹ã® Principal Security Engineer ã§ãããµã€ããŒã»ãã¥ãªãã£ãå¿çšæå·æè¡ãã»ãã¥ãªãã£èªååãè匱æ§ç®¡çã«é¢ããè±å¯ãªçµéšãæã£ãŠããŸãããµã€ããŒã»ãã¥ãªãã£ã«é¢ããåºçç©ãå
±åå·çããŠãããã»ãã¥ãªãã£æ
å ±ã®å
±æãæå·æè¡ãPKI ã®ããã®çžäºéçšå¯èœãªãããã³ã«ããã³èšèªã®çå®ã«åãçµãããŸããŸãªã»ãã¥ãªãã£æšæºåå£äœã«åå ããŠããŸãããçŸåšã¯ããšã³ãžãã¢ãæ¥çã®æšæºåããŒãããŒãšååããæå·å®è£
ããããã³ã«ãæšæºã®çå®ã«åãçµãã§ããŸãã Torben Hansen Torben 㯠AWS Cryptography ããŒã ã®æå·æè¡è
ã§ããæå·ã©ã€ãã©ãªã®éçºãšãããã€ã«æ³šåããŠãããAWS å
šäœã«ãããæå·ãœãªã¥ãŒã·ã§ã³ã®èšèšãšåæã«ãè²¢ç®ããŠããŸãã Alex Volanis Alex 㯠AWS ã® Software Development Engineer ã§ã忣ã·ã¹ãã ãæå·æè¡ãèªèšŒããã«ãããŒã«ã®çµéšããããŸããçŸåšã¯ AWS Transfer Family ããŒã ãšååãã瀟å
å€ã®ã客æ§åãã«ã¹ã±ãŒã©ãã«ã§å®å
šãã€é«ããã©ãŒãã³ã¹ãªããŒã¿è»¢éãœãªã¥ãŒã·ã§ã³ãæäŸããŠããŸããã³ãŒãã£ã³ã°ãšåé¡è§£æ±ºã«æ
ç±ã泚ãã§ãããã¹ããŒã®è
åãçžåœãªãã®ã§ãã Gerardo Ravago Gerardo 㯠AWS Cryptography çµç¹ã® Senior Software Development Engineer ã§ããã¹ãéåæå·ãš Amazon Corretto Crypto Provider ã®éçºã«è²¢ç®ããŠããŸãã以å㯠AWS ã§ Storage Gateway ãš DataSync ã«æºãã£ãŠããŸãããä»äºä»¥å€ã§ã¯ãæ
è¡ãéããŠäžçåå°ã®é£ãèžè¡ãæåãæŽå²ã®æ¢æ±ã楜ããã§ããŸãã <!-- '"` --> æ¬ããã°ã¯ Security Solutions Architect ã® äžå³¶ ç« å ã翻蚳ããŸããã
æ¬ããã°ã¯ 2025 幎 7 æ 24 æ¥ã«å
¬éããã AWS Blog â Post-quantum TLS in Python â ã翻蚳ãããã®ã§ãã Amazon Web Services (AWS) ã§ã¯ãã»ãã¥ãªãã£ãæåªå
äºé
ã§ããããŒã¿ã®æ©å¯æ§ãç¶æããããšã¯ãAWS ãšã客æ§ã®éçšç°å¢ã»ãã¥ãªãã£ã«ãããŠéèŠãªèŠçŽ ã§ãããŸã å®çŸããŠããŸããããæå·è§£èªèœåãæã€éåã³ã³ãã¥ãŒã¿ (CRQC: cryptographically relevant quantum computer) ãç»å Žããã°ãçŸåšäœ¿çšãããŠããå
¬ééµã¢ã«ãŽãªãºã ãç ŽããããŒã¿ã®æ©å¯æ§ãè
ããå¯èœæ§ããããŸããããããè
åšã«åãããããç±³åœåœç«æšæºæè¡ç ç©¶æ (NIST) 㯠2016 幎ã«CRQC ã«èæ§ã®ããæ°ããæå·ã¢ã«ãŽãªãºã ã® æšæºåã«åãããããŸãã ã2024幎8æãæå·ã³ãã¥ããã£ã«ãã8幎éã®å³å¯ãªå¯©æ»ãçµãŠãNIST ã¯åŸæ¥ã®å
¬ééµã¢ã«ãŽãªãºã ãè£å®ããæçµçã«çœ®ãæããããã®3ã€ã®ãã¹ãéåæå· (PQC) æšæºãéžå®ããŸããããã®äžã«ã¯ FIPS 203 ã® ML-KEM ãå«ãŸããŠããŸãã æè¿ã®ããã€ãã® AWS Blog èšäºã§ã¯ãAWS ã«ããã PQCãç¹ã« ML-KEM ã䜿çšãããã¹ãéå TLS ã«ã€ããŠèª¬æããŠããŸãã ãã¹ãéå TLS ãšã¯äœããã©ã®ããã«æ©èœããã ãã¹ãéå TLS ããã©ãŒãã³ã¹ã®è©³çް AWS SDK for Java v2 ã§ã®ãã¹ãéå TLS ã®äœ¿çš AWS PQC ç§»è¡èšç» ãã®èšäºã§ã¯ãPython ã¢ããªã±ãŒã·ã§ã³ã§ãã¹ãéå TLS ããã¹ãããæ¹æ³ã玹ä»ããŸãã Python ã§ã®ãã¹ãéå TLS ã®ãã¹ã å¥ã®èšäº ã§è©³ãã説æãããŠããããã«ãAWS ã¯çŸåšãããŒã¿ã®æ©å¯æ§ã«å¯Ÿããå€å±€é²åŸ¡ãæäŸãããããåŸæ¥ã®éµäº€æãš ML-KEM ã䜵çšãããã€ããªããæ§æã§ãã¹ãéå TLS ãæäŸããŠããŸããML-KEM ã¯åŸæ¥ã®æ¹åŒãããã¯ããã«å€§ããªéµã䜿çšããããããã€ããªãã TLS ãã³ãã·ã§ã€ã¯ã§ã¯æ¥ç¶ç¢ºç«æã«ããå€ãã®ããŒã¿ãéåä¿¡ããŸããä»ã®ãããã³ã«æŽæ°ãšåæ§ã«ãã»ãã¥ãªãã£ã¢ãã©ã€ã¢ã³ã¹ããããã¯ãŒã¯ããã€ã¹ããããã®æ¥ç¶ãé©åã«åŠçã§ããããšãæ€èšŒããããã«ããããã¯ãŒã¯ã§ãã€ããªãã TLS ããã¹ãããããšãéèŠã§ãããã®ãããªãã¹ãã«ãAWS ãæäŸãããµã³ãã«ããã²ã掻çšãã ããã ãã€ããªãã TLS ãããŽã·ãšãŒãããã«ã¯ãæ¥ç¶ã® 䞡端 (ã¯ã©ã€ã¢ã³ããšãµãŒããŒ) ã«ãã¹ãéå察å¿ãœãããŠã§ã¢ãå¿
èŠã§ããAWS ã¯çŸåšããµãŒããŒåŽã§ãã€ããªãã TLS ã® å°å
¥ãé²ããŠããŸã ãã¯ã©ã€ã¢ã³ãåŽã§ã¯ããã€ããªãã TLS ãæå¹ã«ããæ¹æ³ã¯ SDK ã®èšèª ããšã«è¥å¹²ç°ãªããŸãã AWS SDK for Python (Boto3) ã¯ãTLS ã« Python ã€ã³ã¿ãŒããªã¿ãŒã® ssl ã¢ãžã¥ãŒã«ã䜿çšããŠããããã®ã¢ãžã¥ãŒã«ã¯ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®æå·ã©ã€ãã©ãªã䜿çšããŸããã»ãšãã©ã® Linux ãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ã¯ããã㯠OpenSSL ã§ããOpenSSL ã¯æè¿ããã€ããªãã TLS ã®ãµããŒãã çºè¡š ããããŒãžã§ã³ 3.5 ã§ã¯ããã©ã«ãã§æå¹ã«ãªã£ãŠããŸãããã ããOpenSSL 3.5 ã¯ãŸã ã»ãšãã©ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ããã©ã«ãã«ãªã£ãŠããŸããã ãã¹ããå¯èœã«ãããããæšæºã® Python ãã£ã¹ããªãã¥ãŒã·ã§ã³ãšäžç·ã« OpenSSL 3.5 ãã€ã³ã¹ããŒã«ãã Dockerfile ãæäŸããŠããŸããããã«ãããPython ã¢ããªã±ãŒã·ã§ã³ã§ãã¹ãéåãã€ããªãã TLS æ¥ç¶ãå®è¡ã§ããŸãããã® Dockerfile ã«ã¯ã boto3 ã requests ãªã©ã®äžè¬çãªããã±ãŒãžãã€ã³ã¹ããŒã«ãããŠããŸããAWS ãµãŒãã¹ ( boto3 ãš AWS ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ (AWS CLI) ã䜿çš)ãä»»æã® HTTPS ãšã³ããã€ã³ã ( requests ã䜿çš)ãTLS ã§ä¿è·ããã TCP ãµãŒã㌠(Python ã®æšæºã©ã€ãã©ãª ssl ã¢ãžã¥ãŒã«ã䜿çš) ãšã®åºæ¬çãªããåããè¡ããµã³ãã« Python ã³ãŒããæäŸããŠããŸãã 以äžã®ã»ã¯ã·ã§ã³ã§ã¯ããã® Dockerfile ã䜿çšã㊠Python ã¢ããªã±ãŒã·ã§ã³ãã AWS ãµãŒãã¹ãžã®ãã¹ãéå TLS æ¥ç¶ããã¹ãããæ¹æ³ã説æããŸãã ã³ã³ããã®ãã«ã ãã®ã³ã³ããã¯ããŒã«ã«ãã·ã³ã§ãã«ãããããšãã Amazon Elastic Compute Cloud (Amazon EC2) ã AWS CloudShell ãªã©ã®ã¯ã©ãŠãç°å¢ã§ãã«ãããããšãã§ããŸãããªããã䜿ãã®ãã·ã³ãš AWS éã®ãããã¯ãŒã¯ãã¹ãæ€èšŒãããå Žåã¯ãã³ã³ãããããŒã«ã«ã§ãã«ãããŠå®è¡ããå¿
èŠããããŸããã³ã³ããããã«ãããããã®å¯äžã®åææ¡ä»¶ã¯ãDocker (ãŸãã¯åçã®ã³ã³ããããŒã«) ãã€ã³ã¹ããŒã«ãããŠããããšã§ããç°¡åã«ããããã以äžã®æé ã§ã¯äž»ã« Linux CloudShell ç°å¢ã§ãããã®ã³ãã³ããå®è¡ããããšãæ³å®ããŠããŸãã ãµã³ãã«ãªããžã㪠ãã¯ããŒã³ããŸãã git clone https://github.com/aws-samples/sample-post-quantum-tls-python ãµã³ãã«ã®ãã£ã¬ã¯ããªã«ç§»åãã以äžã®ã³ãã³ããå®è¡ããŠã³ã³ããããã«ãããŸãã cd sample-post-quantum-tls-python && docker build . -t pq-tls-python ã³ã³ããã®å®è¡ åè¿°ã®ãµã³ãã«ãå®è¡ããã«ã¯ã以äžã®ã³ãã³ããå®è¡ããŸãã docker run --rm \ -e AWS_ACCESS_KEY_ID=$(aws configure get aws_access_key_id) \ -e AWS_SECRET_ACCESS_KEY=$(aws configure get aws_secret_access_key) \ -it pq-tls-python \ test.sh äžèšã®ã³ãã³ãã¯ã AWS Secrets Manager ã® ListSecrets API ãåŒã³åºãæš©éãæã€ AWS CLI ã®ããã©ã«ããããã¡ã€ã«ãèšå®ãããŠããããšãåæãšããŠããŸãããã®æš©éãããã°ãSecrets Manager ã®ãã¹ãéåå¯Ÿå¿ API ãšã³ããã€ã³ãã«å¯ŸããŠãæ©å¯æ
å ±ãã·ãŒã¯ã¬ããå€ãè¿ããªãåºæ¬çãªèªã¿åãå°çšã®ãã¹ãåŒã³åºããè¡ãããšãã§ããŸããCloudShell ã§ã¯ã aws configure ã§ã¢ã¯ã»ã¹ããŒãšã·ãŒã¯ã¬ããããŒã®å€ãèšå®ããå¿
èŠããããŸããAmazon EC2 ã§ã¯ã ã€ã³ã¹ã¿ã³ã¹ãããã¡ã€ã«ãèšå® ããŠãã¢ã¯ã»ã¹ããŒãšã·ãŒã¯ã¬ããããŒã®ç°å¢å€æ°ãäžèŠã«ã§ããŸãã Python ã䜿çšããæå·ã©ã€ãã©ãªã®ååãšããŒãžã§ã³ãåºåããåŸã test.sh ã¯ä»¥äžã®é åºã§ãã€ããªãã TLS æ¥ç¶ããã¹ãããŸãã Python ã® socket ã¢ãžã¥ãŒã«ãš ssl ã¢ãžã¥ãŒã«ã䜿çšãã TCP ãœã±ããéä¿¡ requests ã©ã€ãã©ãªã䜿çšãã HTTP ãªã¯ãšã¹ãã®å®è¡ boto3 ãš AWS CLI ã䜿çšãã AWS API ãªã¯ãšã¹ãã®å®è¡ ãã¹ããæåãããšã以äžã®åºåã衚瀺ãããŸãã Crypto library: OpenSSL 3.5.0 8 Apr 2025 Testing ssl socket... ok Testing requests... ok Testing boto3... ok Testing AWS CLI... ok å¿
èŠã«å¿ããŠã tests/ ãã£ã¬ã¯ããªå
ã®ãµã³ãã«ã確èªã倿Žãæ¡åŒµã§ããŸããæäŸãããŠãã test.sh ã¹ã¯ãªãããå®è¡ãã代ããã«ã以äžã®ã³ãã³ãã§å¯Ÿè©±åã·ã§ã«ã«ã¢ã¯ã»ã¹ã§ããŸãã docker run --rm -it pq-tls-python ãã¹ãçšã«ãã¡ã€ã«ã远å ãŸãã¯å€æŽããå Žåã¯ãå¿
ãã³ã³ãããåãã«ãããŠãã ããã ãã¹ãéå TLS ããŽã·ãšãŒã·ã§ã³ã®ç¢ºèª ãã¹ãéåãã€ããªãã TLS ãããŽã·ãšãŒããããããšã確èªããã«ã¯ããµã³ãã«ã® TLS ãã³ãã·ã§ã€ã¯ãæ€æ»ããŠããã¹ãéåãã€ããªãã TLS éµäº€æãå®è¡ãããããšã確èªããŸãããããè¡ãã«ã¯ããã¹ãã®ãããã¯ãŒã¯ãã©ãã£ãã¯ããã£ããã£ããå¿
èŠããããŸããCloudShell ã§ã¯ã以äžã®ã³ãã³ãã䜿çšããŠãã£ããã£ã§ããŸãã sudo tcpdump -A -i docker0 -w pq_tls.pcap ãã®ã³ãã³ãã«ãããDocker ã®ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ docker0 äžã®ãã©ãã£ãã¯ããã£ããã£ãããŸããã³ã³ãããããŒã«ã«ã§å®è¡ããŠããå Žåã¯ãLinux ã® docker0 ã MacOS ã® en0 ãªã©ã®ããŒã«ã«ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ã§ Wireshark ã® GUI ã䜿çšããŠãã±ãããã£ããã£ãå®è¡ããããšãã§ããŸãã æ¬¡ã«ãå¥ã®ã¿ãŒããã«ã§ã ã³ã³ããã®å®è¡ ãã»ã¯ã·ã§ã³ã® Docker run ã³ãã³ãã䜿çšããŠãã¹ãã¹ã€ãŒããå®è¡ããŸããåè¿°ãšåæ§ã«ãã¿ãŒããã«ã«æåã¡ãã»ãŒãžã衚瀺ããã tcpdump ã䜿çšããŠããå Žå㯠pq_tls.pcap ãšããååã®æ°ãããã¡ã€ã«ãäœæãããŸãããã®ãã¡ã€ã«ã CloudShell ãã ããŠã³ããŒã ããŠãããŒã«ã«ã® Wireshark ã§è¡šç€ºã§ããŸããå
·äœçã«ã¯ãã¯ã©ã€ã¢ã³ããŸãã¯ãµãŒããŒã® Hello ãã³ãã·ã§ã€ã¯ã¡ãã»ãŒãžå
ã® key_share æ¡åŒµã確èªããŸããWireshark ã䜿çšããŠãã±ãããã£ããã£ã衚瀺ããå Žåã¯ã衚瀺ãã£ã«ã¿ãŒ tls.handshake ãæå®ããŠããã³ãã·ã§ã€ã¯ã¡ãã»ãŒãžã®ã¿ã衚瀺ã§ããŸãããã±ãããã£ããã£ã¯å³ 1 ã®ããã«ãªããŸãã å³ 1: Wireshark ã§ã®ãã±ãããã£ããã£è¡šç€º å³ 1 ã§ã¯ããµãŒããŒã® Hello ãã³ãã·ã§ã€ã¯ã¡ãã»ãŒãžã§ X25519MLKEM768 ãéžæãããŠããããã¹ãéåãã€ããªãã TLS ãæ£åžžã«ããŽã·ãšãŒããããããšãããããŸãã ãŸãšã ãã®èšäºã§ã¯ãDockerfile ã䜿çšã㊠Python ã§ãã¹ãéåãã€ããªãã TLS ããã¹ãããæ¹æ³ã玹ä»ããŸããããã® AWS ãµã³ãã« ã䜿çšãããšã以äžã®éä¿¡ã§ãã¹ãéåãã€ããªãã TLS æ¥ç¶ããã¹ãã§ããŸãã boto3 ãŸã㯠AWS CLI ã䜿çšãã AWS API ãªã¯ãšã¹ã requests ã䜿çšããäžè¬ç㪠HTTPS ãªã¯ãšã¹ã Python ã® socket ã¢ãžã¥ãŒã«ãš ssl ã¢ãžã¥ãŒã«ã䜿çšãã TLS ã§ä¿è·ããã TCP ãœã±ããéä¿¡ ä»åŸã®ãã¹ãéåãã€ããªãã TLS ç§»è¡ã«åããŠããã® AWS ãµã³ãã«ã䜿çšããŠãããã¯ãŒã¯ãš Python ã¢ããªã±ãŒã·ã§ã³ã®æ€èšŒãéå§ããããšããå§ãããŸããAWS ã¯ã客æ§ã®ç§»è¡ããµããŒãããããšã«å°œåããŠããããã¹ãéåãã€ããªãã TLS ãäŸå€ã§ã¯ãããŸããã ãã®èšäºã«ã€ããŠã質åãããå Žåã¯ã AWS ãµããŒã ã«ãåãåãããã ããã Will Childs-Klein Will 㯠AWS Cryptography ã®ã·ãã¢ãœãããŠã§ã¢ãšã³ãžãã¢ã§ãæå·ã©ã€ãã©ãªã®éçºããœãããŠã§ã¢ããã©ãŒãã³ã¹ã®æé©åããã¹ãéåæå·ã®å®çšåã«æ³šåããŠããŸãã以å㯠AWS ã§ Storage GatewayãElastic File SystemãDataSync ãªã©ã®ããŒã¿ã¹ãã¬ãŒãžããã³è»¢éãµãŒãã¹ã«æºãã£ãŠããŸããã æ¬ããã°ã¯ Security Solutions Architect ã® äžå³¶ ç« å ã翻蚳ããŸããã
æ¬ããã°ã¯ 2022 幎 7 æ 5 æ¥ã«å
¬éããã AWS Blog â How to tune TLS for hybrid post-quantum cryptography with Kyber â ã翻蚳ãããã®ã§ãã 2024 幎 1 æ 30 æ¥: ãã®ããã°èšäºã® API ã¯ãAWS CRT Client ã®æ°ããããŒãžã§ã³ã§å€æŽãããŸããã 詳现ã«ã€ããŠã¯ãã¡ãã®ããŒãžãåç
§ããŠãã ãã ã 2023 幎 1 æ 25 æ¥: AWS KMSãACMãSecrets Manager ã® TLS ãšã³ããã€ã³ãã¯ãNIST ã®ã©ãŠã³ã 3 ã§éžå®ããã KEM ã§ãã Kyber ã®ã¿ããµããŒãããããã«æŽæ°ãããŸããã s2n-tls ãš s2n-quic ã Kyber ã®ã¿ããµããŒãããããã«æŽæ°ãããŸãããæšæºåã®é²è¡ã«äŒŽããBIKE ããã®ä»ã® KEM ã远å ãããå¯èœæ§ããããŸãã 2022 幎 8 æ 3 æ¥: ãã®èšäºã¯ Secrets Manager ã®æ
å ±ãå«ãããã«æŽæ°ãããŸããã AWS ã¯ã AWS Key Management Service (AWS KMS) ã AWS Secrets Manager ã AWS Certificate Manager (ACM) ãžã®æ¥ç¶ã« Kyber ã䜿çšãããã€ããªãããã¹ãéå TLS ãæäŸããŠããŸãããã®ããã°èšäºã§ã¯ããã€ããªãããã¹ãéå Kyber å®è£
ã®ããã©ãŒãã³ã¹ç¹æ§ã玹ä»ããMaven ãããžã§ã¯ãã§ã®èšå®æ¹æ³ã説æããKyber ãã¹ãéåæå· (PQC) ã«åããæ¥ç¶èšå®ã®æºåã«ã€ããŠè§£èª¬ããŸãã åŠè¡æ©é¢ãæå·ã³ãã¥ããã£ã ç±³åœåœç«æšæºæè¡ç ç©¶æ (NIST) ã®ããŒãããŒã«ãã 5 幎éã®éäžçãªç ç©¶ãšæå·è§£æãçµãŠãNIST ã¯ãã¹ãéåéµã«ãã»ã«åã¡ã«ããºã (KEM) ã®æšæºåã« Kyber ãéžå®ããŸãããããã¯æ¬¡äžä»£ã®å
¬é鵿å·ã®å¹éããæå³ããŸãããããŠãRSA ãæ¥åæ²ç·æå· (ECC) ãªã©çŸåšäœ¿çšãããŠããåŸæ¥ã®éµç¢ºç«ã¢ã«ãŽãªãºã ã¯ãéåèæ§ã®ããä»£æ¿ææ®µã«çœ®ãæããããããšã«ãªããŸããAWS Cryptography ããŒã ã¯ãNIST éžå®ããã»ã¹ã®åã©ãŠã³ããéããŠåè£ KEM ã®ç ç©¶ãšåæãè¡ã£ãŠããŸãããAWS 㯠ã©ãŠã³ã 2 ãã Kyber ã®ãµããŒããéå§ããçŸåšããã®ãµããŒããç¶ç¶ããŠããŸãã RSA ã ECC ãè§£èªã§ããæå·è§£èªèœåãæã€éåã³ã³ãã¥ãŒã¿ã¯ãŸã ååšããŸãããããããAWS ã¯çŸåš Kyber ã䜿çšãããã€ããªãããã¹ãéå TLS ãæäŸããŠããŸããããã«ãããã客æ§ã¯ PQC ã®ããã©ãŒãã³ã¹ã®éããã¯ãŒã¯ããŒãã«ã©ã®ãããªåœ±é¿ãäžãããã確èªã§ããŸãããŸããPQC ã䜿çšããããšã§ã AWS KMS ã Secrets Manager ã ACM ãžã®æ¥ç¶ã«ãããæ¢ã«é«ãã»ãã¥ãªãã£åºæºãããã«åäžãããããé·æçãªæ©å¯æ§ãå¿
èŠãšããã客æ§ã«ãšã£ãŠç¹ã«æå¹ãªæ©èœãšãªã£ãŠããŸãã (èš³æ³šïŒæ¬ããã°å·çæç¹ã§ã¯ Kyber ã¯æšæºååã§ãããã2024 幎 8 æã« NIST ã«ãã ML-KEM (Module-Lattice-Based Key-Encapsulation Mechanism, FIPS 203) ãšããŠæ£åŒã«æšæºåãããŸãããAWS KMSãACMãSecrets Manager ã¯çŸåšãæšæºåããã ML-KEM ããµããŒãããŠããŸãã詳现ã¯ã ML-KEM post-quantum TLS now supported in AWS KMS, ACM, and Secrets Manager ããåç
§ããŠãã ããã) Kyber ã䜿çšãããã€ããªãããã¹ãéå TLS ã®ããã©ãŒãã³ã¹ ãã€ããªãããã¹ãéå TLS ã¯ãåŸæ¥ã®æå·ã®ã¿ãšæ¯èŒããŠã¬ã€ãã³ã·ãŒãšåž¯åå¹
ã®ãªãŒããŒããããçºçããŸãããã®ãªãŒããŒããããå®éåããããã«ã s2n-tls ããã€ããªãããã¹ãéå (ECDHE + Kyber) éµç¢ºç«ãš ECDHE åç¬ã®ããŽã·ãšãŒã·ã§ã³ã«ãããæéãæž¬å®ããŸããããã¹ãã¯ãç±³åœæ±éš (ããŒãžãã¢åéš) AWS ãªãŒãžã§ã³ã® Amazon Elastic Compute Cloud (Amazon EC2) c6i.4xlarge ã€ã³ã¹ã¿ã³ã¹äžã§ Linux perf ãµãã·ã¹ãã ã䜿çšããŠå®æœããäžè¬çãªã€ã³ã¿ãŒãããã¬ã€ãã³ã·ãŒãå«ããããã«ç±³åœè¥¿éš (ãªã¬ãŽã³) ãªãŒãžã§ã³ã§çšŒåãããã¹ããµãŒããŒã« 2,000 åã® TLS æ¥ç¶ãéå§ããŸããã å³ 1 ã¯ãåŸæ¥ã® ECDHE ãšãã€ããªãããã¹ãéå (ECDHE + Kyber) éµç¢ºç«ã䜿çšãã TLS ãã³ãã·ã§ã€ã¯ã®ã¬ã€ãã³ã·ãŒã瀺ããŠããŸããåã¯ãã¯ã©ã€ã¢ã³ããšãµãŒããŒãæ¶è²»ãã CPU æéãšããããã¯ãŒã¯çµç±ã§ã®ããŒã¿éä¿¡ã«è²»ãããæéãæ¯èŒã§ããããã«åããŠè¡šç€ºããŠããŸãã å³ 1: åŸæ¥ã® TLS ãã³ãã·ã§ã€ã¯ãšãã€ããªãããã¹ãéå TLS ãã³ãã·ã§ã€ã¯ã®ã¬ã€ãã³ã·ãŒæ¯èŒ å³ 2 ã¯ãåŸæ¥ã® ECDHE ãšãã€ããªãããã¹ãéå (ECDHE + Kyber) éµç¢ºç«ã®äž¡æ¹ã«ã€ããŠãã¯ã©ã€ã¢ã³ãåŽã§æž¬å®ãã TLS ãã³ãã·ã§ã€ã¯äžã®éåä¿¡ãã€ãæ°ã瀺ããŠããŸãã å³ 2: åŸæ¥ã® TLS ãã³ãã·ã§ã€ã¯ãšãã€ããªãããã¹ãéå TLS ãã³ãã·ã§ã€ã¯ã®åž¯åå¹
æ¯èŒ ãã®ããŒã¿ããããã€ããªãããã¹ãéåéµç¢ºç«ã䜿çšããå Žåã®ãªãŒããŒãããã¯ãã¯ã©ã€ã¢ã³ãåŽã§ 0.25 msããµãŒããŒåŽã§ 0.23 msããããã¯ãŒã¯äžã§ 2,356 ãã€ãã远å ãããããšãããããŸãããªãŒãžã§ã³å
ãã¹ãã§ã¯ãããã¯ãŒã¯ã¬ã€ãã³ã·ãŒã¯ããäœããªããŸããã¬ã€ãã³ã·ãŒã¯ããããã¯ãŒã¯ç¶æ³ãCPU ããã©ãŒãã³ã¹ããµãŒããŒè² è·ããã®ä»ã®å€æ°ã«ãã£ãŠãç°ãªãå ŽåããããŸãã çµæã¯ãKyber ã®ããã©ãŒãã³ã¹ãåªããŠããããšã瀺ããŠããŸãã远å ã®ã¬ã€ãã³ã·ãŒã¯ã 以åã®ããã°èšäº ã§åæãã NIST PQC åè£ã®äžã§ãããã¯ã©ã¹ã§ããå®éããããã®æå·ã®ããã©ãŒãã³ã¹ã¯ææ°ã®ãã¹ãã§åäžããŠããŸããããã¯ãx86-64 ã¢ã»ã³ããªæé©åããŒãžã§ã³ã®æå·ãå©çšå¯èœã«ãªã£ãããã§ãã Maven ãããžã§ã¯ãã§ãã€ããªãããã¹ãéå TLS ãèšå®ãã ãã®ã»ã¯ã·ã§ã³ã§ã¯ãKyber ã䜿çšããã¢ã»ã³ããªæé©åæžã¿ã®ãã€ããªãããã¹ãéå TLS ãèšå®ããããã® Maven èšå®ãšã³ãŒãäŸã玹ä»ããŸãã Maven ãããžã§ã¯ãã§ãã€ããªãããã¹ãéå TLS ãèšå®ããã«ã¯ AWS SDK for Java 2.x çš AWS Common Runtime HTTP ã¯ã©ã€ã¢ã³ã ã®ãã¬ãã¥ãŒãªãªãŒã¹ãååŸããŸããMaven ã®äŸåé¢ä¿èšå®ã§ã¯ã以äžã®ã³ãŒããµã³ãã«ã«ç€ºãããã«ããŒãžã§ã³ 2.17.69-PREVIEW 以éãæå®ããå¿
èŠããããŸãã <dependency> <groupId>software.amazon.awssdk</groupId> aws-crt-client <version>[2.17.69-PREVIEW,]</version> </dependency> ã³ãŒãã®åæåæã«ç®çã®æå·ã¹ã€ãŒããèšå®ããŸãã以äžã®ã³ãŒããµã³ãã«ã¯ãææ°ã®ãã€ããªãããã¹ãéåæå·ã¹ã€ãŒãã䜿çšããããã« AWS KMS ã¯ã©ã€ã¢ã³ããèšå®ããæ¹æ³ã瀺ããŠããŸãã // Check platform support if(!TLS_CIPHER_PREF_PQ_TLSv1_0_2021_05.isSupported()){ throw new RuntimeException("Hybrid post-quantum cipher suites are not supported."); } // Configure HTTP client SdkAsyncHttpClient awsCrtHttpClient = AwsCrtAsyncHttpClient.builder() .tlsCipherPreference(TLS_CIPHER_PREF_PQ_TLSv1_0_2021_05) .build(); // Create the AWS KMS async client KmsAsyncClient kmsAsync = KmsAsyncClient.builder() .httpClient(awsCrtHttpClient) .build(); ããã§ãAWS KMS ã¯ã©ã€ã¢ã³ãã§è¡ããããã¹ãŠã®åŒã³åºãããã€ããªãããã¹ãéå TLS ã䜿çšããããã«ãªããŸããäžèšã®äŸãšåæ§ã«ã AcmAsyncClient ãŸã㯠AWSSecretsManagerAsyncClient ã䜿çšããããšã§ãACM ã Secrets Manager ã§ãææ°ã®ãã€ããªãããã¹ãéåæå·ã¹ã€ãŒãã䜿çšã§ããŸãã ãã€ããªãããã¹ãéå TLS ã®æ¥ç¶èšå®ããã¥ãŒãã³ã°ãã ãã€ããªãããã¹ãéå TLS ã¯ååãã³ãã·ã§ã€ã¯æã«ã¬ã€ãã³ã·ãŒãšåž¯åå¹
ã®ãªãŒããŒããããçºçããŸããããã®ã³ã¹ã㯠TLS ã»ãã·ã§ã³ã®æéå
šäœã§åæ£ã§ããæ¥ç¶èšå®ã埮調æŽããããšã§ããã«åæžã§ããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ããã€ããªãã PQC ã TLS æ¥ç¶ã«äžãã圱é¿ã軜æžãã 3 ã€ã®æ¹æ³ãšããŠãæ¥ç¶ããŒãªã³ã°ãæ¥ç¶ã¿ã€ã ã¢ãŠããTLS ã»ãã·ã§ã³åéã«ã€ããŠèª¬æããŸãã æ¥ç¶ããŒãªã³ã° æ¥ç¶ããŒã«ã¯ããµãŒããŒãžã®ã¢ã¯ãã£ããªæ¥ç¶æ°ã管çããŸããæ¥ç¶ãéããŠå床éãããšãªãåå©çšã§ãããããæ¥ç¶ç¢ºç«ã®ã³ã¹ããæéã®çµéãšãšãã«åæ£ã§ããŸããæ¥ç¶ã»ããã¢ããæéã®äžéšã¯ TLS ãã³ãã·ã§ã€ã¯ã§ãããããæ¥ç¶ããŒã«ã䜿çšããããšã§ãã³ãã·ã§ã€ã¯ã¬ã€ãã³ã·ãŒã®å¢å ã«ãã圱é¿ã軜æžã§ããŸãã ããã説æããããã«ããã¹ããµãŒããŒã«å¯ŸããŠæ¯ç§çŽ 200 ãã©ã³ã¶ã¯ã·ã§ã³ãçæãããã¹ãã¢ããªã±ãŒã·ã§ã³ãäœæããŸãããHTTP ã¯ã©ã€ã¢ã³ãã®æå€§åææ¥ç¶æ°èšå®ã倿Žãããã¹ããªã¯ãšã¹ãã®ã¬ã€ãã³ã·ãŒã枬å®ããŸãããAWS CRT HTTP ã¯ã©ã€ã¢ã³ãã§ã¯ããã㯠maxConcurrency èšå®ã§ããæ¥ç¶ããŒã«ã«ã¢ã€ãã«ç¶æ
ã®æ¥ç¶ããªãå Žåããªã¯ãšã¹ãã¬ã€ãã³ã·ãŒã«ã¯æ°ããæ¥ç¶ã®ç¢ºç«æéãå«ãŸããŸããWireshark ã䜿çšããŠãããã¯ãŒã¯ãã©ãã£ãã¯ããã£ããã£ããã¢ããªã±ãŒã·ã§ã³ã®å®è¡æéäžã«çºçãã TLS ãã³ãã·ã§ã€ã¯ã®æ°ã芳å¯ããŸãããå³ 3 ã¯ã maxConcurrency èšå®ãå¢å ãããå Žåã®ãªã¯ãšã¹ãã¬ã€ãã³ã·ãŒãš TLS ãã³ãã·ã§ã€ã¯æ°ã瀺ããŠããŸãã å³ 3: åææ¥ç¶ããŒã«ãµã€ãºã®å¢å ã«äŒŽããªã¯ãšã¹ãã¬ã€ãã³ã·ãŒã®äžå€®å€ãš TLS ãã³ãã·ã§ã€ã¯æ° æã倧ããªã¬ã€ãã³ã·ãŒæ¹åã¯ã maxConcurrency å€ã 1 ãã倧ããå Žåã«çºçããŸããããã以äžã§ã¯ãã¬ã€ãã³ã·ãŒã®æ¹å广ã¯é æã¡ã«ãªããŸããã maxConcurrency å€ã 10 以äžã®ãã¹ãŠã®ã±ãŒã¹ã§ãæ¥ç¶å
ã§è¿œå ã® TLS ãã³ãã·ã§ã€ã¯ãçºçããŸããããã¬ã€ãã³ã·ãŒã®äžå€®å€ã«ã¯ããŸã圱é¿ããŸããã§ããããããã®å€æ²ç¹ã¯ã¢ããªã±ãŒã·ã§ã³ã®ãªã¯ãšã¹ãéã«ãã£ãŠç°ãªããŸããéèŠãªãã€ã³ãã¯ãæ¥ç¶ããŒãªã³ã°ã«ããæ¥ç¶ãåå©çšã§ããTLS ããŽã·ãšãŒã·ã§ã³æéã®å¢å ã³ã¹ããå€ãã®ãªã¯ãšã¹ãã«åæ£ã§ãããšããããšã§ãã maxConcurrency ãªãã·ã§ã³ã®äœ¿ç𿹿³ã®è©³çްã«ã€ããŠã¯ã AWS SDK for Java API ãªãã¡ã¬ã³ã¹ ãåç
§ããŠãã ããã æ¥ç¶ã¿ã€ã ã¢ãŠã æ¥ç¶ã¿ã€ã ã¢ãŠãã¯æ¥ç¶ããŒãªã³ã°ãšé£æºããŠæ©èœããŸããæ¥ç¶ããŒã«ã䜿çšããŠããŠããã¢ã€ãã«ç¶æ
ã®æ¥ç¶ãããŒã«ã«ãã£ãŠéãããããŸã§ã®æéã«ã¯å¶éããããŸãããã®æéå¶éã調æŽããããšã§ãæ¥ç¶ç¢ºç«ã®ãªãŒããŒããããåæžã§ããŸãã ãã®èšå®ãèŠèŠåããè¯ãæ¹æ³ã¯ãããŒã¹ãçãªãã©ãã£ãã¯ãã¿ãŒã³ãæ³åããããšã§ããæ¥ç¶ããŒã«ã®åææ¥ç¶æ°ããã¥ãŒãã³ã°ããŠããããŒã¹ãæéãã¢ã€ãã«æéå¶éããé·ããããæ¥ç¶ãéãç¶ããŠããŸããŸããæå€§ã¢ã€ãã«æéãå¢ããããšã§ãããŒã¹ãçãªåäœã«ããããããããããã®æ¥ç¶ãåå©çšã§ããŸãã æ¥ç¶ã¿ã€ã ã¢ãŠãã®åœ±é¿ãã·ãã¥ã¬ãŒãããããã«ã10 åã®ã¹ã¬ãããèµ·åããããããã 1 åéã«ããã£ãŠ 5 ç§ããšã®å®æã¹ã±ãžã¥ãŒã«ã§åæã«ã¢ã¯ãã£ãã«ãªããã¹ãã¢ããªã±ãŒã·ã§ã³ãäœæããŸãããåã¹ã¬ãããç¬èªã®æ¥ç¶ãæãŠãããã« maxConcurrency ã 10 ã«èšå®ããŸãããAWS CRT HTTP ã¯ã©ã€ã¢ã³ãã® connectionMaxIdleTime ãæåã®ãã¹ãã§ã¯ 1 ç§ã«ã2 çªç®ã®ãã¹ãã§ã¯ 10 ç§ã«èšå®ããŸããã æå€§ã¢ã€ãã«æéã 1 ç§ã®å ŽåãåããŒã¹ãéã®æéäžã« 10 åãã¹ãŠã®ã¹ã¬ããã®æ¥ç¶ãéããããŸããããã®çµæããã¹ãæéäžã«åèš 100 åã®æ¥ç¶ã圢æããããªã¯ãšã¹ãã¬ã€ãã³ã·ãŒã®äžå€®å€ã¯ 20.3 ms ã«ãªããŸãããæå€§ã¢ã€ãã«æéã 10 ç§ã«å€æŽãããšãæåã® 10 åã®æ¥ç¶ãåŸç¶ã®åããŒã¹ãã§åå©çšããããªã¯ãšã¹ãã¬ã€ãã³ã·ãŒã®äžå€®å€ã¯ 5.9 ms ã«æžå°ããŸããã ã¢ããªã±ãŒã·ã§ã³ã«é©ãã connectionMaxIdleTime ãèšå®ããããšã§ãTLS ããŽã·ãšãŒã·ã§ã³æéãå«ãæ¥ç¶ç¢ºç«ã®ãªãŒããŒããããåæžããã¢ããªã±ãŒã·ã§ã³ã®ã©ã€ããµã€ã¯ã«å
šäœã§æéãç¯çŽã§ããŸãã connectionMaxIdleTime ãªãã·ã§ã³ã®äœ¿ç𿹿³ã®è©³çްã«ã€ããŠã¯ã AWS SDK for Java API ãªãã¡ã¬ã³ã¹ ãåç
§ããŠãã ããã TLS ã»ãã·ã§ã³åé TLS ã»ãã·ã§ã³åéã«ãããã¯ã©ã€ã¢ã³ããšãµãŒããŒã¯æ°ããå
±æã·ãŒã¯ã¬ããã確ç«ããããã«éåžžå®è¡ãããéµåæããã€ãã¹ã§ããŸãã代ããã«ã以åã«ããŽã·ãšãŒããããå
±æã·ãŒã¯ã¬ããããŸãã¯ä»¥åã®ã·ãŒã¯ã¬ããããæŽŸçããå
±æã·ãŒã¯ã¬ããã䜿çšããŠéä¿¡ãè¿
éã«åéããŸã (å®è£
ã®è©³çްã¯äœ¿çšããŠãã TLS ã®ããŒãžã§ã³ã«ãã£ãŠç°ãªããŸã)ããã®æ©èœã¯ã¯ã©ã€ã¢ã³ããšãµãŒããŒã®äž¡æ¹ããµããŒãããŠããå¿
èŠããããŸãããå©çšå¯èœãªå ŽåãTLS ã»ãã·ã§ã³åéã«ããããã€ããªãããã¹ãéå TLS ã«é¢é£ãããã³ãã·ã§ã€ã¯æéãšåž¯åå¹
ã®å¢å ãè€æ°ã®æ¥ç¶ã®ã©ã€ããµã€ã¯ã«å
šäœã§åæ£ã§ããŸãã ãŸãšã ãã®èšäºã§èª¬æããããã«ãKyber ã䜿çšãããã€ããªãããã¹ãéå TLS 㯠AWS KMSãSecrets ManagerãACM ã§å©çšå¯èœã§ãããã®æ°ããæå·ã¹ã€ãŒãã«ããã»ãã¥ãªãã£åºæºãåäžããã¯ãŒã¯ããŒãããã¹ãéåæå·ã«åããããšãã§ããŸãããã€ããªããéµåæã¯åŸæ¥ã® ECDHE ãšæ¯èŒããŠè¿œå ã®ãªãŒããŒãããããããŸãããæ¥ç¶ããŒãªã³ã°ãæ¥ç¶ã¿ã€ã ã¢ãŠããTLS ã»ãã·ã§ã³åéãªã©ã®æ¥ç¶èšå®ããã¥ãŒãã³ã°ããããšã§ããããã®å¢å ã軜æžã§ããŸãã AWS KMS ã Secrets Manager ã ACM ã§ä»ãããã€ããªããéµåæã®äœ¿çšãéå§ããŸãããã Brian Jarvis Brian 㯠AWS Cryptography ã®ã·ãã¢ãœãããŠã§ã¢ãšã³ãžãã¢ã§ãããã¹ãéåæå·ãšæå·ããŒããŠã§ã¢ã«é¢å¿ãæã£ãŠããŸãã以å㯠AWS Security ã§ã瀟å
å
šäœã§äœ¿çšãããå
éšãµãŒãã¹ã®éçºã«æºãã£ãŠããŸãããBrian 㯠Vanderbilt University ã§åŠå£«å·ããGeorge Mason University ã§ã³ã³ãã¥ãŒã¿ãšã³ãžãã¢ãªã³ã°ã®ä¿®å£«å·ãååŸããŠããŸããããã€ããå士å·ãååŸããäºå®ã§ãã æ¬ããã°ã¯ Security Solutions Architect ã® äžå³¶ ç« å ã翻蚳ããŸããã
åç»
該åœããã³ã³ãã³ããèŠã€ãããŸããã§ãã







