ALTER SYMMETRIC KEY(Transact-SQL)

대칭 키의 속성을 변경합니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

ALTER SYMMETRIC KEY Key_name <alter_option>

<alter_option> ::=
   ADD ENCRYPTION BY <encrypting_mechanism> [ , ... n ]
   | 
   DROP ENCRYPTION BY <encrypting_mechanism> [ , ... n ]

<encrypting_mechanism> ::=
   CERTIFICATE certificate_name
   |
   PASSWORD = 'password'
   |
   SYMMETRIC KEY Symmetric_Key_Name
   |
   ASYMMETRIC KEY Asym_Key_Name

인수

  • Key_name
    데이터베이스에서 변경할 대칭 키를 식별하는 이름입니다.
  • ADD ENCRYPTION BY
    지정된 방법을 사용하여 암호화를 추가합니다.
  • DROP ENCRYPTION BY
    지정된 방법의 암호화를 삭제합니다. 대칭 키의 암호화를 모두 제거할 수는 없습니다.
  • CERTIFICATE Certificate_name
    대칭 키를 암호화하는 데 사용되는 인증서를 지정합니다. 이 인증서는 데이터베이스에 이미 있어야 합니다.
  • PASSWORD ='password'
    대칭 키를 암호화하는 데 사용되는 암호를 지정합니다.
  • SYMMETRIC KEY Symmetric_Key_Name
    변경하려는 대칭 키를 암호화하는 데 사용되는 대칭 키를 지정합니다. 이 대칭 키는 데이터베이스에 이미 있어야 하며 열려 있어야 합니다.
  • ASYMMETRIC KEY Asym_Key_Name
    변경하려는 대칭 키를 암호화하는 데 사용되는 비대칭 키를 지정합니다. 이 비대칭 키는 데이터베이스에 이미 있어야 합니다.

주의

ms189440.Caution(ko-kr,SQL.90).gif주의:
데이터베이스 마스터 키의 공개 키 대신 암호를 사용하여 대칭 키를 암호화한 경우 TRIPLE_DES 암호화 알고리즘이 사용됩니다. 따라서 AES와 같은 강력한 암호화 알고리즘을 사용하여 만든 키는 더 약한 알고리즘으로 보호됩니다.

대칭 키의 암호화를 변경하려면 ADD ENCRYPTION 및 DROP ENCRYPTION 구를 사용합니다. 암호화 없이는 키를 절대로 사용할 수 없습니다. 이러한 이유로 인해 최선의 방법은 이전 암호화 형식을 제거하기 전에 새로운 암호화 형식을 추가하는 것입니다.

대칭 키의 소유자를 변경하려면 ALTER AUTHORIZATION을 사용합니다.

사용 권한

대칭 키에 대한 ALTER 권한이 필요합니다. 인증서 또는 비대칭 키를 통해 암호화를 추가하는 경우 해당 인증서 또는 비대칭 키에 대한 VIEW DEFINITION 권한이 필요합니다. 인증서 또는 비대칭 키를 통해 암호화를 삭제하는 경우 해당 인증서 또는 비대칭 키에 대한 CONTROL 권한이 필요합니다.

다음 예에서는 대칭 키를 보호하는 데 사용되는 암호화 방법을 변경합니다. 대칭 키 JanainaKey043은 키가 생성될 때 인증서 Shipping04를 사용하여 암호화됩니다. 키는 암호화되지 않은 상태로 저장될 수 없으므로 암호로 암호화를 추가한 다음 인증서별로 암호화를 제거합니다.

CREATE SYMMETRIC KEY JanainaKey043 WITH ALGORITHM = AES_256 
    ENCRYPTION BY CERTIFICATE Shipping04;
-- Open the key. 
OPEN SYMMETRIC KEY JanainaKey043 DECRYPTION BY CERTIFICATE Shipping04
    WITH PASSWORD = 'pGFD4bb925DGvbd2439587y'; 
-- First, encrypt the key with a password.
ALTER SYMMETRIC KEY JanainaKey043 
    ADD ENCRYPTION BY PASSWORD = '4350$98fdlxk4Bj9oFD9h4';
-- Now remove encryption by the certificate.
ALTER SYMMETRIC KEY JanainaKey043 
    DROP ENCRYPTION BY CERTIFICATE Shipping04;
CLOSE SYMMETRIC KEY JanainaKey043;

참고 항목

참조

CREATE SYMMETRIC KEY(Transact-SQL)
OPEN SYMMETRIC KEY(Transact-SQL)
CLOSE SYMMETRIC KEY(Transact-SQL)
DROP SYMMETRIC KEY(Transact-SQL)

관련 자료

암호화 계층

도움말 및 정보

SQL Server 2005 지원 받기