SQL Server 인증서 및 비대칭 키SQL Server Certificates and Asymmetric Keys

PKI(공개 키 암호화)는 사용자가 공개 키 및 개인 키를 만드는 메시지 비밀화의 형식입니다.Public Key Cryptography (PKI) is a form of message secrecy in which a user creates a public key and a private key. 개인 키는 비밀을 유지하지만 공개 키는 다른 사람에게 배포할 수 있습니다.The private key is kept secret, whereas the public key can be distributed to others. 키가 수학적으로 서로 연관되어 있더라도 공개 키로 개인 키를 쉽게 이끌어 낼 수 없습니다.Although the keys are mathematically related, the private key cannot be easily derived by using the public key. 공개 키는 데이터를 암호화하는 데 사용되고 개인 키는 데이터의 암호를 해독하는 데 사용됩니다.The public key is used to encrypt data and the private key is used to decrypt data. 공개 키를 사용하여 암호화된 메시지는 올바른 개인 키를 사용해야만 암호를 해독할 수 있습니다.A message that is encrypted by using the public key can only be decrypted by using the correct private key. 따라서 서로 다른 두 개의 키가 있을 경우 이러한 키는 비대칭입니다.Since there are two different keys, these keys are asymmetric.

인증서 및 비대칭 키의 두 가지 방법 모두 비대칭 암호화를 사용합니다.Certificates and asymmetric keys are both ways to use asymmetric encryption. 인증서는 만료 날짜 및 발급자와 같은 자세한 정보를 포함할 수 있으므로 비대칭 키의 컨테이너로 종종 사용됩니다.Certificates are often used as containers for asymmetric keys because they can contain more information such as expiry dates and issuers. 암호화 알고리즘에 있어서 두 가지 메커니즘 사이에 차이점이 없고 지정된 동일한 키 길이에 지정된 강도의 차이가 없습니다.There is no difference between the two mechanisms for the cryptographic algorithm, and no difference in strength given the same key length. 일반적으로 인증서를 사용하여 데이터베이스에서 다른 유형의 암호화 키를 암호화하거나 코드 모듈을 서명합니다.Generally, you use a certificate to encrypt other types of encryption keys in a database, or to sign code modules.

인증서 및 비대칭 키를 통해 다른 사용자가 암호화한 데이터를 해독할 수 있습니다.Certificates and asymmetric keys can decrypt data that the other encrypts. 일반적으로 비대칭 암호화를 사용하여 데이터베이스의 저장소에 대한 대칭 키를 암호화합니다.Generally, you use asymmetric encryption to encrypt a symmetric key for storage in a database.

공개 키에는 인증서에 있을 수 있는 특정한 형식이 없고 이 키를 파일로 내보낼 수 없습니다.A public key does not have a particular format like a certificate would have, and you cannot export it to a file.

참고

SQL ServerSQL Server 에는 서버와 데이터베이스에 사용할 인증서와 키를 만들고 관리할 수 있는 기능이 들어 있습니다. contains features that enable you to create and manage certificates and keys for use with the server and database. SQL ServerSQL Server 를 사용할 수 없습니다. cannot be used to create and manage certificates and keys with other applications or in the operating system.

인증서Certificates

인증서는 SQL ServerSQL Server공개 키(필요에 따라 개인 키)가 포함된 디지털 서명된 보안 개체입니다.A certificate is a digitally signed security object that contains a public (and optionally a private) key for SQL ServerSQL Server. 외부에서 생성된 인증서를 사용할 수 있거나 SQL ServerSQL Server 에서 인증서를 생성할 수 있습니다.You can use externally generated certificates or SQL ServerSQL Server can generate certificates.

참고

SQL ServerSQL Server 인증서는 IETF X.509v3 인증서 표준을 따릅니다. certificates comply with the IETF X.509v3 certificate standard.

인증서는 X.509 인증서 파일로 내보내기와 가져오기 키 모두에 대한 옵션 때문에 유용합니다.Certificates are useful because of the option of both exporting and importing keys to X.509 certificate files. 인증서 생성에 대한 구문을 통해 만료 날짜와 같이 인증서의 생성 옵션을 사용할 수 있습니다.The syntax for creating certificates allows for creation options for certificates such as an expiry date.

SQL Server에서 인증서 사용Using a Certificate in SQL Server

인증서를 사용하면 데이터베이스 미러링에서 패키지 및 기타 개체를 서명하도록 안전하게 연결할 수 있으며 데이터 또는 연결을 암호화할 수 있습니다.Certificates can be used to help secure connections, in database mirroring, to sign packages and other objects, or to encrypt data or connections. 다음 표에서는 SQL ServerSQL Server의 인증서에 대한 추가 리소스를 보여 줍니다.The following table lists additional resources for certificates in SQL ServerSQL Server.

항목Topic 설명Description
CREATE CERTIFICATE(Transact-SQL)CREATE CERTIFICATE (Transact-SQL) 인증서를 만들기 위한 명령에 대해 설명합니다.Explains the command for creating certificates.
디지털 서명을 사용하여 패키지 원본 확인Identify the Source of Packages with Digital Signatures 인증서를 사용하여 소프트웨어 패키지를 서명하는 방법에 대한 정보가 표시됩니다.Shows information about how to use certificates to sign software packages.
데이터베이스 미러링 끝점에 대한 인증서 사용(Transact-SQL)Use Certificates for a Database Mirroring Endpoint (Transact-SQL) 데이터베이스 미러링에 인증서를 사용하는 방법에 대해 설명합니다.Covers information about how to use certificates with Database Mirroring.

비대칭 키Asymmetric Keys

비대칭 키는 대칭 키의 보안을 설정하는 데 사용됩니다.Asymmetric keys are used for securing symmetric keys. 또한 제한된 데이터 암호화와 데이터베이스 개체의 디지털 서명에도 사용할 수 있습니다.They can also be used for limited data encryption and to digitally sign database objects. 비대칭 키는 개인 키와 해당 공개 키로 구성됩니다.An asymmetric key consists of a private key and a corresponding public key. 비대칭 키에 대한 자세한 내용은 CREATE ASYMMETRIC KEY (Transact-SQL)입니다.For more information about asymmetric keys, see CREATE ASYMMETRIC KEY (Transact-SQL).

비대칭 키는 강력한 이름 키 파일에서 가져올 수 있지만 내보낼 수 없으며Asymmetric keys can be imported from strong name key files, but they cannot be exported. 만료 옵션도 없습니다.They also do not have expiry options. 비대칭 키는 연결을 암호화할 수 없습니다.Asymmetric keys cannot encrypt connections.

SQL Server에서 비대칭 키 사용Using an Asymmetric Key in SQL Server

비대칭 키는 데이터에 보안을 설정하거나 일반 텍스트를 서명하는 데 사용할 수 있습니다.Asymmetric keys can be used to help secure data or sign plaintext. 다음 표에서는 SQL ServerSQL Server의 비대칭 키에 대한 추가 리소스를 보여 줍니다.The following table lists additional resources for asymmetric keys in SQL ServerSQL Server.

항목Topic 설명Description
CREATE ASYMMETRIC KEY (Transact-SQL)CREATE ASYMMETRIC KEY (Transact-SQL) 비대칭 키를 만들기 위한 명령에 대해 설명합니다.Explains the command for creating asymmetric keys.
SIGNBYASYMKEY(Transact-SQL)SIGNBYASYMKEY (Transact-SQL) 개체를 서명하는 옵션을 표시합니다.Displays the options for signing objects.

ToolsTools

MicrosoftMicrosoft 에서는 인증서 및 강력한 이름 키 파일을 생성하는 도구 및 유틸리티를 제공합니다. provides tools and utilities that will generate certificates and strong name key files. 이러한 도구는 키 생성 프로세스에서 SQL ServerSQL Server 구문보다 더 많은 융통성을 제공합니다.These tools offer a richer amount of flexibility in the key generation process than the SQL ServerSQL Server syntax. 이러한 도구를 사용하여 보다 복잡한 키 길이가 있는 RSA 키를 만든 다음 이 키를 SQL ServerSQL Server로 가져올 수 있습니다.You can use these tools to create RSA keys with more complex key lengths and then import them into SQL ServerSQL Server. 다음 표에서는 이러한 도구를 찾을 수 있는 위치를 보여 줍니다.The following table explains shows where to find these tools.

도구Tool 용도Purpose
makecertmakecert 인증서를 만듭니다.Creates certificates.
snsn 대칭 키에 대한 강력한 이름을 만듭니다.Creates strong names for symmetric keys.

암호화 알고리즘 선택Choose an Encryption Algorithm

CREATE SYMMETRIC KEY (Transact-SQL)CREATE SYMMETRIC KEY (Transact-SQL)

CREATE CERTIFICATE(Transact-SQL)CREATE CERTIFICATE (Transact-SQL)

참고 항목See Also

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