BÀI TẬP LỚN AN TOÀN BẢO MẬT GIAO THỨC MẬT MÃ - Pdf 22

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
  

BÀI TẬP LỚN

AN TOÀN BẢO MẬT
ĐỀ TÀI: GIAO THỨC MẬT MÃ
Giáo viên hướng dẫn: TS. Trần Đức Khánh
Học viên thực hiện : NHÓM 03
1. Vũ Thị Uyên CB120122
2. Vũ Tuấn CB121362
3. Dương Phú Thuần CB121358
4. Vũ Tuấn Minh CB121355
5. Phạm Anh Tuấn CB121361
Lớp: 12BCNTT2
Chuyên ngành: Công nghệ thông tin
Hà Nội, 06/2013

1

MỤC LỤC

(search engine), các dịch vụ thương mại và chuyển ngân, Chúng cung cấp một khối
lượng thông tin và dịch vụ khổng lồ trên Internet.
Nguồn thông tin khổng lồ kèm theo các dịch vụ tương ứng chính là hệ thống các
trang Web liên kết với nhau và các tài liệu khác trong WWW (World Wide Web). Đó là
một kênh trao đổi thông tin rất hữu ích và nhanh chong . Song tất cả không phải là toàn
mỹ, nghĩa là mọi thông tin khi bạn trao đổi thông qua Internet có thể bị bên thứ 3 tác
động vào, dẫn đến lộ thông tin, mất mát thông tin,….
Để khắc phục những hạn chế đó người ta đã phát triển nên các giao thức giúp phần
nào hạn chế điều đó. Trong đó biết tới một giao thức góp phần tối ưu công việc bảo mật
thông tin trên nền World Wide Web. Đó là giao thức SSL (viết tắt Secure Sockets Layer).

3

I. Giao thức và giao thức mật mã
1. Giao thức
Giao thức truyền thông (communication protocol) - trong công nghệ thông tin gọi
tắt là giao thức (protocol). Giao thức là một tập hợp các quy tắc chuẩn dành cho việc biểu
diễn dữ liệu, phát tín hiệu, chứng thực và phát hiện lỗi dữ liệu - những việc cần thiết để
gửi thông tin qua các kênh truyền thông, nhờ đó mà các máy tính (và các thiết bị) có thể
kết nối và trao đổi thông tin với nhau. Các giao thức truyền thông dành cho truyền thông
tín hiệu số trong mạng máy tính có nhiều tính năng để đảm bảo việc trao đổi dữ liệu một
cách đáng tin cậy qua một kênh truyền thông không hoàn hảo.
Có nhiều giao thức được sử dụng để giao tiếp hoặc truyền đạt thông tin trên Internet, dưới
đây là một số các giao thức tiêu biểu:
 TCP (Transmission Control Protocol): thiết lập kết nối giữa các máy
tính để truyền dữ liệu. Nó chia nhỏ dữ liệu ra thành những gói (packet) và
đảm bảo việc truyền dữ liệu thành công.
 IP (Internet Protocol): định tuyến (route) các gói dữ liệu khi chúng được
truyền qua Internet, đảm bảo dữ liệu sẽ đến đúng nơi cần nhận.
 HTTP (HyperText Transfer Protocol): cho phép trao đổi thông tin chủ yếu

chính là giải pháp tốt nhất hiện nay đáp ứng những nhu cầu đó và nó
được coi như là “lá chắn cuối cùng”

trong bảo mật thương mại điện tử.

Việc truyền các thông tin nhạy cảm trên mạng rất không an toàn vì những vấn đề
sau:



Bạn không thể luôn luôn chắc rằng bạn đang trao đổi thông tin với đúng đối
tượng cần trao
đổi.



Dữ liệu mạng có thể bị chặn ,vì vậy dữ liệu có thể bị 1 đối tượng thứ 3 khác
đọc trộm,

thường được biết đến như attacker .



Nếu attacker có thể chặn dữ liệu, attacker có thể sửa đổi dữ liệu trước khi gửi
nó đến người
nhận.

Như vậy SSL được đã được phát triển nhằm giải quyết triệt để các vấn đề trên.
Giao thức SSL ban đầu được phát triển bởi Netscape.Ngày nay Visa, MasterCard,
American Express cũng như nhiều công ty giải pháp tài chính hàng đầu khác trên thế giới

an toàn:
Xác thực: đảm bảo tính xác thực của trang mà bạn sẽ làm việc ở đầu kia của kết
nối. Cũng như vậy, các trang Web cũng cần phải kiểm tra tính xác thực của người sử
dụng.
Mã hoá: đảm bảo thông tin không thể bị truy cập bởi đối tượng thứ ba. Để loại
trừ việc nghe trộm những thông tin “ nhạy cảm” khi nó được truyền qua Internet, dữ liệu
phải được mã hoá để không thể bị đọc được bởi những người khác ngoài người gửi và
người nhận.

6

Toàn vẹn dữ liệu: đảm bảo thông tin không bị sai lệch và nó phải thể hiện chính
xác thông tin gốc gửi đến.
III. Kiến trúc của SSL
1. Các thuật toán mã hóa dùng trong SSL
Các thuật toán mã hoá (cryptographic algorithm -cipher) là các hàm để mã hoá và
giải mã thông tin.
Giao thức SSL hỗ trợ rất nhiều các thuật toán mã hoá, sử dụng trong quá trình xác
thực server và client, truyền tải các certificates và thiết lập các khoá của từng phiên giao
dịch.
Một số thuật toán SSL sử dụng:
 DES (Data Encryption Standard)
 DSA (Digital Signature Algorithm):
 MD5 (Message Digest algorithm):
 RSA: là thuật toán mã hoá công khai dùng cho cả quá trình xác thực và mã
hoá dữ liệu được Rivest, Shamir, and Adleman phát triển.
 RSA key exchange: là thuật toán trao đổi khoá dùng trong SSL dựa trên
thuật toán RSA.
 RC2 and RC4
 SHA-1 (Secure Hash Algorithm)

+ SSL Record Protocol.
IV. Các giao thức dùng trong SSL
1. SSL Record Protocol
SSL Record Protocol cung cấp 2 dịch vụ cho kết nối SSL:
+ Confidentiality (tính cẩn mật): Handshake Protocol định nghĩa 1 khóa bí mật
được chia sẻ, khóa này được sử dụng cho mã hóa quy ước các dữ liệu SSL.

8

+ Message integrity (tính toàn vẹn thông điệp):Handshake Protocol cũng định
nghĩa 1 khóa bí mật được chia sẻ, khóa này được sử dụng để hình thành MAC (mã xác
thực message).
Hình sau chỉ ra toàn bộ hoạt động của SSL Record Protocol.SSL Record Protocol
nhận 1 message ứng dụng sắp được truyền đi,phân mảnh dữ liệu thành nhiều block,nén
dữ liệu 1 cách tùy chọn,áp dụng vào 1 MAC,mã hóa,thêm vào header,và truyền khối kết
quả thu được trong 1 segment TCP.Dữ liệu nhận được được giải mã, kiểm tra, giải nén,
sắp xếp lại và phân phối đến người sử dụng ở lớp cao hơn.

Phân mảnh: Mỗi message của lớp bên trên được phân mảnh thành các block, mỗi
block là 214 byte (16384 byte) hoặc ít hơn.
Nén: Nén phải là không mất mát thông tin và có thể không làm tăng chiều dài nội
dung nhiều hơn 1024 byte (Dĩ nhiên,người ta mong muốn nén làm co lại dữ liệu hơn là
nới rộng dữ liệu.Tuy nhiên, với những block ngắn,có thể ,do định dạng quy ước,thuật
toán nén thực sự làm cho output dài hơn input). Trong SSLv3 (cũng như phiên bản hiện
tại của TLS), không có thuật toán nén nào được chỉ rõ,vì vậy thuật toán nén mặc định là
null.
Tính toán MAC (mã xác thực message) trên dữ liệu đã được nén.Để thực hiện
cần dùng đến 1 khóa bí mật được chia sẻ.Phép tính được định nghĩa như sau:
hash(MAC_write_secret || pad_2 || hash(MAC_write_secret || pad_1 ||seq_num
||SSLCompressed.type|| SSLCompressed.length || SSLCompressed.fragment))

chiều dài theo byte của phân mảnh đã nén nếu nén được dùng).Gía trị lớn nhất là
214+2048.
2. SSL Change Cipher Spec Protocol
Giao thức SSL Change Cipher Spec là giao thức đơn giản nhất trong ba giao thức
đặc trưng của SSL mà sử dụng giao thức SSL Record . Giao thức này bao gồm một
message đơn 1 byte giá trị là 1. Mục đích chính của message này là sinh ra trạng thái tiếp
theo để gán vào trạng thái hiện tại,và trạng thái hiện tại cập nhật lại bộ mã hóa để sử dụng
trên kết nối này.

3. Giao thức SSL Alert
Giao thức SSL Alert được dùng để truyền cảnh báo liên kết SSL với đầu cuối bên
kia.Như với những ứng dụng khác sử dụng SSL, alert messages được nén và mã hóa,
được chỉ định bởi trạng thái hiện tại.
Mỗi message trong giao thức này gồm 2 bytes. Byte đầu tiên giữ giá trị cảnh báo(1)
hoặc nguy hiểm (2) để thông báo độ nghiêm ngặt của message. Nếu mức độ là nguy
hiểm, SSL lập tức chấm dứt kết nối. Những kết nối cùng phiên khác vẫn có thể tiếp tục
nhưng sẽ không kết nối nào khác trên phiên này được khởi tạo thêm.Byte thứ hai chứa
một mã chỉ ra cảnh báo đặc trưng. Đầu tiên, chúng ta liệt kê những cảnh báo đó mà luôn
ở mức nguy hiểm (được định nghĩa từ những thông số SSL):
unexpected_message: message không thích hợp
bad_record_mac: MAC không chính xác

11

decompression_failure: việc giải nén nhận input không thích hợp(ví dụ như không
thể giải nén hoặc giải nén lớn hơn độ dài tối đa cho phép).
handshake_failure: bên gửi không thể thương lượng một bộ chấp nhận được của các
thông số bảo mật được đưa ra từ những lựa chọn có sẵn.
illegal_parameter: một trường trong một handshake message thì vượt khỏi dãy
hoặc trái với những trường khác.

3) Client sử dụng một số thông tin mà server gửi đến để xác thực server. Nếu như
server không được xác thực thì người sử dụng sẽ được cảnh báo và kết nối không được
thiết lập. Còn nếu như xác thực được server thì phía client sẽ thực hiện tiếp bước 4.
4) Sử dụng tất cả các thông tin được tạo ra trong giai đoạn bắt tay ở trên, client
(cùng với sự cộng tác của server và phụ thuộc vào thuật toán được sử dụng) sẽ tạo ra
premaster secret cho phiên làm việc, mã hoá bằng khoá công khai (public key) mà server
gửi đến trong certificate ở bước 2, và gửi đến server.
5) Nếu server có yêu cầu xác thực client, thì phía client sẽ đánh dấu vào phần
thông tin riêng chỉ liên quan đến quá trình “bắt tay” này mà hai bên đều biết. Trong
trường hợp này, client sẽ gửi cả thông tin được đánh dấu và certificate của mình cùng với
premaster secret đã được mã hoá tới server.
6) Server sẽ xác thực client. Trường hợp client không được xác thực, phiên làm
việc sẽ bị ngắt. Còn nếu client được xác thực thành công, server sẽ sử dụng khoá bí mật
(private key) để giải mã premaster secret, sau đó thực hiện một số bước để tạo ra master
secret.
7) Client và server sẽ sử dụng master secret để tạo ra các session key, đó chính là
các khoá đối xứng được sử dụng để mã hoá và giải mã các thông tin trong phiên làm việc
và kiểm tra tính toàn vẹn dữ liệu.

13

8) Client sẽ gửi một lời nhắn đến server thông báo rằng các message tiếp theo sẽ
được mã hoá bằng session key. Sau đó nó gửi một lời nhắn đã được mã hoá để thông báo
rằng phía client đã kết thúc giai đoạn “bắt tay”.
9) Server cũng gửi một lời nhắn đến client thông báo rằng các message tiếp theo sẽ
được mã hoá bằng session key. Sau đó nó gửi một lời nhắn đã được mã hoá để thông báo
rằng server đã kết thúc giai đoạn “bắt tay”.
10) Lúc này giai đoạn “bắt tay” đã hoàn thành, và phiên làm việc SSL bắt đầu. Cả
hai phía client và server sẽ sử dụng các session key để mã hoá và giải mã thông tin trao
đổi giữa hai bên, và kiểm tra tính toàn vẹn dữ liệu.

tin trong quá trình giao dịch đều bị “nghe lén” bởi attacker.

15SSL Strip MITM Attack
Đại đa số người dùng khi truy cập web đều không gõ chuỗi ký tự “http://” hoặc
“https://” . Vì vậy người dùng thường sử dụng SSL 1 cách gián tiếp thông qua các
HyperLinks và Redirection Messages (được xử lý bởi browser).Attacker can thiệp vào
kết nối giữa Client và Server,thay thế các HyperLinks “https:// ” thành “http:// ”

các Redirection Messages tới các trang “https:// ” thành các trang “http:// ”Kết quả là
attacker thực hiện kết nối http thông thường với Client và https với Server,vì không có
SSL trong kết với Client nên attacker có thể đọc mọi thông tin.
VI. Ứng dụng của SSL
1. Các ứng dụng phổ biến
Sau đây là một số port phổ biến của những ứng dụng đi kèm SSL được IANA
(Internet Assigned Numbers Authority) công nhận:

2. Webserver
Web Server (Máy phục vụ Web): máy tính mà trên đó cài đặt phần mềm phục vụ
Web, đôi khi người ta cũng gọi chính phần mềm đó là Web Server. Tất cả các Web
Server đều hiểu và chạy được các file *.htm và *.html.

16

Máy Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ
thông tin như một n hàng dữ liệu, chứa những website đã được thiết kế cùng với những
thông tin liên quan khác. (các mã Script, các chương trình, và các file Multimedia).
Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có một


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status