±¨ÎÄÖеÄ×é˳ÐòºÍwebÒ³ÃæÉÏ×é˳Ðò²»Ò»Ö£¬Õâ¸öÎÞËùν£¬Ö»ÒªÄܶÔÉϼ´¿É£¬ÒòΪʵ¼ÊÖÐÖ»ÒªÕâÈý¸ö×éÄÜÆ¥ÅäÉϼ´¿É¡£
ÏûÏ¢2£ºÓÉÏìÓ¦Õߣ¨¼´¶Ô¶ËÉ豸£©»ØÓ¦£¬ÄÚÈÝ»ù±¾Ò»Ñù£¬Ö÷ÒªÓë·¢ÆðÕ߱Ƚϣ¬ÊÇ·ñ
Óë·¢ÆðÕßµÄIKE²ßÂÔÆ¥Å䣬²»Æ¥ÅäÔò½øÐÐÏÂÒ»×é±È½Ï£¬Èç¹û×îÖÕ¶¼ÕÒ²»µ½Æ¥Å䣬ËíµÀ¾ÍÍ£Ö¹½¨Á¢£»
£¨note£º·¢ÆðÕß½«ÆäËùÓÐIKE²ßÂÔ·¢¸ø½ÓÊÜÕߣ¬½ÓÊÜÕßÔòÔÚ×Ô¼ºµÄ²ßÂÔÖÐѰÕÒÓë֮ƥÅäµÄ²ßÂÔ£»¶Ô±È˳Ðò´ÓÓÅÏȼ¶ºÅСµÄµ½´óµÄ£»Ä¬ÈϲßÂÔʵ¼Ê¾ÍÊǸöÄ£°åû×÷Óã¬Èç¹ûÈÏÖ¤Ö»ÅäÖÃÔ¤¹²ÏíµÄ»°£¬ÆäËû²ÎÊý¾Í»ácopyĬÈϲßÂÔÀïµÄ£© ±¨ÎÄÈçÏ£º
ÓÉÉÏͼ¿ÉÖª£¬½ÓÊܶ˻ØÓ¦µÄÏûÏ¢ÖУ¬Æ¥ÅäÁË·¢ËͶ˵ÄÒ»Ìõ²ßÂÔ£¬Èç¹ûÓÐÒ»ÌõÆ¥Å䣬Ôò²»ÐèҪƥÅäÆäËû²ßÂÔ¡£
ÔÚÏûÏ¢1ºÍÏûÏ¢2Öб¨´í¿ÉÄܳöÏÖµÄÔÒò£º
£¨a£©peer·Óɲ»Í¨£¨¼´£¬Íâ²ãµÄIPµØÖ·²»Í¨£¬ÕâÀï¶ÔÓ¦µÄÊÇ·¢ËÍ·¢10.1.1.3ºÍ½ÓÊÕ·½10.1.1.2ÕâÁ½¸öµØÖ·²»Í¨£¬ÕâÀïÅäÖüòµ¥ÊôÓÚÖ±Á¬£¬¶øÊµ¼Ê´óÐÍ×éÍøÖУ¬Öмä»áÓкܶàÆäËûÍøÔª£¬ÍùÍùÊÇͨ¹ýÅäÖö¯Ì¬Â·ÓÉ£©£»
£¨b£©crypto iskmp keyûÓÐÉèÖ㨼´£¬Ã»ÓÐÅäÖÃÔ¤¹²ÏíÃÜÔ¿£©£»
£¨c£©Ò»½×¶ÎµÄ²ßÂÔ²»Æ¥Å䣨ÕâʱÐèÒª¼ì²éÁ½¶ËÉ豸µÄ²ßÂÔÓв»Ò»Öµط½Ã´£©
£¨3£©3&4ÏûÏ¢£ºÃÜÔ¿½»»»¹ý³Ì
ÏûÏ¢3£ºÓÉ·¢ÆðÕߣ¨¼´£¬ËíµÀ½¨Á¢µÄ·¢ÆðÕߣ©·¢³ö£¬µ«ÊÇÔÚ·¢³öÏûÏ¢3֮ǰ£¬Óиö
¹ý³Ì±ØÐëÒªÍê³É£¬¾ÍÊÇDiffie-HellmanËã·¨¹ý³Ì¡£
Diffie-HellmanËã·¨¹ý³ÌÄ¿µÄ£ºÔÚÏûÏ¢1ºÍÏûÏ¢2ÖÐËùÐÉ̵ÄËã·¨£¬ËüÃDZØÐëÐèÒªÒ»¸öKEY£¨¼´£¬¹²ÏíÃÜÔ¿ÖÐÉèÖõÄÃÜÂ룩£¬Õâ¸öKEYÔÚÁ½¸ö¶ÔµÈÌåÉϱØÐëÒ»Ñù£¬µ«Í¬Ê±Õâ¸öKEY²»ÄÜÔÚÁ´Â·Öд«µÝ£¬ÒòΪ´«µÝKEYÊÇÒ»¸ö²»°²È«µÄÊֶΡ£ËùÒÔ£¬¸Ã¹ý³ÌµÄÄ¿µÄÊÇ·Ö±ðÔÚÁ½¸ö¶ÔµÈÌå¼ä¶ÀÁ¢µØÉú³ÉÒ»¸öDH¹«¹²Öµ£¬¸Ã¹«¹²ÖµÓÐʲô×÷Óã¿ÒòΪÁ½¸ö¶ÔµÈÌåÉ϶¼Éú³É¸ÃDH¹«¹²Öµºó£¬ËüÃÇ»áÔÚ½ÓÏÂÀ´µÄÏûÏ¢3ºÍÏûÏ¢4Öд«Ë͸ø¶Ô·½£¬´ò¸ö±È·½£¬AÊÕµ½ÁËBµÄDH¹«¹²Öµ£¬BÊÕµ½ÁËAµÄDH¹«¹²Öµ¡£µ±A¡¢B¶¼ÊÕµ½Á˶Է½µÄ¸Ã¹«¹²Öµºó£¬ÎÊÌâ¾ÍºÃ½â¾öÁË¡£ÒòΪÓÐÒ»¸ö¹«Ê½ÔÚÊýѧÖб»ÂÛÖ¤³ÉÁ¢£¬ÄÇôÏÖÔÚ½èÖú¹«Ê½£¬¾Í¿ÉÒÔÔÚÁ½¸ö¶ÔµÈÌåÉÏÉú³ÉÒ»¸öÖ»ÓÐËüÃÇÁ½¸ö¶ÔµÈÌåÖªµÀµÄÏàͬµÄKEY£¬¸Ã¹«Ê½Îª£º
·¢ÆðÕßÃÜÔ¿=(Xb)amod p = (Xa)bmod p=ÏìÓ¦ÕßÃÜÔ¿ note£ºÕâ¸öÃÜÔ¿²»ÊÇ×îÖÕËã·¨ÖÐʹÓõÄKEY£¬µ«Á½¸ö¶ÔµÈÌåͨ¹ý¸ÃKEY²ÄÁÏÀ´Éú³ÉÁíÍâÈý¸öÃÜÔ¿£¬·Ö±ðÊÇ£º
SKEYID_d¡ª¡ª´ËÃÜÔ¿±»ÓÃÓÚ¼ÆËãºóÐøIPSecÃÜÔ¿×ÊÔ´£»
SKEYID_a¡ª¡ª´ËÃÜÔ¿±»ÓÃÓÚÌṩºóÐøIKEÏûÏ¢µÄÊý¾ÝÍêÕûÐÔÒÔ¼°ÈÏÖ¤£» SKEYID_e¡ª¡ª´ËÃÜÔ¿±»ÓÃÓÚ¶ÔºóÐøIKEÏûÏ¢½øÐмÓÃÜ£»
ËùÒÔ£¬ÓÉ·¢ÆðÕß·¢ÆðµÄµÚÈýÌõÏûÏ¢Ö÷ÒªÊÇÏò¶ÔµÈÌå·¢ËÍ×Ô¼ºµÄDH¹«¹²ÖµºÍNonceËæ»úÊý£»
ʵ¼Ê±¨ÎÄÈçÏ£º
ÓÉÉÏÊö±¨ÎÄ¿ÉÖª£¬·¢ËÍ·½¿ªÊ¼Ïò½ÓÊÕ·½·¢ËÍ×Ô¼ºµÄDH¹«¹²ÖµÒÔ¼°Ëæ»úÊý£»
¶Ô¶ËÊÕµ½ºó£¬¿ÉÒÔ¸ù¾Ý¡°ÏûÏ¢1&ÏûÏ¢2¡±ÖÐÐÉ̵ÄDHËã·¨£¬ÒÔ¼°·¢ËͶËÔÚÏûÏ¢3Öиø³öµÄDHºÍnonceÖµÀ´Éú³ÉSKEYID_d¡¢SKEYID_a¡¢SKEYID_eÈý¸öÃÜÔ¿£»
ÏûÏ¢4£ºÍ¬ÏûÏ¢3£¬¸æÖª·¢ËͶË×Ô¼ºµÄDH¹«¹²ÖµºÍNonceËæ»úÊý£»
±¨ÎÄÈçÏ£º
ÓÉÉÏÊö±¨ÎÄ¿ÉÖª£¬½ÓÊÜ·½¿ªÊ¼Ïò·¢ËÍ·½·¢ËÍ×Ô¼ºµÄDH¹«¹²ÖµÒÔ¼°Ëæ»úÊý£»
¶Ô¶ËÊÕµ½ºó£¬¿ÉÒÔ¸ù¾Ý¡°ÏûÏ¢1&ÏûÏ¢2¡±ÖÐÐÉ̵ÄDHËã·¨£¬ÒÔ¼°½ÓÊܶËÔÚÏûÏ¢4
Öиø³öµÄDHºÍnonceÖµÀ´Éú³ÉSKEYID_d¡¢SKEYID_a¡¢SKEYID_eÈý¸öÃÜÔ¿£»
£¨3£©5&6ÏûÏ¢£ºÓÃÓÚË«·½±Ë´ËÑéÖ¤¡£ÓÉ¡°ÓÚÏûÏ¢1&ÏûÏ¢2¡±µÄËã·¨£¬ÒÔ¼°¡°ÏûÏ¢3&ÏûÏ¢4¡±Éú³ÉµÄÈý¸öKEY£¬ËùÒÔÔÚºóÐøµÄ¡°ÏûÏ¢5&ÏûÏ¢6¡±¾ÍÄܱ»¼ÓÃÜ´«ËÍ£¬Õâ¸ö¹ý³ÌÊÇÊÜSKEYID_e¼ÓÃܱ£»¤µÄ¡£
Ô¤¹²ÏíÃÜÔ¿µÄ×÷ÓãºÎªÁËÕýÈ·Éú³ÉÃÜÔ¿£¬Ã¿Ò»¸ö¶ÔµÈÌ屨ÐëÕÒµ½Óë¶Ô·½Ïà¶ÔÓ¦µÄÔ¤¹²ÏíÃÜÔ¿£¬µ±ÓÐÐí¶à¶ÔµÈÌåÁ¬½Óʱ£¬Ã¿Ò»¶Ô¶ÔµÈÌåÁ½¶Ë¶¼ÐèÒªÅäÖÃÔ¤¹²ÏíÃÜÔ¿£¬Ã¿Ò»¶ÔµÈÌå¶¼±ØÐëʹÓÃISAKMP·Ö×éµÄÔ´IPÀ´²éÕÒÓëÆä¶ÔµÈÌå¶ÔÓ¦µÄÔ¤¹²ÏíÃÜÔ¿£¨´Ëʱ£¬ÓÉÓÚID»¹Ã»µ½£¬±Ë´ËÏÈÓÃHASHÀ´±Ë´ËÑéÖ¤¶Ô·½£©HASHÈÏÖ¤³É·Ö¡ª¡ªSKEYID_a¡¢cookieA¡¢cookieB¡¢preshare_key¡¢SA payload¡¢×ª»»¼¯ºÍ²ßÂÔ¡£
ÏûÏ¢5£ºÓÉ·¢ÆðÕßÏòÏìÓ¦Õß·¢ËÍ£¬Ö÷ÒªÊÇΪÁËÑéÖ¤¶Ô¶Ë×Ô¼º¾ÍÊÇ×Ô¼ºÏëÒªÓë֮ͨÐÅ
µÄ¶Ô¶Ë¡£Õâ¿ÉÒÔͨ¹ýÔ¤¹²Ïí¡¢Êý×ÖÇ©Ãû¡¢¼ÓÃÜÁÙʱֵÀ´ÊµÏÖ¡£
ÏûÏ¢6£ºÓÉÏìÓ¦ÕßÏò·¢ÆðÕß·¢ËÍ£¬Ö÷ҪĿµÄºÍµÚÎåÌõÒ»Ñù£º