Home > Security

ÆäÀ̽ººÏ, 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¿¡¼­µµ º¸¾È´º½º¸¦ ¹Þ¾Æº¸¼¼¿ä!! 
  • ¡±
2025 º¸¾È½ÃÀå ¹é¼­ À§Áîµð¿£¿¡½º 2018
¼³¹®Á¶»ç
SKÅÚ·¹ÄÞ ÇØÅ· »çÅ·ΠÃÖ±Ù ÀÕ½´°¡ µÇ°í ÀÖ´Â ¡®BPFµµ¾î¡¯ °ü·Ã, ¾î¶² ¼Ö·ç¼ÇÀ» »ç¿ëÁßÀΰ¡¿ä?
¾È·¦ V3 Net for Linux
¼Ò¸¸»ç Server-i
ÆÄÀÌ¿À¸µÅ© Á¡°Ë µµ±¸
À×Ä«ÀÎÅÍ³Ý Àü¿ë ¹é½Å
Æ®·»µå ¸¶ÀÌÅ©·Î ¹é½Å
±âŸ ±¹»ê(¼Ö·ç¼Ç¸íÀº ´ñ±Û·Î)
±âŸ ¿Ü»ê(¼Ö·ç¼Ç¸íÀº ´ñ±Û·Î)
»ç¿ëÇÏÁö ¾Ê´Â´Ù