Enkripsi data adalah model kemanan digital yang memungkinkan untuk mengubah sebuah value menjadi value lain, artinya satu bentuk data dikonversikan dengan cara tertentu hingga menhghasilkan data yang sama namun dalam bentuk yang lain. Contoh sederhana: kata TASIKMALAYA jika dikonversikan dalam model MD5 maka hasilnya adalah “1be656f39f8fc09e83928cd8a41c2e3f”. Data yang dienkripsi biasanya disebut dengan ciphertext, dan data yang tidak dienkripsi disebut dengan plaintext. Data yang dienkripsi tidak bisa dibuka/dilihat begitu saja, melainkan harus melewati proses dekripsi terlebih dahulu. Jadi dekripsi adalah proses mengembalikan/merubah hasil enkripsi ke bentuk semula.
Pada proses enkripsi terjadi proses konversi data yang melibatkkan algoritma eknripsi yang biasanya menggunakan metode seperti md5, sha-1, crc, dll, yang mana algoritma ini biasanya dibuat sendiri oleh perancang enkripsi sehingga kemungkinan kecil orang lain mengetahui kode dekripsinya, bersamaan dengan pembuatan algoritma enkripsi ini nantinya dibuat juga kunci enkripsinya agar dapat dilakukan proses dekripsi, dan hanya dengan kunci inilah data bisa dienkripsi.
Database sebagai sebuah media penyimpanan data digital tentunya menyimpan banyak sekali informasi penting yang mungkin peruntukannya tidak untuk semua orang (pihak-pihak tertentu saja) oleh karena itu salah satu bentuk pengamanannya adalah dengan menggunakan enkripsi data. Karena jika pihak tertentu mendapatkan backup database asli, mereka tidak secara langsung dapat membuka database yang dienkripsi. 3 cara yang bisa kita lakukan untuk melindungi database adalah penggunaan firewall pada server, melakukan enkripsi database, menerapkan log in database.
Proses pengaturan enkripsi database pada SQL Server: 1) Membuat master key, 2) Membuat server certificate, 3) Membuat database encryption key. Denngan mengimplementasikan TDE ini maka tanpa adanya server certificate dan master key, database tidak akan bisa dibaca/diakses walaupun orang lain memiliki backup database ataubahkan memiliki harddisk yang terdapat database aslinya.
--GUNAKAN DATABASE MASTER
USE MASTER
--BUAT MASTER KEY
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'DBA1_2020'
--BUAT CERTIFICATE
CREATE CERTIFICATE SERVERCERT WITH SUBJECT = 'SERTIFIKAT_DBA1'
--GUNAKAN DATABASE YANG AKAN DIENKRIPSI
USE DBA1DB
--BUAT ENKRIPSI DATABASE
CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_128
ENCRYPTION BY SERVER CERTIFICATE SERVERCERT
--BUAT BACKUP CERTIFICATE DAN MASTER KEY
BACKUP CERTIFICATE SERVERCERT TO FILE = 'SERTIFIKAT_DBA1_FILE'
WITH PRIVATE KEY ( FILE = 'PRIVATE_KEY_DBA1_FILE',
ENCRYPTION BY PASSWORD = 'DBA1_2020')
--RESTORE CERTIFICATE DAN MASTER KEY
CREATE CERTIFICATE SERVERCERT FROM FILE = 'SERTIFIKAT_DBA1_FILE'
WITH PRIVATE KEY ( FILE = 'PRIVATE_KEY_DBA1_FILE',
ENCRYPTION BY PASSWORD = 'DBA1_2020')
--MENGAKTIFKAN ENKRIPSI PADA DATABASE YANG DIGUNAKAN
ALTER DATABASE SESI10DB SET ENCRYPTION ON
--MELIHAT DATABASE YANG DIENKRIPSI
SELECT * FROM SYS.dm_database_encryption_keys
Nah demikianlah sekilas pembahasa mengenai Transparent Data Encryption (TDE) Pada SQL Server, kalau kamu tertarik dengan seputar sql server atau database design ada bebearapa postingan lagi di blog ini yang bisa kamu baca dan insyaalloh informasinya bermanfaat buat kamu, jadi silahkan dieksplor ya.
Sekian postingan kali ini, terimakasih telah berkunjung, semoga postingan ini dapat membantu dan ada manfaatnya, sampai jumpa di postingan selanjutnya, wassalamualaikum warohmatullohi wabarokatuh.
Post a Comment