Oracle® নিরাপত্তার উদ্দেশ্যে Oracle 12C-তে স্বচ্ছ ডেটা এনক্রিপশন (TDE) বৈশিষ্ট্য চালু করেছে যাতে ব্যবহারকারীরা সংবেদনশীল ডেটার জন্য টেবিলস্পেস এবং কলাম-স্তরের এনক্রিপশন সক্ষম করে।
পরিচয়
আপনি ডেটা এনক্রিপ্ট করার পরে, শুধুমাত্র অনুমোদিত ব্যবহারকারী বা অ্যাপ্লিকেশনগুলি এটি অ্যাক্সেস করতে পারে৷ ওরাকল ডেটাবেসগুলিকে প্রমাণীকরণ, অনুমোদন এবং অডিট করার জন্য টুল এবং প্রক্রিয়াগুলি ব্যবহার করে কিন্তু OS ডেটাফাইলগুলি নয় যা ডেটা সংরক্ষণ করে৷
ওরাকল ডেটাবেস অ্যাডভান্সড সিকিউরিটি গাইড (এএসওএজি) অনুসারে, “TDE ডেটা ফাইলে সংরক্ষিত সংবেদনশীল ডেটা এনক্রিপ্ট করে। অননুমোদিত ডিক্রিপশন প্রতিরোধ করতে, TDE ডাটাবেসের বাইরের একটি নিরাপত্তা মডিউলে এনক্রিপশন কীগুলিকে সংরক্ষণ করে, যাকে কীস্টোর বলা হয়।"
প্রয়োজনীয় TDE বিশেষাধিকার
TDE কনফিগার করতে, ব্যবহারকারীকে SYSKM
প্রদান করুন প্রশাসনিক বিশেষাধিকার। তারপরে ASOAG সুপারিশ করে যে আপনি "এর জন্য একটি পাসওয়ার্ড ফাইল তৈরি করুন যাতে ব্যবহারকারী একটি পাসওয়ার্ড ব্যবহার করে SYSKM হিসাবে ডেটাবেসের সাথে সংযোগ করতে পারে৷ … TDE কলাম বা টেবিলস্পেস এনক্রিপশন কনফিগার করতে, আপনার SYSKM … বিশেষাধিকারের প্রয়োজন নেই।” যাইহোক, ASOAG যোগ করেছে যে আপনার নিম্নলিখিত "টেবিল কলাম এবং টেবিলস্পেসগুলি এনক্রিপ্ট করার জন্য বিশেষাধিকারগুলির প্রয়োজন:
- টেবিল তৈরি করুন
- টেবিল পরিবর্তন করুন
- টেবিলস্পেস তৈরি করুন
- টেবিলস্পেস পরিবর্তন করুন (অনলাইন এবং অফলাইন টেবিলস্পেস এনক্রিপশনের জন্য)
- ডাটাবেস পরিবর্তন করুন (দ্রুত অফলাইন টেবিলস্পেস এনক্রিপশনের জন্য)”
এই সুবিধাগুলি ছাড়াও, আপনার একটি ওয়ালেট তৈরি করা উচিত যা TDE সক্ষম করার জন্য সর্বদা খোলা থাকা উচিত। ওয়ালেটটি একটি কী স্টোর নামেও পরিচিত৷ 12c মধ্যে।
দুই ধরনের TDE
নিম্নলিখিত বিভাগ দুটি ধরনের TDE বর্ণনা করে:
1. স্বচ্ছ ডেটা এনক্রিপশন কলাম এনক্রিপশন
এটি টেবিলে সংরক্ষিত ক্রেডিট কার্ড, সামাজিক নিরাপত্তা নম্বর ইত্যাদির মতো গোপনীয় তথ্য রক্ষা করে। এএসওএজি অনুসারে, এটি সংবেদনশীল টেবিল কলামগুলিকে স্বচ্ছভাবে এনক্রিপ্ট এবং ডিক্রিপ্ট করতে "দ্বি-স্তরযুক্ত কী-ভিত্তিক আর্কিটেকচার ব্যবহার করে। TDE মাস্টার এনক্রিপশন কী একটি বহিরাগত নিরাপত্তা মডিউলে সংরক্ষণ করা হয়, যা একটি ওরাকল সফ্টওয়্যার বা হার্ডওয়্যার কীস্টোর হতে পারে। এই TDE মাস্টার এনক্রিপশন কী এনক্রিপ্ট করে এবং TDE টেবিল কীকে ডিক্রিপ্ট করে, যা টেবিলের কলামে ডেটা এনক্রিপ্ট এবং ডিক্রিপ্ট করে৷"
ছবির উৎস:https://docs.oracle.com/database/121/ASOAG/introduction-to-transparent-data-encryption.htm#ASOAG10137
2. স্বচ্ছ ডেটা এনক্রিপশন টেবিলস্পেস এনক্রিপশন
এনক্রিপ্ট করা টেবিলস্পেসে তৈরি সমস্ত বস্তু স্বয়ংক্রিয়ভাবে এনক্রিপ্ট করা হয়। এটি আপনাকে সম্পূর্ণ টেবিল বা একাধিক কলাম এনক্রিপ্ট করতে সাহায্য করে।ASOAG এটি যোগ করে:“TDE টেবিলস্পেস এনক্রিপশন দুই-স্তরযুক্ত, কী-ভিত্তিক আর্কিটেকচার ব্যবহার করে টেবিলস্পেসকে স্বচ্ছভাবে এনক্রিপ্ট (এবং ডিক্রিপ্ট) করতে। TDE মাস্টার এনক্রিপশন কী একটি বহিরাগত নিরাপত্তা মডিউল (সফ্টওয়্যার বা হার্ডওয়্যার কীস্টোর) এ সংরক্ষণ করা হয়। এই টিডিই মাস্টার এনক্রিপশন কীটি টিডিই টেবিলস্পেস এনক্রিপশন কী এনক্রিপ্ট করতে ব্যবহার করা হয়, যা টেবিলস্পেসে ডেটা এনক্রিপ্ট এবং ডিক্রিপ্ট করতে ব্যবহৃত হয়৷"
ছবির উৎস:https://docs.oracle.com/database/121/ASOAG/introduction-to-transparent-data-encryption.htm#ASOAG10137
TDE এর উদ্দেশ্য
ASOAG TDE ব্যবহার করার জন্য নিম্নলিখিত কারণগুলি উল্লেখ করে:
- কেউ স্টোরেজ মিডিয়া বা ডেটা ফাইল চুরি করলেও সংবেদনশীল ডেটা সুরক্ষিত করতে।
- নিরাপত্তা-সম্পর্কিত নিয়ন্ত্রক সম্মতির সমস্যাগুলি সমাধান করতে আমাদের সাহায্য করার জন্য৷ ৷
- অ্যাপ্লিকেশন ডেটা ডিক্রিপ্ট করতে অতিরিক্ত সহায়ক বা ভিউ তৈরি করতে। এটি ডাটাবেস ব্যবহারকারী এবং অ্যাপ্লিকেশনের জন্য স্বচ্ছভাবে সারণী ডেটা ডিক্রিপ্ট করে অ্যাপ্লিকেশনটিতে সামান্য বা কোন পরিবর্তন ছাড়াই৷
- ডিবি এবং অ্যাপ্লিকেশন ব্যবহারকারীদের সচেতন হওয়ার দরকার নেই যে তারা যে ডেটা অ্যাক্সেস করছে তা এনক্রিপ্ট করা হয়েছে৷
- আপনি অনলাইন পুনঃসংজ্ঞা ব্যবহার করে বা অফলাইন মোডে এনক্রিপ্ট করে ডাউনটাইম ছাড়াই ডেটা এনক্রিপ্ট করতে পারেন৷
- এনক্রিপ্ট করা ডেটা পরিচালনা করতে আপনার কোনো অ্যাপ্লিকেশন পরিবর্তনের প্রয়োজন নেই। ডাটাবেস এনক্রিপ্ট করে এবং ডেটা ডিক্রিপ্ট করে।
- ওরাকল ডেটাবেস টিডিই মাস্টার এনক্রিপশন কী এবং কীস্টোর পরিচালনার ক্রিয়াকলাপগুলিকে স্বয়ংক্রিয় করে৷
TDE কনফিগার করুন
TDE এবং ওয়ালেট কনফিগার করতে নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:
-
একটি ওয়ালেট বা কীস্টোর অবস্থান তৈরি করুন:
mkdir -p /u01/oracle/wallet
-
sqlnet.ora-এ ওয়ালেট বা কীস্টোরের অবস্থান আপডেট করুন :
cat $ORACLE_HOME/network/admin/sqlnet.ora # sqlnet.ora Network Configuration File: /home/oracle/app/oracle/product/12.1.0/dbhome_1/network/admin/sqlnet.ora # Generated by Oracle configuration tools. NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) ENCRYPTION_WALLET_LOCATION = (SOURCE =(METHOD = FILE)(METHOD_DATA = (DIRECTORY = /u01/oracle/wallet)))
-
কীস্টোর তৈরি করুন:
SQL> ADMINISTER KEY MANAGEMENT CREATE KEYSTORE '/u01/oracle/wallet/' IDENTIFIED BY Oraclewallet#123 ; keystore altered. SQL> host ls /u01/oracle/wallet/ Oraclewallet.P12
-
কীস্টোর খুলুন:
SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY Oraclewallet#123; keystore altered.
-
কী সক্রিয় করুন:
SQL> SET LINESIZE 100 SELECT con_id, key_id FROM v$encryption_keys;SQL> no rows selected SQL> ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY Oraclewallet#123 WITH BACKUP; keystore altered. SQL> SET LINESIZE 100 SELECT con_id, key_id FROM v$encryption_keys;SQL> CON_ID KEY_ID ---------- ------------------------------------------------------------------------------ 0 HTDRKP*%GRLOHNRWMrX2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAA SQL> SET LINESIZE 200 COLUMN wrl_parameter FORMAT A50 SELECT * FROM v$encryption_wallet; SQL> SQL> WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR FULLY_BAC CON_ID -------------------- -------------------------------------------------- ------------------------------ -------------------- --------- --------- ---------- FILE /u01/oracle/wallet/ OPEN PASSWORD SINGLE NO 0
-
একটি এনক্রিপ্ট করা টেবিলস্পেস তৈরি করুন:
SQL> CREATE TABLESPACE ENCRYPTION_TEST datafile '/u01/oracle/app/oracle/oradata/db/encrytest.dbf' size 2G ENCRYPTION USING 'AES256' DEFAULT STORAGE(ENCRYPT); 2 3 4 Tablespace created. SQL> create table ENCRYPTION_EMP( empno Number(3), Name varchar(10) ) tablespace ENCRYPTION_TEST; 2 3 4 Table created. SQL> select tablespace_name,encrypted from dba_tablespaces where tablespace_name='ENCRYPTION_TEST'; TABLESPACE_NAME ENC ------------------------------ --- ENCRYPTION_TEST YES
-
একটি এনক্রিপ্ট করা কলাম সহ একটি টেবিল তৈরি করুন:
SQL> CREATE TABLE employee ( first_name VARCHAR2(128), last_name VARCHAR2(128), empID NUMBER, salary NUMBER(6) ENCRYPT ); 2 3 4 5 6 Table created. SQL> select owner,table_name,column_name,encryption_alg from dba_encrypted_columns where table_name='EMPLOYEE'; OWNER TABLE_NAME COLUMN_NAME ENCRYPTION_A ---------- ------------ ------------ ----- RAJ EMPLOYEE SALARY AES 192 bits key
-
অটোলগইন সক্ষম করুন:
SQL> SELECT * FROM v$encryption_wallet; WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR FULLY_BAC CON_ID ---------- ------------------- ------------ --------------- ------------- ------------- ---------- FILE /u01/oracle/wallet/ OPEN PASSWORD SINGLE NO 0
এখানে wallet_type হল PASSWORD
. প্রতিবার আপনি ডাটাবেস পুনরায় চালু করার সময়, আপনার কী বা ওয়ালেটটি স্পষ্টভাবে খুলতে হবে। এটি এড়াতে, আপনি স্বয়ংক্রিয় লগইন সক্ষম করতে পারেন, যা ডাটাবেস পুনরায় চালু হলে স্বয়ংক্রিয়ভাবে ওয়ালেটটি খুলবে।
উপসংহার
TDE আপনাকে অত্যন্ত সংবেদনশীল ডেটা সুরক্ষিত করতে দেয়। এমনকি যদি ডেটাফাইল বা মিডিয়া স্টোরেজ চুরি হয়ে যায়, ব্যবহারকারীদের কাছে এটি ডিক্রিপ্ট করার চাবি না থাকা পর্যন্ত ডেটা উপলব্ধ হয় না৷
আমাদের ডেটাবেস পরিষেবাগুলি সম্পর্কে আরও জানুন৷
৷কোনো মন্তব্য করতে বা প্রশ্ন জিজ্ঞাসা করতে প্রতিক্রিয়া ট্যাব ব্যবহার করুন। আপনি আমাদের সাথে একটি কথোপকথনও শুরু করতে পারেন৷