ALTER SYMMETRIC KEY (Transact-SQL)

 

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2008)sìDatabase SQL di AzurenoAzure SQL Data WarehousenoParallel Data Warehouse

Modifica le proprietà di una chiave simmetrica.

Topic link icon Convenzioni della sintassi 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
Nome con il quale la chiave simmetrica da modificare è nota all'interno del database.

ADD ENCRYPTION BY
Aggiunge la crittografia con il metodo specificato.

DROP ENCRYPTION BY
Rimuove la crittografia con il metodo specificato. Non è possibile rimuovere tutte le forme di crittografia da una chiave simmetrica.

CERTIFICATO nome_certificato
Specifica il certificato utilizzato per crittografare la chiave simmetrica. Il certificato deve esistere nel database corrente.

PASSWORD ='password'
Specifica la password utilizzata per crittografare la chiave simmetrica. password deve soddisfare i requisiti dei criteri password Windows del computer in cui è in esecuzione l'istanza di SQL Server.

CHIAVE SIMMETRICA Symmetric_Key_Name
Specifica la chiave simmetrica utilizzata per crittografare la chiave simmetrica da modificare. La chiave simmetrica deve esistere nel database ed essere aperta.

CHIAVE ASIMMETRICA Asym_Key_Name
Specifica la chiave asimmetrica utilizzata per crittografare la chiave simmetrica da modificare. Tale chiave asimmetrica deve esistere nel database.

System_CAPS_ICON_caution.jpg Attenzione


Se si crittografa una chiave simmetrica con una password anziché con la chiave pubblica della chiave master del database, viene utilizzato l'algoritmo di crittografia TRIPLE_DES. Per questo motivo, le chiavi create con un algoritmo di crittografia avanzato, come AES, vengono a loro volta protette con un algoritmo meno avanzato.

Per modificare la crittografia della chiave simmetrica, utilizzare le istruzioni ADD ENCRYPTION e DROP ENCRYPTION. Una chiave non può mai essere archiviata in forma non crittografata. Per questo motivo, è consigliabile aggiungere la nuova forma di crittografia prima di rimuovere la forma precedente.

Per modificare il proprietario di una chiave simmetrica, utilizzare ALTER AUTHORIZATION.

System_CAPS_ICON_note.jpg Nota


L'algoritmo RC4 è supportato solo per motivi di compatibilità con le versioni precedenti. È possibile crittografare il nuovo materiale usando RC4 o RC4_128 solo quando il livello di compatibilità del database è 90 o 100. (Non consigliato.) Usare un algoritmo più recente, ad esempio uno degli algoritmi AES. In SQL Server 2012 il materiale crittografato utilizzando RC4 o RC4_128 può essere decrittografato in qualsiasi livello di compatibilità.

È richiesta l'autorizzazione ALTER per la chiave simmetrica. Se la crittografia viene applicata con un certificato o una chiave asimmetrica, è richiesta l'autorizzazione VIEW DEFINITION per il certificato o la chiave asimmetrica. Se la crittografia viene rimossa con un certificato o una chiave asimmetrica, è richiesta l'autorizzazione CONTROL per il certificato o la chiave asimmetrica.

Nell'esempio seguente viene modificato il metodo di crittografia utilizzato per proteggere una chiave simmetrica. La chiave simmetrica JanainaKey043 è stata crittografata con il certificato Shipping04 al momento della creazione. Poiché la chiave non può mai essere archiviata in forma non crittografata, in questo esempio la crittografia viene aggiunta con una password e poi rimossa con il certificato.

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 = '<enterStrongPasswordHere>';   
-- First, encrypt the key with a password.  
ALTER SYMMETRIC KEY JanainaKey043   
    ADD ENCRYPTION BY PASSWORD = '<enterStrongPasswordHere>';  
-- Now remove encryption by the certificate.  
ALTER SYMMETRIC KEY JanainaKey043   
    DROP ENCRYPTION BY CERTIFICATE Shipping04;  
CLOSE SYMMETRIC KEY JanainaKey043;  

CREA CHIAVE SIMMETRICA ( Transact-SQL )
APRIRE la CHIAVE SIMMETRICA ( Transact-SQL )
CLOSE SYMMETRIC KEY ( Transact-SQL )
DROP SYMMETRIC KEY ( Transact-SQL )
Gerarchia di crittografia

Aggiunte alla community

AGGIUNGI
Mostra: