TTA °£Ç๰ - ICT Standard Weekly

Ȩ > Ç¥ÁØÈ­ Âü¿© > TTA°£Ç๰ > ICT Standard Weekly

[Á¤º¸º¸È£] Ÿ¿ø°î¼± ¾ÏÈ£½Ã½ºÅÛ ±ÞºÎ»ó

ÃÖ±Ù ¹«¼± ÀÎÅÍ³Ý È¯°æ¿¡ ´ëÇÑ º¸¾È¹®Á¦°¡ ´ëµÎµÇ¸é¼­ Ÿ¿ø°î¼± ¾ÏÈ£½Ã½ºÅÛ(Elliptic Curve Crypto System: ECC)ÀÌ ÀÌ·¯ÇÑ ¹®Á¦ÀÇ ÇØ´äÀ» ÁÖ´Â Â÷¼¼´ë ¾ÏÈ£½Ã½ºÅÛÀ¸·Î ±ÞºÎ»óÇÏ°í ÀÖ´Ù.

ECCÀÇ ÀåÁ¡
°ø°³Å° ¾ÏÈ£½Ã½ºÅÛ¿¡¼­ÀÇ Å¸¿ø°î¼±ÀÇ ÀÌ¿ëÀº 1985³â¿¡ Miller¿Í Koblitz°¡ µ¶¸³ÀûÀ¸·Î Á¦¾ÈÇÏ¿´´Ù. Ÿ¿ø°î¼± ÀÌ·ÐÀº Áö³­ 100¿© ³â°£ ¿¬±¸µÇ¾î¿Â ´ë¼ö±âÇÏÀÇ ÇÑ ºÐ¾ß·Î¼­ ÀÚ¿¬½º·¯¿î ±º¿¬»ê°ú ±× ¿¬»êÀ» ¼öÇàÇØÁÖ´Â È¿À²ÀûÀÎ ¾Ë°í¸®ÁòÀ» °¡Áö°í ÀÖ¾î ¾ÏÈ£ÇÐÀû ÀÀ¿ëÀÌ ¿ëÀÌÇÏ´Ù.
´Ù¸¥ °ø°³Å° ¾ÏÈ£½Ã½ºÅÛ¿¡ ºñÇØ ECC°¡ °¡Áö´Â ÀåÁ¡µéÀ» »ìÆ캸¸é ù°, ÁÖ¾îÁø ¼Ò¼ö P ¿¡ ´ëÇÏ¿© À¯ÇÑü(FP)ÀÇ ºÎºÐ±ºÀ» ÀÌ¿ëÇÏ´Â °æ¿ì´Â ±× È帰¡ À¯ÇÑüÀÇ °ö¼À±º(*P) ¹Û¿¡ ¾ø´Â ¹Ý¸é ECCÀÇ °æ¿ì´Â ÁÖ¾îÁø À¯ÇÑü»ó¿¡¼­ Á¤ÀÇµÈ ´Ù¾çÇÑ Å¸¿ø°î¼±À» ¼±ÅÃÇÒ ¼ö ÀÖ¾î dzºÎÇÑ Å¸¿ø°î¼±±ºÀ» È°¿ëÇÒ ¼ö ÀÖ´Ù. µÑ°, ÃÊƯÀÌ°î¼±°°Àº Ưº°ÇÑ À¯ÇüÀÇ Å¸¿ø°î¼±À» Á¦¿ÜÇÏ°í´Â ¾Ë·ÁÁø ÀÌ»ê´ë¼ö ¹®Á¦¸¦ Ǫ´Â °¡Àå È¿À²ÀûÀÎ Áö¼ö°è»ê ¾Ë°í¸®Áò(index calculus algorithm)À» Àû¿ëÇÒ ¼ö ¾ø¾î ¾ÈÀüÇÑ ¾ÏÈ£½Ã½ºÅÛÀÇ ¼³°è°¡ ¿ëÀÌÇÏ´Ù. ¼Â°, ´Ù¸¥ ¾ÏÈ£½Ã½ºÅÛ¿¡ ºñÇØ ´õ ªÀº Å° ±æÀÌ·Î ´ëµîÇÑ ¾ÈÀü¼ºÀ» ÁÖ°íÀÖ¾î ÈξÀ ´õ È¿À²ÀûÀÌ´Ù. ¿¹¸¦ µé¾î, RSA 1024ºñÆ® Å°¿Í ECC 160ºñÆ®ÀÇ Å°´Â ´ëµîÇÑ ¾ÈÀüµµ¸¦ °¡Áø´Ù. ³Ý°, Ÿ¿ø°î¼±»óÀÇ ¿¬»êÀº À¯ÇÑüÀÇ ¿¬»êÀ» Æ÷ÇÔÇÏ°í ÀÖÀ¸¹Ç·Î H/W¿Í S/W·Î ±¸ÇöÇϱⰡ ¿ëÀÌÇÏ´Ù. ¸ðµç »ç¿ëÀÚ°¡ µ¿ÀÏÇÑ À¯ÇÑü¿Í À¯ÇÑü ¿¬»êÀ» ¼öÇàÇÏ´Â °°Àº H/W¸¦ »ç¿ëÇÏ´õ¶óµµ ¼­·Î ´Ù¸¥ Ÿ¿ø°î¼±À» ¼±ÅÃÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç Ãß°¡ º¸¾ÈÀ» À§ÇØ ÁÖ±âÀûÀ¸·Î Ÿ¿ø°î¼±À» ¹Ù²Ü ¼ö ÀÖ´Ù.
ÀÌ·¯ÇÑ ÀåÁ¡µé ¶§¹®¿¡ ECC´Â ½º¸¶Æ® Ä«µå³ª ¹«¼±Åë½Å ´Ü¸»±â°°ÀÌ ¸Þ¸ð¸®¿Í 󸮴ɷÂÀÌ Á¦ÇÑÀûÀÎ ÀÀ¿ëºÐ¾ß¿¡¼­ ƯÈ÷ °¢±¤¹Þ°í ÀÖ´Ù.

±¹Á¦Ç¥ÁØÈ­ µ¿Çâ
°¢Á¾ ±¹Á¦Ç¥Áص鿡¼­ ECC¿¡ ´ëÇÑ Ç¥ÁØÈ­°¡ È°¹ßÈ÷ ÁøÇàµÇ°í ÀÖ°í ½ÇÁ¦·Î ´Ù¾çÇÑ ÀÀ¿ëºÐ¾ß¿¡¼­ ECC¸¦ Áö¿øÇÏ°í ÀÖ´Ù. Ç¥ÁØÈ­´Â ¿©·¯ °¡ÁöÀÇ ´Ù¸¥ H/W¿Í S/W¿ÍÀÇ »óÈ£¿î¿ë¼º(interoperability)À» º¸ÀåÇÏ°í, ¾ÏÈ£ÇÐÀû °üÁ¡¿¡¼­ ½Ã½ºÅÛÀÇ ¾ÈÀüµµ¸¦ ¸é¹ÐÇÏ°Ô Àç°ËÅäÇÒ ¼ö ÀÖÀ¸¸ç, ´Ù¾çÇÏ°í Æø ³ÐÀº ȯ°æ¿¡¼­ ½Ã½ºÅÛÀ» ±¸ÇöÇÏ´Â ¼³°èÀڵ鿡°Ô ¾ÏÈ£½Ã½ºÅÛÀ» ¼³°èÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁÖ´Â ¿ªÇÒÀ» ÇÑ´Ù. ÇöÀçÀÇ Ç¥ÁØÈ­´Â ECCÀÇ ±¸ÇöÀ» À§ÇÑ ¸¹Àº Ç¥ÁØÀÇ Â÷ÀÌ·Î ÀÎÇØ ¼­·Î ´Ù¸£°Ô ±¸ÇöµÈ ÀÀ¿ë»çÀÌ¿¡¼­ÀÇ È£È¯¼º ¹®Á¦°¡ ´ëµÎµÊ¿¡ µû¶ó »óÈ£¿î¿ëÀûÀÎ º¸¾È¼Ö·ç¼ÇÀÇ °³¹ß ¹× Àû¿ë½Ã »ç¿ëÀÚ°¡ Á÷¸éÇÏ´Â ¹®Á¦Á¡À» ÇØ°áÇϱâ À§ÇÑ Ç¥ÁØÁ¦Á¤À̶ó´Â Ãß¼¼¸¦ º¸ÀÌ°í ÀÖ´Ù.
ij³ª´ÙÀÇ Certicom»ç°¡ ¼³¸³ÇÑ SECG(Standards for Efficient Cryptography Group)´Â ´Ù¾çÇÑ ¾ÏÈ£¼Ö·ç¼Ç°£¿¡ ¹ß»ýÇÏ´Â »óÈ£¿î¿ë¼ºÀÇ ÇØ°á, °¢ ¼Ö·ç¼Ç¿¡ ECCÀÇ È¿°úÀûÀÎ ÆíÀÔ, ½º¸¶Æ®Ä«µå³ª PDA °°Àº Á¦ÇÑÀûÀΠȯ°æ¿¡¼­ »Ó¸¸ ¾Æ´Ï¶ó ÀϹÝÀûÀÎ °ø°³Å° ±â¹Ý±¸Á¶¿¡ ECC°¡ ³Î¸® Àû¿ëµÇµµ·Ï ÇϱâÀ§ÇÑ Ç¥ÁØÈ­ Á¤º¸Á¦°ø µîÀ» ¸ñÇ¥·Î, SEC 1¿¡¼­´Â ECDSA(Elliptic Curve Digital Signature Algorithm: ¹Ì±¹¿¬¹æÇ¥ÁØ ÀüÀÚ¼­¸í ¾Ë°í¸®Áò DSA¸¦ Ÿ¿ø°î¼±À» ÀÌ¿ëÇÏ¿© º¯ÇüÇÑ ÀüÀÚ¼­¸í), ECDH(Elliptic Curve Diffie-Hellman: Ÿ¿ø°î¼±À» ÀÌ¿ëÇÑ Å° ÇÕÀÇ ÇÁ·ÎÅäÄÝ) µîÀ» Æ÷ÇÔÇÏ°í, ¼±ÅûçÇ׿¡ ´ëÇؼ­´Â Á¦¾àÀ» µÎ¾î ¿©·¯ Ç¥ÁØµé »çÀÌ¿¡ ȣȯ¼ºÀ» ³ôÀÌ°í ÀÖÀ¸¸ç SEC 2¿¡¼­´Â À¯ÇÑüÀÇ Å©±â¸¶´Ù ³Î¸® ¾²ÀÌ´Â ±ÇÀå Ÿ¿ø°î¼± µµ¸ÞÀÎ º¯¼öµéÀÇ ¼±Á¤±âÁØÀ» Á¦½ÃÇÏ°í ÀÖ´Ù.

ÀÀ¿ë º¸¾ÈÇ¥ÁØ¿¡¼­ÀÇ ECC
ECDSA³ª ECDH µîÀÇ Å¸¿ø°î¼± ¾ÏÈ£¿¡ ´ëÇÑ Ç¥ÁØÈ­°¡ ÁøÀüµÊ¿¡ µû¶ó ¸¹Àº ÀÀ¿ëº¸¾È Ç¥Áص鿡¼­µµ À̵é Ÿ¿ø°î¼± ¾ÏÈ£¸¦ Áö¿øÇÏ°í ÀÖ´Ù. ´ëÇ¥ÀûÀ¸·Î IETFÀÇ ÀÎÅÍ³Ý º¸¾ÈÇ¥ÁØ¿¡¼­ÀÇ Å¸¿ø°î¼± ¾ÏÈ£ÀÇ »ç¿ëÇöȲÀ» »ìÆ캸¸é IP °èÃþ¿¡¼­ÀÇ º¸¾È ÇÁ·ÎÅäÄÝ·Î VPNÀ̳ª IPv6, Mobile IP µî °¢Á¾ ÀÀ¿ë¿¡¼­ ÀÎÇÁ¶óÀÇ º¸È£¸¦ À§ÇØ °¡Àå ³Î¸® »ç¿ëµÇ°í ÀÖ´Â ÀÎÅÍ³Ý º¸¾ÈÇ¥ÁØÀÎ IPsec(IP Security)°ú SSL 3.0À» º¸¿ÏÇÏ¿© IETF¿¡¼­ Ç¥ÁØÈ­½ÃŲ TLS(Transport Layer Security)ÀÇ »õ·Î¿î Draft ¹× WAP(Wireless application Protocol) Forum¿¡¼­ ¹«¼±ÀÎÅͳÝÀÇ Àü¼Û°èÃþ º¸¾ÈÇ¥ÁØÀÎ WTLS(Wireless Transport Layer Security) µî¿¡¼­ »ç¿ëÀÚ ÀÎÁõÀ» À§ÇÑ ECDSA¿Í Å°ºÐ¹è¸¦ À§ÇÑ ECDH¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù.

ECCÀÇ ¾ÈÀü¼º
Ÿ¿ø°î¼± ÀÌ»ê·Î±×¿¡¼­´Â ÀμöºÐÇسª À¯ÇÑüÀÇ ÀÌ»ê·Î±×¿Í´Â ´Þ¸® ÇöÀç±îÁö ¾Ë·ÁÁø Àû¿ë°¡´ÉÇÑ ÁØÁö¼ö½Ã°£ ¾Ë°í¸®ÁòÀÌ Á¸ÀçÇÏÁö ¾Ê°í Pollard-rho algorithmÀ» º´·ÄÈ­½ÃŲ ¹æ¹ýÀÌ Å¸¿ø°î¼± ÀÌ»ê´ë¼ö ¹®Á¦¸¦ Ǫ´Â °¡Àå È¿À²ÀûÀÎ ¾Ë°í¸®ÁòÀ¸·Î ¾Ë·ÁÁ® ÀÖ´Ù. ÀÌ·¯ÇÑ ¾Ë°í¸®ÁòµéÀ» ÇÇÇØ ECC¸¦ ¾ÈÀüÇÏ°Ô »ç¿ëÇϱâ À§Çؼ­´Â ¾à 160ºñÆ® ÀÌ»óÀÇ À¯ÇÑü¿¡¼­ Á¤ÀÇµÈ Å¸¿ø°î¼±À» »ç¿ëÇØ¾ß Çϸç Ãë¾à¼ºÀÌ ¾Ë·ÁÁø ÃÊƯÀÌ°î¼±°ú ºñÁ¤±Ô°î¼± ¹× Æ®·¹À̽º°¡ 2ÀÎ °î¼±Àº ¹Ýµå½Ã ÇÇÇؾ߸¸ ÇÑ´Ù.
¾Æ·¡ Ç¥´Â Certicom»ç°¡ Á¦½ÃÇÑ ÀÚ·á·Î¼­ RSA/DSA¿Í Ÿ¿ø°î¼±¿¡ ´ëÇÑ µµ¸ÞÀÎ º¯¼öÀÇ Å©±â¸¦ ºñ±³ÇÑ °ÍÀÌ´Ù. ÀÌ Ç¥´Â ECCÀÇ ¾ÈÀüµµ°¡ Å° ±æÀÌÀÇ Áõ°¡¿¡ µû¶ó °ÅÀÇ Áö¼ö ÇÔ¼öÀûÀ¸·Î Áõ°¡ÇÏ°í ÀÖ°í, ±âÁ¸ÀÇ °ø°³Å° ¾ÏÈ£½Ã½ºÅÛ¿¡ ºñÇØ Àå±âÀûÀÎ ±â¼úÀÇ ¹ßÀü¿¡ µû¸¥ Å° ±æÀÌÀÇ Áõ°¡ ºñÀ²¸é¿¡¼­µµ ´ë´ÜÇÑ ÀåÁ¡À» °¡Áö°í ÀÖÀ½À» È®ÀÎÇÒ ¼ö ÀÖ°Ô ÇØ ÁØ´Ù.

<Ç¥. µ¿ÀÏÇÑ ¾ÈÀüµµ¸¦ °®´Â µµ¸ÞÀÎ º¯¼öµéÀÇ Å©±â ºñ±³>



±¹³» ÇöȲ
±¹³»¿¡¼­´Â ECC°¡ °¡Áö´Â ¸¹Àº ÀåÁ¡¿¡µµ ºÒ±¸ÇÏ°í ±¸Çö»óÀÇ ¾î·Á¿ò ¶§¹®¿¡ Á¢±ÙÀÌ ¾î·Á¿î »óȲÀ̾úÀ¸³ª ±Ù·¡¿¡ µé¾î¼­´Â Ÿ¿ø°î¼± ¾ÏÈ£±â¼úÀ» žÀçÇÑ CSP(Cryptographic Service Provider) ¸ðµâÀ» °³¹ßÇÏ°í Ÿ¿ø°î¼± ¾ÏÈ£±â¼úÀ» Á¢¸ñÇÑ ¹«¼± °ø°³Å°±â¹Ý ÀÎÁõ ¼Ö·ç¼ÇÀ» °³¹ßÇÏ´Â µî ÇÑ Â÷¿ø ³ôÀº ´Ù¾çÇÑ º¸¾È±â¼ú °³¹ß¿¡ ÁÖ·ÂÇØ¿À°í ÀÖ´Ù.
ÀÌ¿¡ µû¶ó PKI(Public Key Infrastructure) ¼Ö·ç¼Ç¾÷üµéÀº ¹«¼±ÀÎÁõ½Ã½ºÅÛ ±¸ÃàÀ» ¿Ï·áÇßÀ¸¸ç ½Ã¹ü¼­ºñ½º¸¦ °ÅÃÄ À̸£¸é ¿À´Â 9¿ù Áß »ó¿ë¼­ºñ½º¸¦ ½ÃÇàÇÒ °èȹÀÌ´Ù. ÀÌ ¼­ºñ½º°¡ ½ÃÀÛµÇ¸é ±× µ¿¾È ¹«¼±ÀÎÅÍ³Ý È¯°æ¿¡¼­ÀÇ ÀüÀÚ»ó°Å·¡ È°¼ºÈ­¿¡ °¡Àå Å« °É¸²µ¹ÀÌ´ø º¸¾È¹®Á¦°¡ ÇØ°áµÉ °ÍÀ¸·Î ±â´ëµÈ´Ù. ¶ÇÇÑ, ¹«¼± ½ÃÀå¿¡¼­ÀÇ °æÀï·Â È®º¸¸¦ À§Çؼ­´Â ECCÀÇ »ó¿ëÈ­ ±â¼úÀÇ Æ¯Ç㸦 ÇÇÇϸ鼭 »óȣȣȯ¼º°ú ÇÔ²² º¸´Ù È¿À²ÀûÀ¸·Î ±¸ÇöÇÒ ¼ö ÀÖ´Â °í¼ÓÈ­ ±â¼ú ¹× ÃÖÀûÈ­ ¹æ¾È¿¡ ´ëÇÑ ¿¬±¸°¡ ¿ä±¸µÈ´Ù°í º¼ ¼ö ÀÖ´Ù.
½É°æ¾Æ (Çѱ¹Á¤º¸º¸È£ÁøÈï¿ø, kashim@kisa.or.kr)

* º» ±ÛÀº ÀúÀÚÀÇ ÀÇ°ßÀÏ »Ó TTA ±â°üÀÇ ÀÔÀå°ú´Â ¹«°üÇÕ´Ï´Ù.