实验 四:Oracle 11g数据库加密及代码混淆
- 格式:doc
- 大小:134.00 KB
- 文档页数:6
仅供个人参考
不得用于商业用途
实验四:Oracle 11g数据库加密及代码混淆
实验学时:2
实验类型:综合
实验要求:必修
一、实验目的
该实验主要是使学生学会在数据库中如何进行加密、解密以及计算hash、MAC。
通过该实验的学习,是学生深入了解数据库中数据加密的目的、准则;掌握数据
库加密、解密算法以及密钥的产生和存储,hash算法以及MAC。
二、实验内容
Oracle 11g数据库加、解密,hash以及MAC值计算;oracle 中的代码混淆
三、实验原理、方法和手段
1.数据库加密、解密(保证机密性)。
利用oracle 11g 中PL/SQL 包DBMS_CRYPTO 进行数据的加、解密。
利用这两个函数dbms_crypto.Encrypt和dbms_crypto.Decrypt
Data Encryption Standard (DES), Triple DES (3DES, 2-key)
Advanced Encryption Standard (AES)(128、192、256)
2.hash 和MAC 值的计算(保证完整性)
利用oracle 11g 中PL/SQL 包DBMS_CRYPTO 进行。
采用DBMS_CRYPTO.Hash和 DBMS_CRYPTO.Mac进行。
SHA-1 Cryptographic Hash
SHA-1 Message Authentication Code (MAC)(Usage of SHA-1 is more
secure than MD5)
仅供个人参考
不得用于商业用途
3.oracle中代码混淆
参见oracle官方文档《PL/SQL User's Guide and Reference》,利用wrap
utility对代码进行混淆。
四、实验组织运行要求
根据本实验的特点,采用以学生自主训练为主的开放模式组织教学。
五、实验条件
硬件:CPU:2.4G 内存:1G 硬盘:80G
软件:Windows 2003、WinXP、Win7 及以上操作系统 ,Oracle 11g数据库
六、实验步骤
1.请写一段PL/SQL代码实现在oracle中加密自己的学号,并将密文输出。请使
用DBMS_CRYPTO 中:ENCRYPT_AES192、CHAIN_ECB 和PAD_PKCS5,并使用
RANDOMBYTES函数产生密钥。
仅供个人参考
不得用于商业用途
2.请写一段PL/SQL代码实现在oracle中计算出自己姓名全拼的MAC(SHA-1)并
输出。
3. Please use wrap utility to obfuscate the below code PL/SQL code and
the first PL/SQL code you encrypt your student ID in oracle and give the
results. Then please compare and analyze the above two results. You can
refer to the doc of 《PL/SQL User's Guide and Reference》.
create or replace function CHECK_SID
(s_id in number)
return number
as
num number;
cursor get_num
is
select count(sid)
from s
where sid=s_id;
begin
open get_num;
fetch get_num into num;
return num;
end CHECK_SID;
七、思考题
1.什么是代码混淆?代码混淆的目的。
2.数据库中加密的目的和原则是什么?
3.在oracle中TDE的工作原理是什么?
仅供个人参考
不得用于商业用途
仅供个人用于学习、研究;不得用于商业用途。
For personal use only in study and research; not for commercial use.
Nur für den persönlichen für Studien, Forschung, zu kommerziellen Zwecken verwendet werden.
Pour l 'étude et la recherche uniquement à des fins personnelles; pas à des fins commerciales.
только для людей, которые используются для обучения, исследований и не должны
использоваться в коммерческих целях.
以下无正文
仅供个人参考
不得用于商业用途
仅供个人用于学习、研究;不得用于商业用途。
For personal use only in study and research; not for commercial use.
Nur für den persönlichen für Studien, Forschung, zu kommerziellen Zwecken verwendet werden.
Pour l 'étude et la recherche uniquement à des fins personnelles; pas à des fins commerciales.
только для людей, которые используются для обучения, исследований и не должны
использоваться в коммерческих целях.
以下无正文
仅供个人参考
不得用于商业用途
仅供个人用于学习、研究;不得用于商业用途。
For personal use only in study and research; not for commercial use.
Nur für den persönlichen für Studien, Forschung, zu kommerziellen Zwecken verwendet werden.
Pour l 'étude et la recherche uniquement à des fins personnelles; pas à des fins commerciales.
только для людей, которые используются для обучения, исследований и не должны
использоваться в коммерческих целях.
以下无正文