다음을 통해 공유


유효성 검사 없이 암호화 사용

SQL Server에서는 로그인과 관련한 네트워크 패킷이 항상 암호화됩니다. 서버가 시작될 때 서버에 인증서가 제공되지 않으면 SQL Server는 로그인 패킷을 암호화하는 데 사용할 자체 서명된 인증서를 생성합니다.

애플리케이션에 따라 연결 문자열 키워드나 연결 속성을 사용하여 모든 네트워크 트래픽을 암호화해야 할 수도 있습니다. IDbInitialize::Initialize와 함께 공급자 문자열을 사용하는 경우 키워드는 ODBC 및 OLE DB에 대해 "암호화"이거나 IDataInitialize와 함께 초기화 문자열을 사용할 때 ADO 및 OLE DB에 대해 "데이터 암호화 사용"입니다. 프로토콜 암호화 강제 적용 옵션을 사용하여 SQL Server 구성 관리자 구성할 수도 있습니다. 기본적으로 연결의 모든 네트워크 트래픽을 암호화하려면 서버에 인증서를 제공해야 합니다.

연결 문자열 키워드에 대한 자세한 내용은 SQL Server Native Client 연결 문자열 키워드 사용을 참조하세요.

서버에서 인증서가 프로비전되지 않은 경우 암호화를 사용하도록 설정하려면 SQL Server 구성 관리자 사용하여 프로토콜 암호화 강제 적용 및 서버 인증서 신뢰 옵션을 모두 설정할 수 있습니다. 이 경우 확인할 수 있는 인증서가 서버에 제공되지 않으면 유효성 검사 없이 자체 서명된 서버 인증서가 암호화에 사용됩니다.

애플리케이션에서 "TrustServerCertificate" 키워드 또는 이 키워드의 관련 연결 특성을 사용하여 암호화를 보장할 수도 있습니다. 애플리케이션 설정으로 인해 SQL Server 클라이언트 구성 관리자에서 설정한 보안 수준이 낮아지지는 않지만 더 강화될 수는 있습니다. 예를 들어 클라이언트에 대해 프로토콜 암호화 강제 사용 옵션을 설정하지 않았지만 애플리케이션 자체에서 암호화를 요청할 수 있습니다. 또한 서버 인증서가 제공되지 않은 경우에도 암호화를 보장할 수 있도록 애플리케이션에서 암호화 및 "TrustServerCertificate"를 요청할 수도 있습니다. 그러나 클라이언트 구성에 "TrustServerCertificate"가 설정되어 있지 않은 경우에는 제공된 서버 인증서가 필요합니다. 다음 표에서는 이러한 모든 경우에 대해 설명합니다.

프로토콜 암호화 강제 사용 클라이언트 설정 서버 인증서 신뢰 클라이언트 설정 연결 문자열/연결 특성 Encrypt/Use Encryption for Data 연결 문자열/연결 특성 서버 인증서 신뢰 결과
아니요 해당 없음 아니요(기본값) 무시됨 암호화가 수행되지 않습니다.
아니요 해당 없음 아니요(기본값) 확인할 수 있는 서버 인증서가 있는 경우에만 암호화가 수행되고 그렇지 않으면 연결 시도가 실패합니다.
아니요 해당 없음 항상 암호화가 수행되지만 자체 서명된 서버 인증서가 사용될 수 있습니다.
아니요 무시됨 무시됨 확인할 수 있는 서버 인증서가 있는 경우에만 암호화가 수행되고 그렇지 않으면 연결 시도가 실패합니다.
yes 아니요(기본값) 무시됨 항상 암호화가 수행되지만 자체 서명된 서버 인증서가 사용될 수 있습니다.
아니요(기본값) 확인할 수 있는 서버 인증서가 있는 경우에만 암호화가 수행되고 그렇지 않으면 연결 시도가 실패합니다.
yes Yes Yes 항상 암호화가 수행되지만 자체 서명된 서버 인증서가 사용될 수 있습니다.

SQL Server Native Client OLE DB 공급자

SQL Server Native Client OLE DB 공급자는 DBPROPSET_SQLSERVERDBINIT 속성 집합에서 구현되는 SSPROP_INIT_TRUST_SERVER_CERTIFICATE 데이터 원본 초기화 속성을 추가하여 유효성 검사 없이 암호화를 지원합니다. 또한 "TrustServerCertificate"라는 새로운 연결 문자열 키워드가 추가되었습니다. 이 문자열 키워드는 예 또는 아니요 값을 받으며, 기본값은 아니요입니다. 서비스 구성 요소를 사용하는 경우에는 True 또는 False 값을 받으며, 기본값은 False입니다.

DBPROPSET_SQLSERVERDBINIT 속성 집합의 향상된 기능에 대한 자세한 내용은 초기화 및 권한 부여 속성을 참조하세요.

SQL Server Native Client ODBC 드라이버

SQL Server Native Client ODBC 드라이버는 SQLSetConnectAttr 및 SQLGetConnectAttr 함수를 추가하여 유효성 검사 없이 암호화를 지원합니다. SQL_TRUST_SERVER_CERTIFICATE_YES 또는 SQL_TRUST_SERVER_CERTIFICATE_NO를 받는 SQL_COPT_SS_TRUST_SERVER_CERTIFICATE가 추가되었습니다. 기본값은 SQL_TRUST_SERVER_CERTIFICATE_NO입니다. 또한 "TrustServerCertificate"라는 새로운 연결 문자열 키워드가 추가되었습니다. 이 문자열 키워드는 예 또는 아니요 값을 받으며, 기본값은 "아니요"입니다.

참고 항목

SQL Server Native Client 기능