Tải bản đầy đủ (.docx) (12 trang)

BTN an ninh và bảo mật dữ liệu it19 ehou

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 (184.3 KB, 12 trang )

Đề số 3:

Tìm hiểu về hàm băm mã xác thực

Yêu cầu:
1. Trình bầy đặc điểm, tính chất hàm băm
2. Phân tích các họ hàm băm thơng dụng
MDx và SHAx
3. Mơ tả các ứng dụng hàm băm trong an
tồn thơng tin
Bài Làm
Hàm băm là gì . Hàm băm là một chuỗi đại diện
của dữ liệu được tạo ra từ phương pháp tốn học sử
dụng để kiểm tra tính chính xác của dữ liệu khi trao
đổi . Về cơ bản , Hàm băm là quá trình biến đổi một
dữ liệu đầu vào có một độ dài bất kỳ về kích thước ,
định dạng thành một đặc chưng đầu ra có độ dài nhất
định , một kích thước cỗ định .Các giá trị trả về bởi
hàm băng được gọi lad một giá trị băm , một mã
băm hay đơn giản là hash

-


Q trình vận hành của Hash
Hàm băm có q trình vận hành một chiều . Khi
ta đưa dữ liệu vào đầu vào và sử dụng hàm băm để
tạo các mã hàm băm thì khơng thể đảo ngược được .
Với khả năng sử lý của máy tính , sức mạnh của
thuật tốn và thời gian để hồn thành thì việc phiên
dịch ngược lại là khơng có thể .



-


Tính chất hàm Băm
Hàm Băm có Ba tính chất . Tính chất thứ nhất ,với
mọi đầu ra y cho trước thì khơng thể tìm được bất kỳ
dữ liệu đầu vào x nào sao cho h(x)=y , hay có thể
hiểu là khơng thể tìm được một thơng điệp đúng u
cầu từ một giá trị băm cho trước . Tính chất thứ hai
là với mọi dữ liệu đầu x cho trước và y = h(x) .
Khơng thể tính tốn để tìm ra được hai thông điệp x
và x’ khác nhau sao cho cùng có giá trị băm h(x’) =
h(x) . Tính chất thứ ba là khơng thể tính tốn tìm
được hai dữ liệu đầu vào x và x’ phân biệt sao cho
chúng có cùng có giá trị băm h(x’)=h(x) , có thể hiểu
là không thể sửa được một thông điệp mà không làm
thay đổi giá trị băm của nó
-


Ví dụ thực tế khi bạn download 1 file phim trên
Fshare có dung lượng 4.9gb và thực hiện hashing
trên file đó với thuật tốn băm SHA-256 thì đầu ra
bạn sẽ thu được một giá chị băm có độ dài là 256bit .
Nếu bạn lấy một tin nhắn sms có dung lượng 2KB
để hashing bằng SHA-256 thì giá trị băm bạn thu
được vẫn là 256 bit . Như đã thấy trong mọi trười
hợp với SHA-256 thì đầu ra bạn ln ln thu được
một mã băm có độ dài 256bit . Điều này sẽ trở nên

quan trọng khi bạn xử lý một lượng lớn dữ liệu lẫn
giao dịch . Khi đó số lượng file rất nhiều và khơng
có quy chuẩn về số dung lượng và việc kiểm tra rất
khó nên việc sử dụng hàm băm sẽ giúp ta sác định
được tính vẹn toàn dữ liệu

-


Một ví dụ về việc xuất Hash để kiểm tra và
cung cấp cho người tải4
Hàm băm thông dụng SHA-X ta có SHA-1
SHA-2 và SHA-3. Đối với SHA-1 là một phần của
dự án Capstone của chính phủ Mỹ . Phiên bản đầu
tiên được gọi là SHA-0 được xuất bản năm 1993 bởi
NIST và nó bị NSA rút lại lẫn sửa đổi thay thế vào
năm 1995 trong FIPS PUB 180-1 và tên nó là SHA1.Đối với SHA-1 tạo ra bản tóm tắt với kích thước
20 Byte và các các vấn đề liên quan đến bảo mật cho
nên hàm băm này không đủ an toàn và bị thay thế
cho SHA-2 và SHA-3. SHA-2 là tập hợp các hàm
băm mật mã thiết kế bởi cơ quan an ninh quốc gia
Hoa Kỳ và xuất bản năm 2001. Chúng đuọc xây
dựng cấu trúc Davies-Meyer từ một hệ mật mã khối
chuyên dụng . Về thực chẩt SHA-2 có hai thuật tốn
băm là SHA-256 và SHA-512 . Cịn SHA-224 chỉ là
một biến thể của SHA 256 với các giá trị khởi tạo và
đầu ra bị cắt bỏ khác nhau . Cịn SHA-384 , SHA512/224 và SHA-512/256 ít biết do nó là biến thể
của SHA-512 . SHA-512 an tồn và nhanh hơn hơn
SHA-256 trên các máy 64bit . Do có nhiều phiên
bản thuật tốn khác nhau chủ yếu do kích thước đầu

ra của họ SHA-2 cho nên sẽ tuỳ mức độ để sử dụng
-


trong công việc phù hợp . Đơn cử như bitcoin sử
dụng hàm băng SHA-256 là một phiên bản hàm băm
trong họ SHA-2 này. Đối với SHA-3 . SHA-3 được
NIST phát hành vào 5/8/2015, đây là tiêu chuẩn hàm
băm mới nhất. SHA-3 được xây dựng trên một tập
các con của họ nguyên thuỷ mật mã rộng hơn là
Keccak . Thuật toán Keccak được đưa ra và xây
dựng bởi Guido Bẻtoni , Joan Daemen , Michael
Peeters , Gilles Van Asche và được dựa trên cấu trúc
bọt biển (Sponge). Cấu trúc bọt biển này có thể được
sử dụng để xây dựng các nguyên thuỷ mã hố khác
như các mật mã dịng . Đầu ra của SHA- cũng có
kích cỡ đầu ra tương tự như SHA-2 tuỳ theo nhu cầu
người sử dụng
Thuậ Kích Kích
t
thướ thướ
tốn
c
c
đầu trạng
ra
thái
(out trong
put (Inter
size) nal

state
size)
-

Kích Độ Kíc Xung
thư dài
h
đột
ớc (Len thư (Collisi
khối gth ớc
on)
(Blo size) wor
ck
d
size
(Wo
)
rd
size
)


SHA- 160
0
SHA- 160
1
SHA- 256/2
256/2 24
24
SHA- 512/3

512/3 84
84

160

512

64

32

Khơng

160

512

64

32

Có lỗi

256

512

64

32


Khơng

512

1024

128

64

Khơng

Bảng so sánh các hàm băm
SHA
MD5 là gì . MD5 là một hàm băm mật mã theo
chuẩn RFC 1321 có giá trị hast dài 128bit . MD5
được phát triển băn 1991 bởi giáo sư Ronald L
Rivest để thay thế cho MD4 trước đó . Về cơ bản
md5 sẽ toại ra một checksum trên hai bộ dữ liệu rồi
so sánh với nhau coi hai bộ dữ liệu này có bị thay
đổi hay giống nhau hay khơng. Về lịch sử của MDx
thì hàm băm đầu tiên được taoj ra là hàm MD2 năm
1989 , Hàm này được xây dựng cho các PC 8bit thời
đó , mặc dù MD2 vẫn được sử dụng nhưng không
dành cho cnhuwxng dững dụng cần mức độ bảo mật
-


cao vì nó dễ bị tấn cơng các kiểu hack thơng

thường . Sau đó một thời gian thì MD4 ra đời năm
1990 để thay thế cho MD2 . MD4 tạo ra cho các
máy 32bit nhưng vẫn có điểm yếu là phần mềm này
rất lỗi thời theo đánh giá của Internet Engineering
Task Force . Đến năm 1992 MD5 được phát hành và
cũng dành cho các máy 32Bit . MD5 không nhanh
như MD4 nhưng an tồn hơn nhưng MD5 có một số
vấn đề bảo mật và SHA-1 được đề xuất thay thế cho
hàm băm này
Thu Kích Kích Kích Độ Kíc Xung
ật
thướ thước thướ dài
h
đột
toá
c
trạng
c
(Len thướ (Collisi
n
đầu thái khối gth
c
on)
ra trong (Blo size) wor
(outp (Inter ck
d
ut
nal size)
(Wo
size) state

rd
size)
size)
MD 128 384 128 Khôn 8
Khả
2
g
năng
lớn
MD 128 128 512 64
32

4
-


MD 128
5

144

122

88

88



Bảng so sánh hàm băm MD

Ứng dụng trong hàm băm là gì . Hàm băm có rất
nhiều ứng dụng trong thực tế , như việc dùng MD5 .
Điều đầu tiên là tạo mã khố bí mật , ta nhìn vào
trong ảnh ta thấy một điều . Với một từ duy nhất là
từ “Đại “ ta có một hashing theo chuẩn MD5 là
“89eab8571b76f8bc661149b2d10e5564” , sau đó
thêm chữ “Học” và “Mở” thành “Đại Học Mở” thì
mã hashing đã thay đổi thành
“7ab8c5febf83c50c5c2ea3f13e4ff3de” . Điều đó nói
lên một điều khi ta dùng Hàm Băm mạnh trong việc
tạo mã khố bí mật của mật khẩu thì ta có thể coi
như nó là một phương thức bảo mật hai lớp để tăng
độ an toàn cho mật khẩu

-


Sự thay đổi của hash khi thay đổi ký
tự đầu vào
Thời buổi công nghệ bây giờ công việc chuyển
dữ liệu từ công ty A sang khu lưu trữ B và ngược lại
thì việc kiểm tra mất mát dữ liệu rất quan trọng .
Nếu một file có dung lượng 1gb thì với cơng nghệ
bây giờ khơng khó làm dữ liệu giả đúng 1gb thay thế
để phá huỷ dữ liệu thì ta có thể dùng Hasing . Như ở
trên khi một kết quả của Hash từ một file dữ liệu là
không thể đánh tráo cho nên việc dùng Hash để kiểm
tra tính vẹn toàn dữ liệu là một điều cần thiết mà một
doanh nghiệp có nhu cầu nhiều trong cơng việc di
chuyển dữ liệu trong công việc


-


Kiểm tra vẹn toàn data khi di
chuyển data
Một ứng dụng của hàm băm đó là chữ ký điện tử
. Khi một hệ thống băm đủ mạnh thì nó có thể sử
dụng để tạo ra một chứ kỹ điện tử đế sác thực nguồn
gốc dữ liệu , tính hợp pháp , chống từ chỗi và vẹn
tồn dữ liệu . Khi cơng nghệ số ngày càng phát triển
và nhu cầu mỗi người ngày càng nhiều thì chứ kỹ
điện tử là một tất yếu của cuộc sống

-


Sơ đồ chữ ký số RSA

-



×