º»¹®/³»¿ë
1.
¿ì¸®³ª¶ó¿¡¼ »ç¿ëÁßÀÎ °øÀÎÀÎÁõ¼ Á¶»çºÐ¼®
¿ä¾à
º» ³»¿ëÀº °øÀÎÀÎÁõ¼ÀÇ ÃâÇö ¹è°æ°ú ±â¼úºÐ¼®, ÇöȲºÐ¼®, Ȱ¿ëÇüÅ ¹× ¹Ì·¡Àü¸ÁÀ» ÆÄ¾ÇÇÑ °ÍÀÌ´Ù. À̸¦ À§ÇØ ´Ù¾çÇÑ ÀڷḦ Âü°íÇÏ¿© ºÐ¼®ÇÏ°í ³»¿ëÀ» Á¤¸®ÇÏ¿´´Ù. º»¹®¿¡¼´Â µ¿ÀÛ¿ø¸®³ª ÀÎÁõ±¸Á¶, Çѱ¹ÀÇ °øÀÎÀÎÁõ±â°ü°ú ±×µéÀÇ »óÈ£ ¿¬µ¿ÇöȲÀ» »ìÆìº¸°í Ȱ¿ëÇüÅ ¹× ¹Ì·¡Àü¸Á¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. ÀÌ ÈÄ ¸¶Áö¸·¿¡ °á·ÐÀ» À¯µµÇÑ´Ù.
¼·Ð
°øÀÎÀÎÁõ¼ÀÇ ÃâÇö¹è°æ
Á¤º¸Åë½Å ±â¼úÀÇ ¹ß´Þ·Î ÃÖ±Ù Á¤º¸Åë½Å ³×Æ®¿öÅ© ÀÌ¿ëÀÌ ±ÞÁõÇϰí ÀÎÅͳÝÀ» ÅëÇÑ °¢Á¾ °Å·¡°¡ ±¹³»¿ÜÀûÀ¸·Î º¸Æíȵǰí ÀÖ´Ù. ÀÌ·¯ÇÑ Á¤º¸³×Æ®¿öÅ©¸¦ ÅëÇØ ¿À°¡´Â µ¥ÀÌÅÍÀÇ ¼º°ÝÀÌ °ú°Å¿¡´Â ´Ü¼øÇÑ ¹®¼ À§ÁÖ¿¡¼ ÀÌÁ¦´Â »çÀ̹ö °ø°£¿¡¼ ÀÌ·ïÁö´Â °Å·¡ À¯ÇüÀº ÀÎÅÍ³Ý ¹ðÅ·, »çÀ̹ö Áõ±Ç°Å·¡ µî À̹ۿ¡µµ ÀüÀÚ»ó°Å·¡, °æ¸Å µî¿¡¼ ±× ÀÌ¿ëÀÌ ´õ¿í Áõ°¡ÇÔ¿¡ µû¶ó, ÀÌ·¯ÇÑ Á¤º¸³×Æ®¿öÅ©¸¦ ÅëÇÑ °Å·¡ ½Ã ¹ß»ýÇÏ´Â ½Å¿øÈ®ÀÎ ¹× ¸Þ½ÃÁö ³»¿ë¿¡ ´ëÇÑ º¸¾È µîÀÌ Áß¿äÇÑ À̽´·Î ¶°¿À¸£°í ÀÖ´Ù. ÀÌ¿¡ µû¶ó Á¤º¸¸ÁÀÇ ¾ÈÀü°ú °³ÀÎ Á¤º¸ÀÇ À¯ÃâÀ» ¹æÁöÇϱâ À§ÇØ °øÀÎÀÎÁõ¼(Public Key Infrastructure) Á¦µµ°¡ µµÀԵǾú´Ù.
Àü¡¦(»ý·«)
2. °øÀÎÀÎÁõ¼ ±â¼úºÐ¼®
¨ç »ó¿ë °øÀÎÀÎÁõ¼ ¼ÒÇÁÆ®¿þ¾î
¨è °øÀÎÀÎÁõ¼ ÇÁ·ÎÆÄÀÏ
¨é °³ÀÎŰ ÀúÀå ÆÄÀÏ ÇÁ·ÎÆÄÀÏ
¨ê »ç¿ëÀÚ ÆÐ½º¿öµå¸¦ ÀÌ¿ëÇÑ °³ÀÎŰÀÇ º¸È£±â¼ú
°³ÀÎŰ ÆÄÀÏ¿¡´Â °³ÀÎ۸¦ ¾ÏÈ£ÈÇÒ ¶§ »ç¿ëµÇ´Â ºñ¹Ð۸¦ »ý¼ºÇϴµ¥ ¾²ÀÌ´Ñ ¼ÖÆ®(Salt) °ª°ú ¹Ýº¹È½¼ö °ª(Iteration Count)ÀÌ ÀúÀåµÇ¸ç, ¸¶Áö¸·À¸·Î SEED ºí·Ï ¾ÏÈ£ ¾Ë°í¸®ÁòÀ¸·Î ¾ÏȣȰ¡ µÈ °³ÀÎŰ °ü·Ã Á¤º¸µéÀÌ µé¾îÀÖ´Ù. ¼ÖÆ® °ªÀº °øÀÎÀÎÁõ¼¸¦ ¹ß±Þ¹ÞÀ» ¶§¸¶´Ù ·£´ýÇÏ°Ô »ý¼ºµÇ´Â °ÍÀ¸·Î ºñ¹Ð۸¦ »ý¼ºÇÒ ¶§ ·£´ý¼ºÀ» ³ô¿© º¸¾È¼ºÀ» °È½ÃŰ´Â ¿ªÇÒÀ» ÇÑ´Ù. ¼ÖÆ® °ªÀº 21~28byte »çÀÌÀÇ 8byte·Î ÀÌ·ç¾îÁ® ÀÖ´Ù.
¹Ýº¹È½¼ö °ªÀº ºñ¹ÐŰ »ý¼ºÀ» À§ÇÑ ÇØ½¬ÇÔ¼ö¸¦ ¸î ¹ø ¼öÇàÇÒ °ÍÀΰ¡¸¦ ³ªÅ¸³½´Ù. ¹Ýº¹È½¼ö °ª¿¡ °ü·ÃµÈ Á¤º¸´Â 31~32byte »çÀÌÀÇ 2byte·Î ÀÌ·ç¾îÁ® ÀÖ´Ù.
°³ÀÎŰ Á¤º¸¸¦ Æ÷ÇÔÇϰí ÀÖ´Â Çʵå´Â ±¹³» ¾ÏÈ£È Ç¥ÁØÀÎ SEED ºí·Ï ¾ÏÈ£ ¾Ë°í¸®ÁòÀ¸·Î ¾ÏȣȵǾî ÀÖ´Ù. SEED ºí·Ï ¾ÏÈ£ ¾Ë°í¸®Áò¿¡¼ »ç¿ëÇÏ´Â ºñ¹ÐŰ´Â °³ÀÎŰ ¾ÏÈ£È ÆÐ½º¿öµå¿Í ¼ÖÆ® °ª, ¹Ýº¹È½¼ö °ª µîÀ» ÀÌ¿ëÇÏ¿© ¸¸µé¾î Áø´Ù.
¨ê »ç¿ëÀÚ ÆÐ½º¿öµå¸¦ ÀÌ¿ëÇÑ °³ÀÎŰÀÇ º¸È£±â¼ú
SEED ºí·Ï ¾ÏÈ£ ¾Ë°í¸®ÁòÀ» ÀÌ¿ëÇÑ ¾Ï/º¹È£È¿¡ ÇÊ¿äÇÑ ºñ¹Ð۸¦ »ý¼ºÇϱâ À§Çؼ »ç¿ëÀÚ°¡ ¼³Á¤ÇÏ´Â °³ÀÎŰ ¾ÏÈ£È ÆÐ½º¿öµå°¡ »ç¿ëµÈ´Ù.
Çѱ¹ÀÇ °øÀÎÀÎÁõ¼ ½Ã½ºÅÛ¿¡¼´Â ÆÐ½º¿öµå ±â¹ÝÀÇ ¾ÈÀüÇÑ °³ÀÎŰ ¾Ïȣȸ¦ À§Çؼ PKCS#5(Public Key Cryptography Standards #5)¿¡¼ Á¤ÀÇÇÑ PBES1(Password Based Encryption Scheme 1)¾ÏÈ£È ±â¹ýÀ» ÀÌ¿ëÇÑ´Ù. PBES1¿¡¼ Á¤ÀÇÇϰí ÀÖÁö ¾ÊÀº SEED ºí·Ï ¾ÏÈ£È ¾Ë°í¸®ÁòÀ» »ç¿ëÇϱâ À§Çؼ ¾ÏÈ£È Å°(K)¿Í Ãʱ⺤ÅÍ(IV)¸¦ »ý¼ºÇÏ´Â ¹æ¹ýÀ» ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î Á¤ÀǵȴÙ.
8byteÀÇ ¼ÖÆ® °ª°ú ¹Ýº¹È½¼ö °ªÀ» ¼±ÅÃÇϰí, PBKDF1¿¡ ÆÐ½º¿öµå(P), ¼ÖÆ® °ª(S), ¹Ýº¹È½¼ö °ª(C)À» Àû¿ëÇÏ¿© 20byteÀÇ ÃßÃâŰ(Derived Key)¸¦ »ý¼ºÇÑ´Ù. Çѱ¹ÀÇ °øÀÎÀÎÁõ¼ ½Ã½ºÅÛ¿¡¼´Â PBKDF1¿¡¼ SHA-1 ÇØ½¬ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù. °£´ÜÈ÷ ¼³¸íÇϸé P?S°ªÀ» SHA-1 ÇØ½¬ÇÔ¼ö¿¡ ÀÔ·ÂÇÏ¿© 20byteÀÇ