Home > Àüü±â»ç

ÆäÀ̽ººÏ, TLS 1.3 ¶óÀ̺귯¸® ÇÇÁ ¿ÀǼҽº·Î Àüȯ

ÀÔ·Â : 2018-08-08 14:22
ÆäÀ̽ººÏ º¸³»±â Æ®À§ÅÍ º¸³»±â ³×À̹ö ¹êµå º¸³»±â Ä«Ä«¿À ½ºÅ丮 º¸³»±â ³×À̹ö ºí·Î±× º¸³»±â
ÇÇÁî, ÆäÀ̽ººÏÀÌ ³»ºÎ ÀÎÇÁ¶ó¿¡ ¸ÕÀú Àû¿ëÇß´ø TLS 1.3 ¶óÀ̺귯¸®
TLS 1.3°ú ÇÇÁî ¸ðµÎ Åë½Å È¿À²¼º ³ô¿©...ÆäÀ̽ººÏÀº ¡°10% Áõ°¡Çß´Ù¡±


[º¸¾È´º½º ¹®°¡¿ë ±âÀÚ] ÆäÀ̽ººÏÀÌ ¹Ì±¹ ÇöÁö ½Ã°¢À¸·Î ¿ù¿äÀÏ ÇÇÁî(Fizz)¶ó´Â TLS ¶óÀ̺귯¸®¸¦ ¿ÀǼҽºÈ­ ÇÏ°Ú´Ù°í ¹ßÇ¥Çß´Ù. ÇÇÁî´Â C++14·Î ÀÛ¼ºµÈ ¶óÀ̺귯¸®·Î, TLSÀÇ °¡Àå ÃֽŠ¹öÀüÀÎ 1.3À» Æ÷ÇÔÇÏ°í ÀÖ´Ù.

[À̹ÌÁö = iclickart]


ÇÇÁî´Â ÀÌ¹Ì ÆäÀ̽ººÏÀÇ ¸ð¹ÙÀÏ ¾Û°ú ºÎÇÏ ºÐ»ê ÀåÄ¡(load balancer), ³»ºÎ ¼­ºñ½º¿¡ ÀÌ¹Ì ÀüºÎ Àû¿ëµÇ¾î ÀÖÀ¸¸ç, ÇÏ·ç¿¡µµ ¼ö¹é¸¸ °Ç¾¿ ¹ß»ýÇÏ´Â TLS 1.3 ÇÚµå¼ÎÀÌÅ©¸¦ ó¸®ÇÏ´Â ±â´ÉÀ» °¡Áö°í ÀÖ´Ù. ÆäÀ̽ººÏÀ̶ó´Â °Å´ë ÀÎÇÁ¶ó ³»¿¡¼­´Â ÀÌ¹Ì »ç¿ëµÇ°í ÀÖ¾ú´ø °ÍÀÌ, ¿ÜºÎ·Î °ø°³µÈ °ÍÀÌ´Ù.

ÇöÀç ÆäÀ̽ººÏÀÇ ÀÎÅÍ³Ý Æ®·¡ÇÈ Áß 50%´Â TLS 1.3ÀÌ Àû¿ëµÇ¾î ÀÖ°í, ÆäÀ̽ººÏ ¸ð¹ÙÀÏ ¾ÛÀÇ °æ¿ì´Â TLS 1.3ÀÇ 0-RTT¸¦ È°¿ë Áß¿¡ ÀÖ´Ù°í ÇÑ´Ù. ÆäÀ̽ººÏÀº ¡°ÀÌ°ÍÀÌ °¡Àå ±¤¹üÀ§ÇÑ TLS 1.3 Àû¿ë »ç·ÊÀÏ °Í¡±À̶ó°í ¸»ÇÑ´Ù. ÇÇÁî´Â TLS 1.3À» ±¤¹üÀ§ÇÏ°Ô Àû¿ëÇÏ´Â µ¥ À־ Áö¿¬ ¼Óµµ(latency)¸¦ ³·Ãâ »Ó¸¸ ¾Æ´Ï¶ó CPU È°¿ë ¿ª½Ã ÁÙ¿© ½Ã½ºÅÛ È¿À²À» ³ôÀÎ °ÍÀ¸·Î Æò°¡¹Þ´Â´Ù.

ÆäÀ̽ººÏÀÌ ÇÇÁ °ø°³ÇÑ ÀÌÀ¯´Â, TLS 1.3À̶ó´Â »õ ¾Ïȣȭ ÇÁ·ÎÅäÄÝÀ» ÀÎÅÍ³Ý Àü¹Ý¿¡ ºü¸£°Ô È®»ê½ÃÅ°±â À§Çؼ­´Ù. TLS 1.2¿¡ ºñÇØ 1.3Àº ±× ÀÚü¸¸À¸·Îµµ ÀÌ¹Ì Áö¿¬ ¼Óµµ¸¦ ³·Ã߱⠶§¹®¿¡ È¿À²¼º Ãø¸é¿¡¼­ ¿ùµîÇÑ ¸éÀ» °¡Áö°í Àִµ¥, ÇÇÁî±îÁö ÇÕÇØÁö¸é TLS 1.2 ½ÃÀý°ú´Â ºñ±³ÇÒ ¼ö ¾ø°Ô µÈ´Ù°í ÆäÀ̽ººÏÀº ¼³¸íÇÑ´Ù.

¡°ÆäÀ̽ººÏ ÀÚü ºÐ»ê ÀåÄ¡ÀÇ º¥Ä¡¸¶Å©¿¡ µû¸£¸é ÇÇÁ ÅëÇØ TLS 1.3À» µµÀÔÇßÀ» ¶§, 1.2 ¶§º¸´Ù È¿À²¼ºÀÌ ¾à 10% ³ô¾ÆÁ³½À´Ï´Ù. ÀÎÇÁ¶ó¿¡ °è¼ÓÇؼ­ TLS 1.3À» µµÀÔÇÔÀ¸·Î½á ÆÛÆ÷¸Õ½º°¡ Áö¼ÓÀûÀ¸·Î ³ô¾ÆÁú °ÍÀ» ±â´ëÇÏ°í ÀÖ½À´Ï´Ù.¡±

ÆäÀ̽ººÏ¿¡ µû¸£¸é ÇÇÁî ¼­¹öµéÀº µðÆúÆ® »ó ºñµ¿±âÈ­(async) µÇ¾î ÀÖ´Ù. Áï µ¥ÀÌÅÍ Àü¼Û ¼Óµµ°¡ °íÁ¤µÇÁö ¾Ê¾Ò´Ù´Â °ÍÀÌ´Ù. ¶ÇÇÑ ÀÎÁõ °ü·Ã ¿î¿µ°ú ƼÄÏ º¹È£È­ µîÀº ¿ø°Ý ¼­ºñ½º·Î 󸮵ȴÙ. ¿©±â¿¡´Ù°¡ ÆäÀ̽ººÏÀº °£´ÜÇÑ ºñµ¿±â API¸¦ Á¦°øÇϱ⵵ Çϸç, ÇÇÁî·ÎºÎÅÍÀÇ Äݹé(callback)À» ÇÒ °æ¿ì ´Ù¸¥ ÇÚµå¼ÎÀÌÅ© 󸮸¦ Â÷´ÜÇÏÁö ¾ÊÀº ä·Î ºñµ¿±âÈ­ µÈ ÀÀ´äÀ» µÇµ¹¸± ¼ö ÀÖ´Ù°í ÇÑ´Ù.

ÇÇÁî´Â ¶ÇÇÑ ½ºÄ³ÅÍ/°³´õ(scatter/gather) Çü½ÄÀÇ I/O APIµéÀ» ȣȯÇÑ´Ù. ±×·¯¹Ç·Î ´ë·®ÀÇ µ¥ÀÌÅ͸¦ ó¸®ÇÏ°í ¾Ïȣȭ½ÃÄÑ ¸Þ¸ð¸®¿¡ À§Ä¡½ÃÅ°´Â °Ô °¡´ÉÇÏ´Ù. Áï, µ¥ÀÌÅ͸¦ º¹»çÇÒ ÇÊ¿ä°¡ ¾ø¾îÁö°í, ÇÇÁî ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ´Â ¸ðµç ¾ÖÇø®ÄÉÀ̼ǵéÀÌ ¸Þ¸ð¸®¸¦ Àû°Ô »ç¿ëÇÑ´Ù´Â ¶æÀÌ µÈ´Ù.

ÇÇÁî´Â ¿äûÀÇ Áö¿¬ ¼Óµµ¸¦ ³·Ãß±â À§ÇØ ÀÌÀü¿¡ ÀúÀåµÈ µ¥ÀÌÅ͸¦ »ç¿ëÇϱ⵵ Çϴµ¥, ¿©±â¿¡´Â Á¶°ÇÀÌ Çϳª ÀÖ´Ù. ¹Ù·Î È­ÀÌÆ®¸®½ºÆà µÈ ¿äûµé¸¸ ÀÌ·± ½ÄÀÇ Ã³¸®¸¦ Çã¿ëÇÏ´Â °ÍÀÌ´Ù. TLS 1.3¿¡¼­ ÀÌÀü µ¥ÀÌÅ͸¦ »ç¿ëÇÏ¸é °ø°ÝÀÚ°¡ µ¥ÀÌÅ͸¦ Àç»ý½Ãų ¼ö ÀÖ°Ô µÈ´Ù.

ÆäÀ̽ººÏÀº ÇÇÁ óÀ½ °³¹ßÇÒ ¶§ºÎÅÍ º¸¾ÈÀ» ¿°µÎ¿¡ µÎ¾ú´Ù°í ¼³¸íÇÑ´Ù. TLSÀÇ »óÅ ±â°è(state machine)´Â ¸Å¿ì ¸íÈ®ÇÏ¸ç ¸ðµç ÀÌÇà°ú Àü°³°¡ ÇÑ °÷¿¡¼­ Á¤Àǵǰí, ±×·¸±â¿¡ º¸¾ÈÀ» °ü¸®ÇÏ´Â °Ô ÈξÀ ½¬¿öÁø´Ù´Â ¼³¸íµµ µ¡ºÙÀδÙ.

ÆäÀ̽ººÏÀº ºÎÁ¤È®ÇÑ »óÅ º¯È­°¡ »ç¿ëµÇ´Â °ÍÀ» ¸·±â À§ÇØ Ãß»óÈ­µµ µµÀÔ½ÃÄ×´Ù. ±×·¡¼­ »óÅ ó¸®ÀÚ(state handler)°¡ »óÅ ±â°è¿¡¼­ Á¤ÀǸ¦ ³»¸®Áö ¾ÊÀº »óÅ º¯È­¸¦ »ç¿ëÇÒ °æ¿ì ÄÚµå ÄÄÆÄÀϸµÀÌ µÇÁö ¾Ê´Â´Ù.

º¸´Ù Á¤È®È÷ ¸»ÇØ ÇöÀç ÇÇÁî°¡ Áö¿øÇÏ´Â TLS 1.3Àº 28¹ø°¿Í 26¹ø°, 23¹ø° ÃÊ¾È ¹öÀüµéÀÌ´Ù. ¶ÇÇÑ ÁÖ¿ä ÇÚµå¼ÎÀÌÅ© ¸ðµåµé °ÅÀÇ ´ëºÎºÐÀ» Áö¿øÇϱ⵵ Çϴµ¥, ¿©±â¿¡´Â PSK ¸®Á¡¼Ç(PSK resumption), Ŭ¶óÀ̾ðÆ® ÀÎÁõ, HelloRetryRequest µîÀÌ Æ÷ÇԵȴÙ. ÇÇÁî´Â folly, OpenSSL, libsodiumÀ̶ó´Â ¼¼ °¡Áö ¶óÀ̺귯¸®¿¡ ÀÇÁ¸ÇÏ°í Àֱ⵵ ÇÏ´Ù.

ÇÇÁî´Â ¿©±â(https://github.com/facebookincubator/fizz)¼­ ¿­¶÷ÀÌ °¡´ÉÇÏ´Ù.

3ÁÙ ¿ä¾à
1. ÆäÀ̽ººÏ, TLS 1.3 ÇÁ·ÎÅäÄÝ µµÀÔ À§ÇØ ÇÇÁî¶ó´Â ¶óÀ̺귯¸® °³¹ßÇØ »ç¿ë.
2. ÇÇÁî »ç¿ëÇغ¸´Ï È¿À²¼ºÀÌ 10%³ª Áõ°¡ÇÏ´õ¶ó. CPUµµ ´ú Àâ¾Æ¸Ô°í, ¸Þ¸ð¸®µµ ´ú »ç¿ëÇÏ°í.
3. ±×·¡¼­ ÇÇÁ ¿ÀǼҽº·Î ÀüȯÇÔ. ÀÎÅÍ³Ý Åë½ÅÀÌ ÀüºÎ TLS 1.3À¸·Î ÀÌ·ïÁö±æ ¹Ù¶ó¸é¼­.

[±¹Á¦ºÎ ¹®°¡¿ë ±âÀÚ(globoan@boannews.com)]

<ÀúÀÛ±ÇÀÚ: º¸¾È´º½º(www.boannews.com) ¹«´ÜÀüÀç-Àç¹èÆ÷±ÝÁö>

  •  
  • 0
  • ÆäÀ̽ººÏ º¸³»±â Æ®À§ÅÍ º¸³»±â ³×À̹ö ¹êµå º¸³»±â Ä«Ä«¿À ½ºÅ丮 º¸³»±â ³×À̹ö ºí·Î±× º¸³»±â

  • ¡°
  •  SNS¿¡¼­µµ º¸¾È´º½º¸¦ ¹Þ¾Æº¸¼¼¿ä!! 
  • ¡±
¾Æ½ºÆ®·Ð½ÃÅ¥¸®Æ¼ ÆÄ¿öºñÁî 2023³â2¿ù23ÀÏ ½ÃÀÛ ³Ý¾Øµå ÆÄ¿öºñÁî ÁøÇà 2020³â1¿ù8ÀÏ ½ÃÀÛ~2021³â 1¿ù8ÀϱîÁö À§Áîµð¿£¿¡½º 2018
¼³¹®Á¶»ç
³»³â ȸ»ç¿¡ ²À µµÀÔÇÏ°í ½ÍÀº º¸¾È ¼Ö·ç¼Ç ¶Ç´Â Ç÷§ÆûÀº ¹«¾ùÀΰ¡¿ä?
XDR
EDR
AI º¸¾È
Á¦·ÎÆ®·¯½ºÆ®
°ø±Þ¸Á º¸¾È ü°è(SBOM)
Ŭ¶ó¿ìµå º¸¾È ¼Ö·ç¼Ç
±âŸ(´ñ±Û·Î)