다음을 통해 공유


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

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 연결 문자열/연결 특성 서버 인증서 신뢰 결과
아니오 해당 없음(N/A) 아니요(기본값) 무시됨 암호화가 발생하지 않습니다.
아니오 해당 없음(N/A) 아니요(기본값) 암호화는 확인 가능한 서버 인증서가 있는 경우에만 발생하며, 그렇지 않으면 연결 시도가 실패합니다.
아니오 해당 없음(N/A) 항상 암호화가 수행되지만 자체 서명된 서버 인증서가 사용될 수 있습니다.
아니오 무시됨 무시됨 암호화는 확인 가능한 서버 인증서가 있는 경우에만 발생하며, 그렇지 않으면 연결 시도가 실패합니다.
아니요(기본값) 무시됨 항상 암호화가 수행되지만 자체 서명된 서버 인증서가 사용될 수 있습니다.
아니요(기본값) 암호화는 확인 가능한 서버 인증서가 있는 경우에만 발생하며, 그렇지 않으면 연결 시도가 실패합니다.
암호화는 항상 발생하지만 자체 서명된 서버 인증서를 사용할 수 있습니다.

SQL Server Native Client OLE DB 공급자

SQL Server Native Client OLE DB 공급자는 DBPROPSET_SQLSERVERDBINIT 속성 집합에 구현되는 SSPROP_INIT_TRUST_SERVER_CERTIFICATE 데이터 원본 초기화 속성을 추가하여 유효성 검사 없이 암호화를 지원합니다. 또한 추가된 새 연결 문자열 키워드 "TrustServerCertificate"가 추가되었습니다. 예 또는 아니요 값을 허용합니다. 기본값은 no입니다. 서비스 구성 요소를 사용하는 경우 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"가 추가되었습니다. 예 또는 아니요 값을 허용합니다. "no"가 기본값입니다.

또한 참조하십시오

SQL Server Native Client 기능