Tải bản đầy đủ (.pptx) (20 trang)

Tiểu luận Phương pháp mã hóa bằng mật khẩu nhằm bảo mật dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (844 KB, 20 trang )

Seminar :
Phương pháp mã hóa bằng mật khẩu
nhằm bảo mật dữ liệu

Thành viên nhóm:

1.
2.
3.

Đặng Thanh Qui 09520623
Trần Tấn Sang

09520628

Lê Thị Ánh Tuyết 10520641


Nội dung chính

1.
2.
3.
4.
5.

Tại sao cần mã hóa dữ liệu?
Giới thiệu một số kỹ thuật để mã hóa dữ liệu
Kỹ thuật mã hóa bằng mật khẩu
Phương pháp giải mã
Hack dữ liệu đã mã hóa bởi mật khẩu




Nội dung chính

1.
2.
3.
4.
5.

Tại sao cần mã hóa dữ liệu?
Giới thiệu một số kỹ thuật để mã hóa dữ liệu
Kỹ thuật mã hóa bằng mật khẩu
Phương pháp giải mã
Hack dữ liệu đã mã hóa bởi mật khẩu


1.

Tại sao cần mã hóa dữ liệu trong SQL Server?

 Mã hoá là một phương pháp quan trọng nhằm bảo mật dữ liệu.
 Thực tế cho thấy, sự cố về an ninh xảy ra với CSDL có thể ảnh hưởng nghiêm trọng đến danh tiếng của
công ty và quan hệ với khách hàng.

 Những dữ liệu nhạy cảm như số CMT, số thẻ tín dụng, mật khẩu… cần phải được bảo vệ trước vô vàn
mối nguy hiểm tấn công hiện nay.


Nội dung chính


1.
2.
3.
4.
5.

Tại sao cần mã hóa dữ liệu?
Giới thiệu một số kỹ thuật để mã hóa dữ liệu
Kỹ thuật mã hóa bằng mật khẩu
Phương pháp giải mã
Hack dữ liệu đã mã hóa bởi mật khẩu


2. Giới thiệu một số kỹ thuật để mã hóa dữ liệu

 Trong SQL Server 2000 bạn có thể tự tạo các hàm của riêng mình hoặc sử dụng các DLL ngồi để mã
hố dữ liệu.

 Từ SQL Server 2005 trở lên, các hàm và phương thức này được mặc định cho phép sẵn.
 Từ SQL Server 2005 trở lên cung cấp các kỹ thuật sau để mã hoá dữ liệu


2. Giới thiệu một số kỹ thuật để mã hóa dữ liệu

Mã hoá bằng mật khẩu
Mã hoá khoá đối xứng
Mã hố khố khơng đối xứng
Mã hố chứng nhận



Nội dung chính

1.
2.
3.
4.
5.

Tại sao cần mã hóa dữ liệu?
Giới thiệu một số kỹ thuật để mã hóa dữ liệu
Kỹ thuật mã hóa bằng mật khẩu
Phương pháp giải mã
Hack dữ liệu đã mã hóa bởi mật khẩu


3. Kỹ thuật mã hóa bằng mật khẩu



“Mã hố bằng mật khẩu” là phương pháp mã hoá dữ liệu cơ bản thơng qua mật
khẩu. Dữ liệu có thể được giải mã nếu nhập đúng mật khẩu đã sử dụng khi mã hố.



Dùng hàm EncryptByPassPhrase để thực hiện mã hóa



Ví dụ: select EncryptedData = EncryptByPassPhrase(‘matkhau', '123456789' )



3. Kỹ thuật mã hóa bằng mật khẩu



Kết quả của Encryptbypassphrase sau mỗi lần thực thi hàm là khác nhau.



Ví dụ: select EncryptedData = EncryptByPassPhrase('MAK', '123456789' )
1. EncryptedData
0x01000000CBB7EE45B5C1460D6996B149CE16B76C7F7CD598DC56364D106B05D47B930093
(1 row(s) affected)
2. EncryptedData
0x010000005E884D30C8FF7E4723D4E70A03B0B07F877667BAF1DA9BE1E116434842D11B99
(1 row(s) affected)
3. EncryptedData
0x01000000C508FB0C4FC7734B47B414D2602A71A338417DD685229173684D319334A084CD



Tuy nhiên, khi bạn giải mã dữ liệu thì nó vẫn ra kết quả như ban đầu trước khi mã hoá.


Nội dung chính

1.
2.
3.

4.
5.

Tại sao cần mã hóa dữ liệu?
Giới thiệu một số kỹ thuật để mã hóa dữ liệu
Kỹ thuật mã hóa bằng mật khẩu
Phương pháp giải mã
Hack dữ liệu đã mã hóa bởi mật khẩu


4. Phương pháp giải mã



Dữ liệu có thể được giải mã nếu nhập đúng mật khẩu đã sử dụng khi mã hố.



Dùng hàm DecryptByPassPhrase để thực hiện giải mã



Ví dụ: select convert(varchar(100),DecryptByPassPhrase(‘matk',
0x01000000CBB7EE45B5C1460D6996B149CE16B76C7F7CD598DC56364D106B05D47B930093))


4. Phương pháp giải mã




SQL Server sẽ trả lại giá trị NULL nếu mật khẩu giải mã bị sai.



Ví dụ:



select EncryptedData = EncryptByPassPhrase(‘matkhau1', '123456789' )

EncryptedData
0x01000000CBB7EE45B5C1460D6996B149CE16B76C7F7CD598DC56364D106B05D47B930093



select convert(varchar(100),DecryptByPassPhrase(‘matkhau2',
0x01000000CBB7EE45B5C1460D6996B149CE16B76C7F7CD598DC56364D106B05D47B930093))

NULL

(1 row(s) affected)


Mời xem Demo
Kỹ thuật mã hóa bằng mật khẩu
&
Phương pháp giải mã


Nội dung chính


1.
2.
3.
4.
5.

Tại sao cần mã hóa dữ liệu?
Giới thiệu một số kỹ thuật để mã hóa dữ liệu
Kỹ thuật mã hóa bằng mật khẩu
Phương pháp giải mã
Hack dữ liệu đã mã hóa bởi mật khẩu


5. Hack dữ liệu đã mã hóa bởi mật khẩu



Như ta đã biết, mã hoá bằng mật khẩu là một phương pháp mã hoá dữ liệu cơ bản
chỉ sử dụng đến mật khẩu và có thể giải mã với cùng mật khẩu đó.



Giờ hãy giả dụ chúng ta quên mất mật khẩu đã đặt và cần phải khôi phục lại dữ liệu
như ban đầu.



Việc truy tìm lại mật khẩu và dữ liệu đã bị mã hoá được thực hiện bằng một thủ tục



5. Hack dữ liệu đã mã hóa bởi mật khẩu



Thủ tục truy tìm
use master
go
select getdate() as StartingTime
go
declare @myencryptedtext varbinary(max)
set

@myencryptedtext=0x01000000F75D553409C74570F6DDBCADA5 3FD489DDD52D9277010050565ADF30F244F8CC

print @myencryptedtext
exec hack_encryption @encryptedtext=@myencryptedtext
go
select getdate() as EndingTime
go

Về cơ bản, thủ tục này lặp lại tất cả khả năng hợp lý có thể xảy ra của các ký tự ASCII có độ
dài trên 6 ký tự để tìm ra mật khẩu và sử dụng nó để giải mã dữ liệu.


5. Hack dữ liệu đã mã hóa bởi mật khẩu



Một số lưu ý:




Thủ thục và các hàm chỉ có thể hack đối với mật khẩu dài 6 ký tự.



Thủ tục và hàm này có thể chiếm rất nhiều CPU để lấy lại dữ liệu và tìm lại mật khẩu



Tạo ra một thủ tục sẽ khơng giúp gì nhiều khi dữ liệu đã được mã hố nằm trong một bảng. Vì vậy
chúng ta phải thay đổi thủ thục này thành một hàm vơ hướng (demo sẽ trình bày rõ)


Mời xem Demo

Hack dữ liệu đã mã hóa bởi mật khẩu


KẾT THÚC
Cảm ơn cô và các bạn đã lắng nghe!



×