Visual Basic .NetÀ» »ç¿ëÇÏ¿© Forms ÀÎÁõ¿¡¼­ »ç¿ëÇÒ Å°¸¦ ¸¸µå´Â ¹æ¹ý

±â¼ú ÀÚ·á: 313091 - ÀÌ ¹®¼­°¡ Àû¿ëµÇ´Â Á¦Ç° º¸±â.
¸ðµÎ È®´ë | ¸ðµÎ Ãà¼Ò

ÀÌ ÆäÀÌÁö¿¡¼­

¿ä¾à

ÀÌ ¹®¼­¿¡¼­´Â Forms ÀÎÁõ ÄíŰ µ¥ÀÌÅÍÀÇ ¾Ïȣȭ, ÇØµ¶, À¯È¿¼º °Ë»ç¿¡ »ç¿ëÇÒ Å°¸¦ ¸¸µå´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù. ÀÌ ¹®¼­¿¡¼­ ¸¸µç ۸¦ Machine.config ÆÄÀϰú Web.config ÆÄÀÏÀÇ <system.web> ¿ä¼Ò¿¡ ÀÖ´Â <machineKey> ¼½¼ÇÀÇ validationKey ¹× decryptionKey Ư¼º¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿ä±¸ »çÇ×

´ÙÀ½ ¸ñ·ÏÀº ±ÇÀåÇÏ´Â Çϵå¿þ¾î, ¼ÒÇÁÆ®¿þ¾î, ³×Æ®¿öÅ© ÀÎÇÁ¶ó ¹× ¼­ºñ½º ÆÑÀÔ´Ï´Ù.
  • Microsoft Windows 2000 ¶Ç´Â Microsoft Windows XP
  • Microsoft .NET Framework
  • Microsoft Internet Information Services(IIS)

ÇÁ·ÎÁ§Æ® ¸¸µé±â

  1. Microsoft Visual Studio .NETÀ» ½ÃÀÛÇÕ´Ï´Ù.
  2. ÆÄÀÏ ¸Þ´º¿¡¼­ »õ·Î ¸¸µé±â¸¦ °¡¸®Å² ´ÙÀ½ ÇÁ·ÎÁ§Æ®¸¦ ´©¸¨´Ï´Ù.
  3. ÇÁ·ÎÁ§Æ® Çü½Ä ¿µ¿ª¿¡¼­ Visual Basic ÇÁ·ÎÁ§Æ®¸¦ ´©¸¨´Ï´Ù.
  4. ÅÛÇø´ ¿µ¿ª¿¡¼­ ÄÜ¼Ö ÀÀ¿ë ÇÁ·Î±×·¥À» ´©¸¨´Ï´Ù.
  5. À̸§ ÅØ½ºÆ® »óÀÚ¿¡ HashConfigVb¸¦ ÀÔ·ÂÇÑ ´ÙÀ½ È®ÀÎÀ» ´©¸¨´Ï´Ù.

¾ÏÈ£¸¦ ÇØ½ÃÇÒ ÄÚµå ÀÛ¼º

ÀÌ Àý¿¡ ³ª¿Í ÀÖ´Â ÄÚµå´Â ¸í·ÉÁÙ¿¡¼­ Àü´ÞµÈ ´ÙÀ½ µÎ °³ÀÇ Àμö¸¦ ÀнÀ´Ï´Ù.
  • ù ¹øÂ° Àμö´Â decryptionKey Ư¼ºÀ» ¸¸µå´Â µ¥ »ç¿ëµÇ´Â ¹ÙÀÌÆ® ¼öÀÔ´Ï´Ù.
  • µÎ ¹øÂ° Àμö´Â validationKey Ư¼ºÀ» ¸¸µå´Â µ¥ »ç¿ëµÇ´Â ¹ÙÀÌÆ® ¼öÀÔ´Ï´Ù.
ÄÚµå´Â ³­¼ö »ý¼º±â¸¦ »ç¿ëÇÏ¿© ¸í·ÉÁÙ Àμö¿¡ µû¶ó ÀÓÀÇÀÇ ¼öÀÇ ¹ÙÀÌÆ®¸¦ ¸¸µì´Ï´Ù. ÀÓÀÇÀÇ ¹ÙÀÌÆ®¸¦ ¸¸µç ÈÄ¿¡´Â .config ÆÄÀÏ¿¡¼­ »ç¿ëÇϱ⿡ ÀûÀýÇÑ 16Áø¼ö ¹®ÀÚ¿­·Î ¹ÙÀÌÆ®ÀÇ ¼­½ÄÀÌ ÁöÁ¤µË´Ï´Ù.

Âü°í ¸í·ÉÁÙ¿¡¼­ Àü´ÞµÇ´Â °ª Å©±âÀÇ µÎ¹è¿¡ ÇØ´çÇÏ´Â 16Áø¼ö ¹®ÀÚ¿­ÀÌ ¸¸µé¾îÁý´Ï´Ù. ¿¹¸¦ µé¾î, Ű¿¡ 24¹ÙÀÌÆ®¸¦ ÁöÁ¤ÇÏ¸é º¯È¯ ÈÄ ¸¸µé¾îÁø ¹®ÀÚ¿­ ±æÀÌ´Â 48¹ÙÀÌÆ®°¡ µË´Ï´Ù. decryptionKeyÀÇ À¯È¿ÇÑ °ªÀº 8 ¶Ç´Â 24ÀÔ´Ï´Ù. À̰ÍÀº °¢°¢ µ¥ÀÌÅÍ ¾Ïȣȭ Ç¥ÁØ(DES)¿¡ ´ëÇØ 16¹ÙÀÌÆ® ۸¦ ¸¸µé°Å³ª »ïÁß DES¿¡ ´ëÇØ 48¹ÙÀÌÆ® ۸¦ ¸¸µì´Ï´Ù. validationKeyÀÇ À¯È¿ÇÑ °ªÀº 20-64ÀÔ´Ï´Ù. À̰ÍÀº º¯È¯ ÈÄ 40-128¹ÙÀÌÆ® ±æÀÌÀÇ Å°¸¦ ¸¸µì´Ï´Ù. ÄÚµåÀÇ Ãâ·ÂÀº Machine.config ÆÄÀÏÀ̳ª Web.config ÆÄÀÏ·Î º¹»çÇÏ¿© ºÙ¿©³ÖÀ» ¼ö ÀÖ´Â <machineKey> ¿ä¼Ò ÀüüÀÔ´Ï´Ù.

  1. KeyCreator¶ó´Â À̸§ÀÇ »õ Ŭ·¡½º ÆÄÀÏÀ» Visual Basic ÇÁ·ÎÁ§Æ®¿¡ Ãß°¡ÇÕ´Ï´Ù.
  2. KeyCreator.vb ÆÄÀÏÀÇ ±âÁ¸ Äڵ带 ´ÙÀ½ ÄÚµå·Î ´ëüÇÕ´Ï´Ù.
    Imports System
    Imports System.Text
    Imports System.Security.Cryptography
    
    Namespace Crypto
      Public Class KeyCreator
    	
        Public Shared Sub CreateMachineKey()
          Dim commandLineArgs As String()
          commandLineArgs = System.Environment.GetCommandLineArgs()
    
          Dim decryptionKey As String
          decryptionKey = CreateKey(System.Convert.ToInt32(commandLineArgs(1)))
          Dim validationKey As String
          validationKey = CreateKey(System.Convert.ToInt32(commandLineArgs(2)))
    
          Console.WriteLine("<machineKey validationKey=""{0}"" decryptionKey=""{1}"" validation=""SHA1""/>", _
          validationKey, decryptionKey)
         End Sub
    
         Public Shared Function CreateKey(numBytes As Integer) As String
           Dim rng As RNGCryptoServiceProvider = New RNGCryptoServiceProvider()
           Dim buff(numBytes -1) As Byte
    
           rng.GetBytes(buff)
    				
           Return BytesToHexString(buff)
         End Function
     
         Public Shared Function BytesToHexString(bytes As Byte()) As String
           Dim hexString As StringBuilder = New StringBuilder(64)
           Dim counter as Integer
    
           For counter = 0 To bytes.Length - 1
             hexString.Append(String.Format("{0:X2}", bytes(counter)))
           Next
    
           Return hexString.ToString()
        End Function
    
      End Class
    End Namespace
    					
  3. ±âº»ÀûÀ¸·Î ¸¸µé¾îÁö´Â Module1.vb ÆÄÀÏÀ» ¿¬ ÈÄ Main ¼­ºê·çƾ¿¡ ´ÙÀ½ Äڵ带 Ãß°¡ÇÕ´Ï´Ù.
        Dim MyKeyCreator As New Crypto.KeyCreator()
        MyKeyCreator.CreateMachineKey()
    					
  4. ÀÀ¿ë ÇÁ·Î±×·¥À» ºôµåÇÕ´Ï´Ù.

ÇØ½Ã »ý¼º

¸í·ÉÁÙ¿¡¼­ ÀÀ¿ë ÇÁ·Î±×·¥À» ½ÇÇàÇÑ ´ÙÀ½ ÇØµ¶ Ű¿Í À¯È¿¼º °Ë»ç ŰÀÇ Å©±â¿¡ ÇØ´çÇÏ´Â µÎ °³ÀÇ Á¤¼ö °ªÀ» Àü´ÞÇÕ´Ï´Ù. ÄÜ¼Ö ÀÀ¿ë ÇÁ·Î±×·¥¿¡ HashConfigVb.exe¶ó´Â À̸§À» ÁöÁ¤ÇÑ °æ¿ì¿¡´Â ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ Bin µð·ºÅ͸®¿¡¼­ ¸í·ÉÁÙ¿¡ ´ÙÀ½ ±¸¹®À» ÀÔ·ÂÇÕ´Ï´Ù.
HashConfigVb.exe 24 64
ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ¾Æ·¡¿Í ºñ½ÁÇÑ Ãâ·ÂÀ» ¹ÝȯÇÕ´Ï´Ù.
<machineKey validationKey="08CE6B478DCE73..........E566D8AC5D1C045BA60"
            decryptionKey="4252D6B2268.........67F451CE65D0F2ABE9BCD3A"
            validation="SHA1"/>
					
Âü°í Äڵ尡 ³­¼ö »ý¼º±â¸¦ »ç¿ëÇϹǷΠ¸Å¹ø Ãâ·ÂÀÌ ´Þ¶óÁý´Ï´Ù.

±¸¼º ÆÄÀÏ ¾÷µ¥ÀÌÆ®

  1. Machine.config ÆÄÀÏÀ̳ª Web.config ÆÄÀÏÀ» ã½À´Ï´Ù.
  2. ±¸¼º ÆÄÀÏ¿¡¼­ <system.web> ¼½¼ÇÀ» ã½À´Ï´Ù.
  3. <machineKey> ¼½¼ÇÀ» ÄÜ¼Ö ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ Ãâ·ÂÀ¸·Î ´ëüÇÕ´Ï´Ù. <machineKey> ¼½¼ÇÀÌ ¾øÀ¸¸é »õ·Î ¸¸µì´Ï´Ù.
  4. ±¸¼º ÆÄÀÏÀ» ÀúÀåÇÕ´Ï´Ù.
  5. À¥ ±×·ìÀÇ ¸ðµç ¼­¹ö¿¡¼­ IIS¸¦ ´Ù½Ã ½ÃÀÛÇÏ¿© Machine.config º¯°æ »çÇ×ÀÌ ¹Ý¿µµÇµµ·Ï ÇÕ´Ï´Ù.

¹®Á¦ ÇØ°á

´ÙÀ½ ½Ã³ª¸®¿ÀÀÇ °æ¿ì <machineKey> ¼½¼ÇÀÌ À¥ ±×·ì °£¿¡ µ¿ÀÏÇÑ ¸í½ÃÀû ۸¦ °®°í ÀÖ´ÂÁö(Áï, <machineKey> ¼½¼ÇÀÇ Æ¯¼º¿¡ ´ëÇØ AutoGenerate ¿É¼ÇÀ» »ç¿ëÇÏÁö ¾ÊÀ½) È®ÀÎÇϽʽÿÀ.
  • Forms ÀÎÁõÀ» »ç¿ëÇÏ´Â °æ¿ì
  • StateServer ¸ðµå¿¡¼­ ¼¼¼Ç »óŸ¦ ½ÇÇàÇÏ´Â °æ¿ì
  • ±âº»ÀûÀ¸·Î enableViewStateMAC Ư¼ºÀÌ True·Î ¼³Á¤µÇ¾î Àֱ⠶§¹®¿¡ À¥ ±×·ì °£¿¡ ViewState¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÏ·Á´Â °æ¿ì

ÂüÁ¶

ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.
308157 Visual Basic .NETÀ» »ç¿ëÇÏ¿© ASP .NET ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ Æû ±â¹Ý ÀÎÁõÀ» ±¸ÇöÇÏ´Â ¹æ¹ý
306238 Visual Basic .NETÀ» »ç¿ëÇÏ¿© ASP.NET ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ Æû ±â¹Ý ÀÎÁõÀ» °¡Áø ¿ªÇÒ ±â¹Ý º¸¾ÈÀ» ±¸ÇöÇÏ´Â ¹æ¹ý
306590 INFO: ASP.NET º¸¾È °³¿ä
307626 INFO: ASP.NET ±¸¼º °³¿ä




Microsoft Á¦Ç° °ü·Ã ±â¼ú Àü¹®°¡µé°ú ¿Â¶óÀÎÀ¸·Î Á¤º¸¸¦ ±³È¯ÇϽ÷Á¸é Microsoft ´º½º ±×·ì¿¡ Âü¿©ÇϽñ⠹ٶø´Ï´Ù.

¼Ó¼º

±â¼ú ÀÚ·á: 313091 - ¸¶Áö¸· °ËÅä: 2007³â 10¿ù 29ÀÏ ¿ù¿äÀÏ - ¼öÁ¤: 3.8
º» ¹®¼­ÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ Á¦Ç°¿¡ Àû¿ëµË´Ï´Ù.
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual Basic .NET 2003 Standard Edition
Ű¿öµå:?
kbproductlink kbconfig kbhowtomaster kbsecurity kbstate KB313091

Çǵå¹é º¸³»±â