readbud - get paid to read and rate articles

Rabu, 01 Juni 2011

Transparent Data Encryption in SQL Server 2008

Problem
Pada saat melakukan backup database SQL Server, sebenarnya file backup tersebut masih berupa plain text, dimana kalau dibuka di wordpad atau sejenisnya, masih akan terlihat data record aslinya. Nah, kebutuhannya adalah bagaimana agar file hasil backup tersebut aman tidak bisa dibuka sembarangan, dan yang lebih penting lagi adalah tidak bisa direstore di sembarang server.

Solusi

Kini SQL Server 2008 dilengkapi teknologi yang disebut "Transparent data Encryption" (TDE). TDE ini akan mengaktifkan enkripsi di SQL Server dengan menggunakan algoritma Enkripsi seperti AES dan RSA dengan teknik asymmetric key.

Disebut transparent karena begitu database telah dienkripsi dengan menginstall certificate di database tersebut, maka data yang tersimpan di database, backup file, tempdb dan seterusnya otomatis ter-enkripsi dengan aman.

Langkah-langkah konfigurasi:

- Bikin master key di database master

USE master
go
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'my_Pa$$w0rd'

- Kemudian membuat server-base certificate yang digunakan untuk enkripsi database

CREATE CERTIFICATE NorthwindCert
WITH SUBJECT =' Certificate untuk Northwind Database'

- Selanjutnya, masuk ke database yang akan dienkripsi

USE Northwind
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_128
ENCRYPTION BY SERVER CERTIFICATE NorthwindCert
GO

- Kemudian mengaktifkan enkripsi di database Northwind

ALTER DATABASE Northwind
SET ENCRYPTION ON

- Test dengan melakukan backup database

BACKUP DATABAE Northwind
TO DISK='C:\Northwind_encrypted.bak'
WITH INIT, STATS=10

- Lakukan restore Backup tersebut ke Server Lain, hasilnya .......
Tra..da... anda akan mendapat pesan sebagai berikut :
"Restore failed for Server XXX (Microsoft.SqlServer.SmoExtended)
Additional Information :
System.Data.SqlClient.SqlError : cannot find server certificate with thumprint bla..bla.."

Error diatas muncul karena pada saat restore, system akan mencari Certificate yang sebelumnya sudah ditanam di Database Northwind yang otomatis juga akan ikut di file backup.

Solusinya

Jika mendapatkan Error seperti di atas, lakukan backup Certificate terlebih dahulu di server sebelumnya yang diinstal certificate untuk database Northwind

USE master
GO
BACKUP CERTIFICATE NorthwindCert
TO FILE='C:\NorthwindCert_File.cer'
WITH PRIVATE KEY (FILE = 'C:\NortwindCert_Key.pvk',
ENCRYPTION BY PASSWORD = 'my_Pa$$w0rd'

Kemudian di server Tujuan yang akan digunakan untuk Restore Database, lakukan


USE MASTER
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD='EnKrypt3d_Pa$$w0rd'
GO

- Lakukan import Certificate

CREATE CERTIFICATE NorthwindCert
FROM FILE ='c:\NorthwindCert_File.cer'
WITH PRIVATE KEY (FILE= 'C:\NorthwindCert_Key.pvk',
DECRYPTION BY PASSWORD='my_Pa$$w0rd'
GO

- Kemudian lakukan Restore Database, dan hasilnya... tentunya harus berhasil, kalau tidak berarti ada step yang kelewat..

1 komentar:

Anonim mengatakan...

Mohon izin jika berkenan saya ingin meminta contact Bapak Mustofa terkait dengan TDE yang ingin saya tanyakan. Terima kasih