데이터베이스 암호화

SQL Server Compact 4.0용 데이터베이스 엔진을 사용하여 데이터베이스를 암호화할 수 있습니다. 암호화된 데이터베이스 역시 데이터베이스 암호로 보호됩니다.

중요

암호화된 데이터베이스는 암호가 있어야 액세스할 수 있기 때문에 암호화된 데이터베이스의 암호를 잊어버린 경우 데이터를 복구할 수 없습니다.

암호화 모드

SQL Server Compact 4.0에서는 데이터베이스를 암호화하기 위한 다음 암호화 모드를 지원합니다. 새로운 암호화 알고리즘(암호화 및 해싱의 조합)은 이러한 암호화 모드로 매핑됩니다.

**AES(Advanced Encryption Standard)**는 키 길이가 128비트 및 256비트인 암호화를 위해 모든 SQL Server Compact 4.0 지원 플랫폼에서 사용할 수 있습니다. **SHA(Secure Hashing Algorithm)**는 키 길이가 256비트 및 512비트인 해싱에 사용할 수 있습니다.

  1. Platform Default: 이 모드에서 사용되는 알고리즘은 AES128_SHA256입니다. 여기서 AES128은 128비트 키를 사용하는 암호화 알고리즘이고 SHA256은 256비트 키를 사용하는 해시 알고리즘입니다. 이 모드는 모든 SQL Server Compact 4.0 지원 플랫폼에서 기본 암호화 모드 옵션입니다.

  2. Engine Default: 이 모드에서는 데이터베이스가 AES256_SHA512를 사용하여 암호화됩니다. 여기서 AES256은 암호화 알고리즘이고 SHA512는 보안 해시 알고리즘입니다. 기본 키 길이는 SQL Server Compact 3.5와의 호환성을 유지하는 데 사용됩니다.

참고

연결 문자열 특성인 Encryption Mode를 사용 가능한 암호화 모드인 Platform Default 또는 Engine Default 중 하나로 설정하여 데이터베이스 암호화에 사용되는 암호화 유형을 지정할 수 있습니다.

암호화된 데이터베이스 만들기

데이터베이스를 만들 때 암호화 및 암호 속성을 입력하여 암호화된 데이터베이스를 만들 수 있습니다. 암호화된 데이터베이스는 다음과 같은 방법으로 만들 수 있습니다.

  • SQL 구문 사용

    SQL 구문을 사용하여 암호화된 데이터베이스를 만들려면 database_password를 지정합니다. 이렇게 하면 데이터베이스가 기본적으로 암호화됩니다. 암호화 모드는 Platform Default입니다. 예를 들면 다음과 같습니다.

    Create Database "secure.sdf" databasepassword '<password>' 
    
  • .NET Compact Framework 데이터 공급자 사용

    SqlCeEngine.CreateDatabase 메서드를 사용하여 암호로 보호된 데이터베이스를 만들려면 연결 문자열에 암호 속성을 지정해야 합니다. 예를 들면 다음과 같습니다.

    "data source=\secure.sdf;encryption mode=platform default;password=<enterStrongPasswordHere>;
    

    자세한 내용은 MicrosoftVisual Studio 설명서에서 System.Data.SqlServerCe.SqlCeEngine 클래스를 참조하십시오.

  • OLE DB 사용

    SQL Server Compact용 OLE DB 공급자를 사용하여 암호화된 데이터베이스를 만들려면 공급자별 속성 DBPROP_SSCE_ENCRYPTIONMODE를 사용하여 암호화 모드를 지정하고 공급자별 속성 DBPROP_SSCE_DBPASSWORD를 사용하여 암호를 지정해야 합니다.

암호화된 데이터베이스 액세스

암호화된 데이터베이스를 열려면 암호를 입력해야 합니다. 암호화된 데이터베이스는 다음과 같은 방법으로 액세스할 수 있습니다.

  • SQL Server Compact용 데이터 공급자 사용

    SqlCeConnection.Open 메서드를 사용하여 암호로 보호된 데이터베이스에 액세스하려면 연결 문자열에 암호 속성을 지정해야 합니다. 예를 들면 다음과 같습니다.

    "data source=ssce.sdf; password=<enterStrongPasswordHere>"
    

    자세한 내용은 Visual Studio 설명서에서 System.Data.SqlServerCe.SqlCeEngine 클래스를 참조하십시오.

  • OLE DB 사용

    OLE DB에서 암호로 보호된 데이터베이스를 열려면 공급자별 속성 DBPROP_SSCE_DBPASSWORD를 지정해야 합니다.

참고

이전 버전의 SQL Server Compact를 사용하여 만든 데이터베이스 파일을 열려고 하면 해당 파일을 열 수 없다는 메시지가 표시됩니다. 이는 SQL Server Compact 4.0의 데이터베이스 파일 형식이 이전 버전과 다르기 때문입니다. SQL Server Compact 4.0을 사용하여 데이터베이스 파일을 열려면 먼저 데이터베이스 파일을 업그레이드해야 합니다.

SQL Server Compact 3.1/3.5 데이터베이스를 SQL Server Compact 4.0 데이터베이스로 업그레이드할 수 있지만 SQL Server Compact 2.0은 업그레이드할 수 없습니다. 자세한 내용은 이전 버전에서 업그레이드(SQL Server Compact)를 참조하십시오.

참고 항목

태스크

방법: 데이터베이스 보안(Visual Studio)