암호화 알고리즘 선택

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW)

암호화는 SQL Server 인스턴스를 보호하려는 관리자가 사용할 수 있는 몇 가지 방어 기능 중 하나입니다.

암호화 알고리즘은 권한이 없는 사용자가 쉽게 되돌릴 수 없는 데이터 변환을 정의합니다. 관리자 및 개발자는 DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, 128비트 RC4, DESX, 128비트 AES, 192비트 AES 및 256비트 AES를 비롯한 SQL Server의 여러 알고리즘 중에서 선택할 수 있습니다.

SQL Server 2016(13.x)부터는 , AES_192이외의 AES_128모든 알고리즘이 AES_256 사용되지 않습니다. 오래된 알고리즘을 사용하려면(권장하지 않음) 데이터베이스 간 호환성 수준을 120 이하로 설정해야 합니다.

올바른 알고리즘을 선택하는 방법

모든 상황에 적합한 단일 알고리즘은 없으며 각 알고리즘의 장점에 대한 지침은 이 문서의 범위를 벗어납니다. 그러나 다음과 같은 일반적인 원칙이 적용됩니다.

  • 강력한 암호화는 일반적으로 약한 암호화보다 더 많은 CPU 리소스를 사용합니다.

  • 일반적으로 짧은 키보다 긴 키가 강력한 암호화를 생성합니다.

  • 비대칭 암호화는 대칭 암호화보다 느립니다.

  • 길고 복잡한 암호는 짧은 암호보다 강력합니다.

  • 키가 로컬로만 저장되는 경우 대칭 암호화를 사용하는 것이 좋습니다. 통신을 통해 키를 공유해야 하는 경우 비대칭 암호화를 사용하는 것이 좋습니다.

  • 많은 데이터를 암호화하는 경우 대칭 키를 사용하여 데이터를 암호화하고 비대칭 키를 사용하여 대칭 키를 암호화해야 합니다.

  • 암호화된 데이터는 압축할 수 없지만 압축된 데이터는 암호화할 수 있습니다. 압축을 사용할 경우 데이터를 암호화하기 전에 먼저 압축해야 합니다.

암호화 알고리즘 및 암호화 기술에 대한 자세한 내용은 주요 보안 개념을 참조 하세요.

사용되지 않는 RC4 알고리즘

RC4 알고리즘은 이전 버전과의 호환성을 위해서만 지원됩니다. 새 자료는 데이터베이스가 호환성 수준 90 또는 RC4_128 100인 경우에만 암호화 RC4 할 수 있습니다(권장되지 않음). 대신 AES 알고리즘 중 하나와 같은 새 알고리즘을 사용하십시오. SQL Server 2012(11.x) 이상 버전에서는 암호화된 자료를 사용 RC4 하거나 RC4_128 호환성 수준에서 암호 해독할 수 있습니다.

SQL Server에서 솔트를 자동으로 제공하지 않으므로 동일한 RC4 데이터 블록 또는 RC4_128KEY_GUID 다른 데이터 블록에서 반복적으로 사용하면 동일한 RC4 키가 발생합니다. 동일한 RC4 키를 반복적으로 사용하는 것은 암호화가 약해지는 잘 알려진 오류입니다. 따라서 더 이상 RC4 사용되지 않으며 RC4_128 키워드(keyword). 이 기능은 이후 버전의 SQL Server에서 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요.

DES 알고리즘에 대한 설명

DESX 이름이 잘못 지정되었습니다. 실제로 192비트 키와 ALGORITHM = DESX 함께 Triple DES 암호화를 사용하여 만든 대칭 키를 사용합니다. DESX 알고리즘은 제공되지 않습니다. 이 기능은 이후 버전의 SQL Server에서 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요.

192비트 키와 ALGORITHM = TRIPLE_DES_3KEY 함께 Triple DES를 사용하여 만든 대칭 키입니다.

128비트 키와 함께 ALGORITHM = TRIPLE_DES Triple DES를 사용하여 만든 대칭 키입니다.