Secure Coding in memory or file c#

최근 c#  메모리 암호호를 찾다가 좋은 글을 읽게 되었다.

https://msdn.microsoft.com/library/ms229741

System.Security.Cryptography에서 ProtectedMemory라는 클래스를 사용하면 메모리 에서 데이터를 쉽게 보호 할 수 있다는 것이다.

사용법은 위 URL에 너무 잘 나와있지만 백업하는 차원에서 핵심 코드만 복사해 놓는다.

using System.Security.Cryptography;

   byte[] toEncrypt = UnicodeEncoding.ASCII.GetBytes("ThisIsSomeData16");

   // Encrypt the data in memory.
   EncryptInMemoryData(toEncrypt, MemoryProtectionScope.SameLogon); 

   // Decrypt the data in memory.
   DecryptInMemoryData(toEncrypt, MemoryProtectionScope.SameLogon);

   public static void EncryptInMemoryData(byte[] Buffer, MemoryProtectionScope Scope )
    {
        if (Buffer.Length <= 0)
            throw new ArgumentException("Buffer");
        if (Buffer == null)
            throw new ArgumentNullException("Buffer");


        // Encrypt the data in memory. The result is stored in the same same array as the original data.
        ProtectedMemory.Protect(Buffer, Scope);

    }

    public static void DecryptInMemoryData(byte[] Buffer, MemoryProtectionScope Scope)
    {
        if (Buffer.Length <= 0)
            throw new ArgumentException("Buffer");
        if (Buffer == null)
            throw new ArgumentNullException("Buffer");


        // Decrypt the data in memory. The result is stored in the same same array as the original data.
        ProtectedMemory.Unprotect(Buffer, Scope);

    }

ProtectedData 는 파일 레벨에서 암호화 하는 클래스이다.

https://msdn.microsoft.com/ko-kr/library/system.security.cryptography.protectedmemory

위 링크도 추가로 확임하면 좋다~secure coding

 

Facebook Comments

Leave A Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Detection ADBlockPlease, Disable or add to white list on our site.