SQL Server 인증서 및 비대칭 키

PKI(공개 키 암호화)는 사용자가 공개 키 및 개인 키를 만드는 메시지 비밀화의 형식입니다. 개인 키는 비밀을 유지하지만 공개 키는 다른 사람에게 배포할 수 있습니다. 키가 수학적으로 서로 연관되어 있더라도 공개 키로 개인 키를 쉽게 이끌어 낼 수 없습니다. 공개 키는 데이터를 암호화하는 데 사용되고 개인 키는 데이터의 암호를 해독하는 데 사용됩니다. 공개 키를 사용하여 암호화된 메시지는 올바른 개인 키를 사용해야만 암호를 해독할 수 있습니다. 따라서 서로 다른 두 개의 키가 있을 경우 이러한 키는 비대칭입니다.

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

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

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

[!참고]

SQL Server에는 서버와 데이터베이스에 사용할 인증서와 키를 만들고 관리할 수 있는 기능이 들어 있습니다. 다른 응용 프로그램이나 운영 체제와 함께 인증서와 키를 만들고 관리하는 데 SQL Server를 사용할 수 없습니다.

인증서

인증서는 SQL Server 공개 키(필요에 따라 개인 키)가 포함된 디지털 서명된 보안 개체입니다. 외부에서 생성된 인증서를 사용할 수 있거나 SQL Server에서 인증서를 생성할 수 있습니다.

[!참고]

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

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

SQL Server에서 인증서 사용

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

항목

설명

CREATE CERTIFICATE(Transact-SQL)

인증서를 만들기 위한 명령에 대해 설명합니다.

인증서 및 Service Broker

Service Broker의 인증서 사용 방법에 대한 정보가 표시됩니다.

패키지에 디지털 서명 사용

인증서를 사용하여 소프트웨어 패키지를 서명하는 방법에 대한 정보가 표시됩니다.

대화 보안 인증서

대화에 인증서를 사용하는 방법에 대해 자세히 설명합니다.

데이터베이스 미러링에 대한 인증서 사용

데이터베이스 미러링에 인증서를 사용하는 방법에 대해 설명합니다.

SQL Server 연결 암호화

SQL Server에 대한 연결을 암호화하는 방법에 대해 설명합니다.

비대칭 키

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

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

SQL Server에서 비대칭 키 사용

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

항목

설명

CREATE ASYMMETRIC KEY(Transact-SQL)

비대칭 키를 만들기 위한 명령에 대해 설명합니다.

SignByAsymKey(Transact-SQL)

개체를 서명하는 옵션을 표시합니다.

도구

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

도구

용도

makecert

인증서를 만듭니다.

sn

대칭 키에 대한 강력한 이름을 만듭니다.