SQL Server 인증서 및 비대칭 키

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

공개 키 암호화는 사용자가 공개 키와 프라이빗 키를 만드는 메시지 비밀의 한 형태입니다. 프라이빗 키는 비밀로 유지되는 반면 공개 키는 다른 사람에게 배포할 수 있습니다. 키는 수학적으로 관련되어 있지만 공개 키를 사용하여 프라이빗 키를 쉽게 파생할 수 없습니다. 공개 키를 사용하여 해당 프라이빗 키만 암호를 해독할 수 있는 데이터를 암호화할 수 있습니다. 프라이빗 키의 소유자에게 메시지를 암호화하는 데 사용할 수 있습니다. 마찬가지로 프라이빗 키의 소유자는 공개 키로만 암호 해독할 수 있는 데이터를 암호화할 수 있습니다. 이 사용은 인증서에 포함된 정보가 프라이빗 키의 소유자에 의해 암호화되어 콘텐츠 작성자를 보장하는 디지털 인증서의 기초를 형성합니다. 암호화 및 암호 해독 키는 서로 다르기 때문에 비대칭 키라고 합니다.

인증서 및 비대칭 키는 모두 비대칭 암호화를 사용하는 방법입니다. 인증서는 만료 날짜 및 발급자와 같은 추가 정보를 포함할 수 있으므로 비대칭 키의 컨테이너로 자주 사용됩니다. 암호화 알고리즘에 대한 두 메커니즘 사이에는 차이가 없으며 동일한 키 길이를 감안할 때 강도에 차이가 없습니다. 일반적으로 인증서를 사용하여 데이터베이스에서 다른 유형의 암호화 키를 암호화하거나 코드 모듈을 서명합니다.

인증서 및 비대칭 키는 다른 사용자가 암호화하는 데이터의 암호를 해독할 수 있습니다. 일반적으로 비대칭 암호화를 사용하여 데이터베이스의 스토리지에 대한 대칭 키를 암호화합니다.

공개 키에는 인증서에 있을 수 있는 특정한 형식이 없고 이 키를 파일로 내보낼 수 없습니다.

참고 항목

SQL Server에는 서버 및 데이터베이스에 사용할 인증서 및 키를 만들고 관리할 수 있는 기능이 포함되어 있습니다. SQL Server는 다른 애플리케이션 또는 운영 체제에서 인증서 및 키를 만들고 관리하는 데 사용할 수 없습니다.

인증서

인증서는 SQL Server에 대한 공용(및 선택적으로 프라이빗) 키를 포함하는 디지털 서명된 보안 개체입니다. 외부에서 생성된 인증서를 사용하거나 SQL Server에서 인증서를 생성할 수 있습니다.

참고 항목

SQL Server 인증서는 IETF X.509v3 인증서 표준을 준수합니다.

인증서는 X.509 인증서 파일로 내보내기와 가져오기 키 모두에 대한 옵션 때문에 유용합니다. 인증서 생성에 대한 구문을 통해 만료 날짜와 같이 인증서의 생성 옵션을 사용할 수 있습니다.

SQL Server에서 인증서 사용

인증서를 사용하여 데이터베이스 미러링에서 연결을 보호하거나 패키지 및 기타 개체에 서명하거나 데이터 또는 연결을 암호화할 수 있습니다. 다음 표에서는 SQL Server의 인증서에 대한 추가 리소스를 나열합니다.

토픽 설명
CREATE CERTIFICATE(Transact-SQL) 인증서를 만들기 위한 명령을 설명합니다.
디지털 서명을 사용하여 패키지 원본 식별 인증서를 사용하여 소프트웨어 패키지에 서명하는 방법에 대한 정보를 표시합니다.
데이터베이스 미러링 엔드포인트에 대한 인증서 사용(Transact-SQL) 데이터베이스 미러링에 인증서를 사용하는 방법에 대해 설명합니다.

비대칭 키

비대칭 키는 대칭 키를 보호하는 데 사용됩니다. 또한 제한된 데이터 암호화와 데이터베이스 개체의 디지털 서명에도 사용할 수 있습니다. 비대칭 키는 프라이빗 키와 해당 공개 키로 구성됩니다. 비대칭 키에 대한 자세한 내용은 CREATE ASYMMETRIC KEY(Transact-SQL)를 참조하세요.

강력한 이름 키 파일에서 비대칭 키를 가져올 수 있지만 내보낼 수는 없습니다. 만료 옵션도 없습니다. 비대칭 키는 연결을 암호화할 수 없습니다.

SQL Server에서 비대칭 키 사용

비대칭 키는 데이터에 보안을 설정하거나 일반 텍스트를 서명하는 데 사용할 수 있습니다. 다음 표에서는 SQL Server의 비대칭 키에 대한 추가 리소스를 나열합니다.

토픽 설명
CREATE ASYMMETRIC KEY(Transact-SQL) 비대칭 키를 만들기 위한 명령에 대해 설명합니다.
SIGNBYASYMKEY(Transact-SQL) 개체를 서명하는 옵션을 표시합니다.

도구

Microsoft는 인증서 및 강력한 이름 키 파일을 생성하는 도구와 유틸리티를 제공합니다. 이러한 도구는 SQL Server 구문보다 키 생성 프로세스에서 더 많은 유연성을 제공합니다. 이러한 도구를 사용하여 더 복잡한 키 길이로 RSA 키를 만든 다음 SQL Server로 가져올 수 있습니다. 다음 표에서는 이러한 도구를 찾을 수 있는 위치를 보여줍니다.

도구 목적
New-SelfSignedCertificate 자체 서명된 인증서를 만듭니다.
Makecert 인증서를 만듭니다. New-SelfSignedCertificate에 찬성하여 사용되지 않습니다.
Sn 대칭 키에 대한 강력한 이름을 만듭니다.

암호화 알고리즘 선택

CREATE SYMMETRIC KEY(Transact-SQL)

CREATE CERTIFICATE(Transact-SQL)

참고 항목

sys.certificates(Transact-SQL)
TDE(투명한 데이터 암호화)