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

BÁO cáo bài tập lớn CHỨNG THỰC điện tử đề tài NGHIÊN cứu PHƯƠNG PHÁP tấn CÔNG CHẶN GIỮA TRONG GIAO THỨC SSL và PHƯƠNG PHÁP PHÒNG CHỐNG

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 (1.37 MB, 49 trang )

BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
*************

BÁO CÁO BÀI TẬP LỚN
CHỨNG THỰC ĐIỆN TỬ
ĐỀ TÀI: NGHIÊN CỨU PHƯƠNG PHÁP TẤN CÔNG CHẶN GIỮA TRONG
GIAO THỨC SSL VÀ PHƯƠNG PHÁP PHÒNG CHỐNG

Hà Nội, 2021
MỤC LỤC

DANH MỤC TỪ VIẾT TẮT..............................................................................
DANH MỤC HÌNH ẢNH...................................................................................
LỜI NĨI ĐẦU....................................................................................................
Chương 1 TỔNG QUAN VỀ GIAO THỨC SSL...............................................
1.1 Lịch sử phát triển của giao thức SSL........................................................
1.1.1. Giao thức SSL là gì?.........................................................................
1

download by :


1.1.2. Tầm quan trọng của giao thức SSL.................................................
1.1.3. Các phiên bản của SSL....................................................................

1.2Các dịch vụ của SSL...........

1.3Cách thức hoạt động của gia

1.4Các giao thức con của giao t


1.4.1. Giao thức SSL Record.....................................................................
1.4.2. Giao thức SSL Handshake..............................................................
1.4.3. Giao thức SSL Change Cipher Spec...............................................
1.4.4. Giao thức SSL Alert........................................................................

1.5Các thuật tốn mã hóa sử dụ

1.6Tổng kết chương 1...............
Chương 2 TÌM HIỂU PHƯƠNG PHÁP TẤN CƠNG CHẶN GIỮA TRONG
GIAO THỨC SSL VÀ CÁCH PHỊNG CHỐNG..................................................

2.1Tìm hiểu tấn cơng chặn giữa
2.1.1. Khái niệm........................................................................................
2.1.2. Cách thức hoạt động........................................................................
2.1.3. Các kiểu tấn cơng chặn giữa............................................................
2.1.4. Ví dụ về tấn công chặn giữa............................................................

2.2Tấn công ARP Spoofing......
2.2.1. Giao thức ARP................................................................................
2.2.2. Ngun lý tấn cơng ARP Spoofing.................................................

2.3Tìm hiểu tấn cơng chặn giữa
2.3.1. Mơ tả q trình truyền thơng...........................................................
2.3.2. Q trình tấn cơng...........................................................................

2.4Biện pháp phịng chống.......

2.5Kết luận chương 2...............
2


download by :


Chương 3 TRIỂN KHAI THỰC NGHIỆM......................................................35
3.1 Mơ hình triển khai...................................................................................35
3.1.1. Kịch bản..........................................................................................35
3.1.2. Mơ hình triển khai...........................................................................35
3.2 Thực nghiệm........................................................................................... 36
3.2.1. Cài đặt “SSLstrip”...........................................................................36
3.2.2. Tiến hành tấn công..........................................................................39
3.3 Kết luận chương 3...................................................................................43
KẾT LUẬN.......................................................................................................44
TÀI LIỆU THAM KHẢO.................................................................................45
BẢNG PHÂN CÔNG CÔNG VIỆC................................................................ 46

SSL
IETF
TLS
HTTP
IMAP
FTP
IPSec
CA

download by :


MAC
MITM
DNS

DAI
IDS

DANH MỤC
Hình 1.1 Vị trí của giao thức SSL theo mơ hình TCP/IP..........................................
Hình 1.2 Các cổng được gán cho các giao thức ứng dụng chạy trên SSL..............
Hình 1.3 Cơ chế hoạt động của SSL.......................................................................
Hình 1.4 Cac bước cua SSL Record Protocol.........................................................
Hình 1.5 Quá trình bắt tay của client và server trong giao thức Handshake...........
Hình 2.1

Mơ tả q trình tấn cơng chặn gi

Hình 2.2 Ví dụ về tấn cơng MITM..........................................................................
Hình 2.3

Ngun lý tấn cơng ARP Spoofin

Hình 2.4

Mơ tả q trình truyền thơng HTT

Hình 2.5

Mơ tả q trình chiếm quyền điề

Hình 2.6 Mơ tả q trình attacker can thiệp vào chuyển hướớ́ng HTTP sang HTTPS
.........................................................................................................................31
4



download by :


Hình 3.1 Mơ hình triển khai thực nghiệm...............................................................35
Hình 3.2 Giao diện trang tải bộ cài SSLstrip.......................................................... 36
Hình 3.3 Tải bộ cài SSLstrip về máy kali............................................................... 36
Hình 3.4 Tiến hành cài đặt tool SSLstrip................................................................ 37
Hình 3.5 Cài đặt python-pip....................................................................................37
Hình 3.6 Cài đặt file Twisted...................................................................................38
Hình 3.7 Cài đặt server_identity..............................................................................38
Hình 3.8 Lệnh kiểm tra version SSLstrip................................................................39
Hình 3.9 Lệnh chạy SSLstrip và cho lắng nghe ở cơng 8080.................................39
Hình 3.10 Cấu hình các cổng lắng nghe cho SSLstrip............................................39
Hình 3.11 Giao diện Ettercap.................................................................................. 40
Hình 3.12 Sau quá trình scan các host trong mạng................................................. 40
Hình 3.13 Quá trình add target và lựa chọn tấn cơng..............................................41
Hình 3.14 Thơng tin của máy bị hại trướớ́c khi bị tấn cơng......................................42
Hình 3.15 Thông tin của máy bị hại sau khi bị tấn cơng.........................................42
Hình 3.16 Người dùng truy cập web DVWA..........................................................43
Hình 3.17 Ettercap ghi lại được các thông tin về user, pass của người dùng..........43

5

download by :


LỜI NÓI ĐẦU
Kể từ khi Internet ra đời, cùng theo đó lĩnh vực cơng nghệ tin khơng ngừng
phát triển, kèm theo Mạng Internet mang lại rất nhiều tiện ích hữu dụng cho người

sử dụng, một trong các tiện ích phổ thơng của Internet là hệ thống thư điện tử
(Email), trị chuyện trực tuyến (Chat), mạng xã hội, các dịch vụ thương mại và
ngân hàng,… 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 - World Wide Web. Đó là một kênh trao đổi
thơng tin rất hữu ích và nhanh chóng. Song tất cả khơng phải là hồ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ứ ba tác động vào
hay là lộ 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 WWW, đó là giao thức
6

download by :


SSL. Trong bài báo cáo này, chúng em xin phép trình bày hiểu biết về giao thức
SSL và tìm hiểu tấn công chặn giữa trong giao thức SSL và cách phịng chống.
Bài báo cáo gồm có 3 phần chính:
Chương I: Tổng quan về giao thức SSL: ở phần này chúng em sẽ trình bày
tổng quan về lịch sử ra đời của giao thức SSL bao gồm khái niệm, tầm quan trọng
và các phiên bản SSL hiện hành; cách thức hoạt động, các giao thức con và các
thuật toán mã hoá sử dụng trong SSL.
Chương II: Tìm hiểu về tấn cơng chặn giữa trong giao thức SSL và cách
phòng chống: trong chương này chúng em sẽ trình bày chi tiết và cụ thể về tấn
công chặn giữa chiếm quyền điều khiển SSL và cách ngăn chặn tấn công này.
Chương III: Triển khai thực nghiệm
Vì thời gian làm bài có hạn nên bài báo cáo của chúng em sẽ không tránh khỏi
những sai sót. Chúng em rất mong nhận được sự góp ý từ cô và các bạn.
Chúng em xin cảm ơn cô!


Chương 1 TỔNG QUAN VỀ GIAO THỨC SSL
1.1 Lịch sử phát triển của giao thức SSL
1.1.1. Giao thức SSL là gì?
SSL (Secure Sockets Layer) là giao thức bảo mật thơng tin mạng được sử
dụng rộng rãi nhất hiện nay nhằm mã hóa và cung cấp một kênh an tồn giữa
các máy tính trên Internet hoặc mạng nội bộ. SSL thường được sử dụng khi một
trình duyệt web cần kết nối bảo mật đến một máy chủ web.
Được phát triển bởi Netscape, ngày nay giao thức Secure Socket Layer
(SSL) đã được sử dụng rộng rãi trên World Wide Web trong việc xác thực và
mã hố thơng tin giữa client và server. Tổ chức IETF (Internet Engineering Task
Force) đã chuẩn hoá SSL và đặt lại tên là TLS (Transport Layer Security). Mặc dù
là có sự thay đổi về tên nhưng TLS chỉ là một phiên bản mớớ́i của SSL. Phiên bản
7

download by :


TLS 1.0 tương đương vớớ́i phiên bản SSL 3.1. Tuy nhiên SSL là thuật ngữ được sử
dụng rộng rãi hơn.
Vị trí của giao thức SSL theo mơ hình TCP/IP được minh họa trên sơ đồ
sau:

Hình 1.1 Vị trí của giao thức SSL theo mơ hình TCP/IP
SSL được thiết kế như là một giao thức riêng cho vấn đề bảo mật có thể hỗ
trợ cho rất nhiều ứng dụng. Giao thức SSL hoạt động bên trên TCP/IP và bên
dưới các giao thức ứng dụng tầng cao hơn như là HTTP (Hyper Text
Transport Protocol), IMAP (Internet Messaging Access Protocol) và FTP (File
Transport Protocol),... Như các sơ đồ trên cho thấy, SSL được tìm thấy trong
lớp ứng dụng của mơ hình TCP/IP. Với đặc điểm này, SSL có thể được triển
khai trên hầu hết mọi hệ điều hành hỗ trợ TCP/IP mà không cần phải sửa đổi

hạt nhân hệ thống hoặc ngăn xếp TCP/IP. Điều này mang lại cho SSL một lợi
thế rất lớớ́n so vớớ́i các giao thức khác như IPSec (IP Security
8

download by :


Protocol). SSL cũng có thể dễ dàng vượt qua tường lửa và proxy, cũng như thông
qua NAT (Dịch địa chỉ mạng) mà khơng gặp vấn đề gì.
Để bảo vệ những thông tin mật trên mạng Internet hay bất kỳ giao thức
TCP/IP nào. SSL đã kết hợp những yếu tố sau để thiết lập được một giao dịch 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ã hố: đả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ã hố để khơng thể bị đọc được
bởi những người khác ngồi người gửi và người nhận.
Toàn vẹn dữ liệu: đảm bảo thơng tin khơng bị sai lệch. Thể hiện chính
xác thơng tin gốc gửi đến.
Vớớ́i việc sử dụng SSL, các Website có thể cung cấp khả năng bảo mật thơng
tin. Xác thực và toàn vẹn dữ liệu đến người dùng. SSL được tích hợp sẵn vào các
trình duyệt và Web Server. Cho phép người sử dụng làm việc vớớ́i các trang Web ở
chế độ an toàn.
Các cổng được gán cho các giao thức ứng dụng chạy trên SSL:

9

download by :



Hình 1.2 Các cổng được gán cho các giao thức ứng dụng chạy trên
SSL 1.1.2. Tầm quan trọng của giao thức SSL
Công nghệ thông tin ngày càng phát triển và thay đổi hàng ngày hàng giờ.
Cùng vớớ́i sự ra đời của Internet, thì đã góp phần tăng thêm một kênh truyền tải
thông tin.
Ngày nay việc bảo mật thông tin là yếu tố quan trọng để quyết định sự sống
còn của một tổ chức, một công ty hay doanh nghiệp. Vớớ́i sự phát triển nhanh chóng
của cơng nghệ đã mang lại nhiều tiện ích cho người dùng nhưng đồng thời cũng
đặt ra một nhu cầu hết sức cấp thiết về sự an tồn và bảo mật. Và SSL 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 tồn vì những vấn đề sau:
10

download by :


Người dùng khơng thể chắc rằng mình đ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ị một đối tượng thứ
ba 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.
Chính vì vậy giao thức SSL được đã được phát triển nhằm giải quyết triệt để
các vấn đề trên.
1.1.3. Các phiên bản của SSL
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 đã và đang ứng dụng SSL trong thương mại điện tử. Cho đến
bây giờ, có ba phiên bản của SSL:
SSL 1.0: được sử dụng nội bộ chỉ bởi Netscape Communications. Nó
chứa một số khiếm khuyết nghiêm trọng và khơng bao giờ được tung ra bên ngồi.
SSL 2.0: được kết nhập vào Netscape Communications 1.0 đến 2.x. Nó
có một số điểm yếu liên quan đến sự hiện thân cụ thể của cuộc tấn công của
đối tượng trung gian. Trong một nỗ lực nhằm dùng sự không chắc chắn của công
chúng về bảo mật của SSL, Microsoft cũng đã giớớ́i thiệu giao thức PCT cạnh tranh
trong lần tung ra Internet Explorer đầu tiên của nó vào năm 1996.
SSL 3.0: Netscape Communications đã phản ứng lại sự thách thức PCT của
Microsoft bằng cách giớớ́i thiệu SSL 3.0 vốn giải quyết các vấn đề trong SSL 2.0 và
thêm một số tính năng mớớ́i. Vào thời điểm này, Microsoft nhượng bộ và đồng ý hỗ
trợ SSL trong tất cả các phiên bản phần mềm dựa vào TCP/IP của nó (mặc dù
phiên bản riêng của nó vẫn hỗ trợ PCT cho sự tương thích ngược).

11

download by :


1.2 Các dịch vụ của SSL
Xác thực thực thể (1 chiều hoặc 2 chiều): cho phép xác thực client và
server.
Xác thực server: cho phép người dùng xác thực được server muốn kết
nối. Lúc này, phía browser sử dụng các kỹ thuật mã hóa cơng khai để
chắc chắn rằng certificate và public ID của server là có giá trị và được
cấp phát bởi một CA (certificate authority) trong danh sách các CA đáng
tin cậy của client. Điều này rất quan trọng đối vớớ́i một người dùng. Ví dụ,
như khi gửi mã số credit card qua mạng thì người dùng thực sự muốn
kiểm tra liệu server sẽ nhận thơng tin này có đúng là server mà họ định

gửi đến không.
Xác thực client: cho phép phía server xác thực được người dùng muốn
kết nối. Phía server cũng sử dụng các kỹ thuật mã hóa cơng khai để kiểm
tra xem certificate và public ID của server có giá trị hay khơng và được
cấp phát bởi một CA đáng tin cậy của server không. Điều này rất quan
trọng đối vớớ́i nhà cung cấp. Ví dụ, như khi một ngân hàng định gửi các
thông tin tài chính mang tính bảo mật tớớ́i khách hàng thì họ rất muốn
kiểm tra định danh của người nhận.
Thỏa thuận bộ tham số mật mã: Hỗ trợ client, server thỏa thuận bộ tham
số mật mã bao gồm các thuật toán mã hóa, thuật tốn băm xác thực cũng như các
thuật tốn nén dữ liệu,…
Trao đổi khóa phiên: Sau khi thực hiện quá trình bắt tay, client và server
thực hiện quá trình trao đổi khóa phiên được sử dụng trong q trình mã hóa thơng
điệp được trao đổi giữa hai bên.
Nén dữ liệu: Hai bên sẽ đưa ra các thuật toán nén, tiến hành lựa chọn và
thống nhất thuật toán phù hợp.
12

download by :


Bí mật dữ liệu: Tất cả các thơng tin trao đổi giữa client và server được mã
hóa trên đường truyền nhằm nâng cao khả năng bảo mật. Điều này rất quan trọng
đối vớớ́i cả hai bên khi có các giao dịch mang tính riêng tư.
Xác thực (và tồn vẹn dữ liệu): Ngoài việc tất cả các dữ liệu được gửi đi
trên một kết nối SSL đã được mã hóa cịn được bảo vệ nhờ cơ chế tự động phát
hiện các xáo trộn, thay đổi trong dữ liệu nhờ vào các thuật toán băm – hash
algorithm) cũng như xác thực nguồn gốc dữ liệu đến từ đâu.
1.3 Cách thức hoạt động của giao thức SSL
Toàn bộ cơ chế hoạt động và hệ thống thuật toán mã hoá sử dụng trong SSL

được cơng khai, trừ khố chia sẻ tạm thời (session key) được sinh ra tại thời điểm
trao đổi giữa hai ứng dụng là tạo ngẫu nhiên và bí mật đối vớớ́i người quan sát trên
mạng máy tính. Ngồi ra, giao thức SSL còn đòi hỏi ứng dụng chủ phải được
chứng thực bởi một bên thứ ba (CA) thông qua chứng thực điện tử (digital
certificate) dựa trên mật mã cơng khai (ví dụ RSA).
Sau đây xem xét một cách khái quát cơ chế hoạt động của SSL để phân tích
cấp độ an tồn của nó và các khả năng áp dụng trong các ứng dụng nhạy cảm, đặc
biệt là các ứng dụng về thương mại và thanh toán điện tử.

13

download by :


Hình 1.3 Cơ chế hoạt động của SSL
Từng bướớ́c thiết lập một kết nối SSL mớớ́i giữa máy khách (thường là trình
duyệt Web) và máy chủ (thường là máy chủ Web SSL):
Giao thức SSL dựa trên hai nhóm giao thức con chính là giao thức “bắt tay”
(Handshake protocol) và giao thức “bản ghi” (Record protocol). Giao thức bắt tay
xác định các tham số giao dịch giữa hai đối tượng có nhu cầu trao đổi thơng tin
hoặc dữ liệu, cịn giao thức bản ghi xác định khuôn dạng cho tiến hành mã hoá và
truyền tin hai chiều giữa hai đối tượng đó.
14

download by :


Khi hai ứng dụng máy tính, ví dụ giữa một trình duyệt Web và Web Server,
làm việc vớớ́i nhau, server và máy khách sẽ trao đổi “lời chào” (Hello) dướớ́i dạng
các thông điệp cho nhau vớớ́i xuất phát đầu tiên chủ động từ server, đồng thời xác

định các chuẩn về thuật tốn mã hố và nén số liệu có thể được áp dụng giữa hai
ứng dụng.
Ngoài ra, các ứng dụng cịn trao đổi “số nhận dạng/khố theo phiên”
(session ID, session key) duy nhất cho lần làm việc đó. Sau đó ứng dụng khách
(trình duyệt) u cầu có chứng thực điện tử (digital certificate) xác thực của ứng
dụng chủ (web server). Chứng thực điện tử thường được xác nhận rộng rãi bởi một
cơ quan trung gian (là CA - Certificate Authority) như RSA Data Security hay
VeriSign Inc, một dạng tổ chức độc lập, trung lập và có uy tín. Các tổ chức này
cung cấp dịch vụ “xác nhận” số nhận dạng của một công ty và phát hành chứng chỉ
duy nhất cho cơng ty đó như là bằng chứng nhận dạng (identity) cho các giao dịch
trên mạng, ở đây là các Web Server.
Sau khi kiểm tra chứng chỉ điện tử của server (sử dụng thuật tốn mật mã
cơng khai, như RSA tại trình máy trạm), ứng dụng máy trạm sử dụng các thơng tin
trong chứng chỉ điện tử để mã hố thơng điệp gửi lại server mà chỉ có server đó có
thể giải mã. Trên cơ sở đó, hai ứng dụng trao đổi khóa chính (master key) - khố bí
mật hay khoá đối xứng - để làm cơ sở cho việc mã hóa luồng thơng tin/dữ liệu qua
lại giữa hai ứng dụng chủ khách. Toàn bộ cấp độ bảo mật và an tồn của thơng
tin/dữ liệu phụ thuộc vào một số tham số:
(i)
(ii)
(iii)

Số nhận dạng theo phiên làm việc ngẫu nhiên
Cấp độ bảo mật của các thuật toán bảo mật áp dụng cho SSL
Độ dài của khố chính (key length) sử dụng cho lược đồ mã hố

thơng tin.

15


download by :


1.4 Các giao thức con của giao thức SSL
Giao thức SSL gồm bốn giao thức con vớớ́i các chức năng sau:
SSL Record Protocol: thực hiện chức năng phân mảnh, nén, tính giá trị
MAC và mã hóa dữ liệu.
SSL Handshake Protocol (giao thức bắt tay): thực hiện chức năng thỏa
thuận các thuật tốn, tham số mật mã, trao đổi khóa, xác thực Server và
Client (nếu có lựa chọn).
SSL Alert Protocol: thực hiện chức năng thông báo lỗi.
SSL Change Cipher Spec Protocol: thực hiện chức năng thông báo xác
nhận kết thúc giai đoạn Handshake Protocol.
1.4.1. Giao thức SSL Record
SSL Record Protocol nhâṇ dư liêụ từ cac giao thưc con SSL lớp cao hơn va
xư ly viêcc̣ phân đoan, nén, xac thực va ma hoa dư liêụ. Chính xac hơn, giao thưc
nay lây mơṭkhơi dư liêụ co kích cỡ tùy y lam dư liêụ nhâpc̣ va tạo môṭloat cac đoan
dư liêụ SSL lam dư liêụ xuât (hoăcc̣ con đươc goi la cac ban ghi) nho hơn hoăcc̣bằng
16383 byte.
Cac bước khac nhau cua SSL Record Protocol vôn đi từ môṭđoan dư liêụ thô
đên môṭban ghi SSL Plaintext (bước phân mảnh), SSL Compressed (bước nén) va
SSL Ciphertext (bước ma hoa).

Hình 1.4 Cac bước cua SSL Record Protocol
16

download by :


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 tốn nén nào được chỉ rõ, vì
vậy thuật tốn nén mặc định là null.
Tính tốn MAC (mã xác thực thơng điệp) trên dữ liệu đã được nén. Để thực
hiện cần dùng đến một 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))
Trong đó:
|| : phép nối/hoặc.
MAC_write_secret: khóa bí mật được chia sẻ.
hash: thuật tốn băm mã hóa, MD5 hoặc SHA-1.
pad_1: byte 0x36 (0011 0110) được lặp lại 48 lần (384 bit) cho MD5 và
40 lần (320 bit) cho SHA-1.
pad_2: byte 0x5c (0101 1100) được lặp lại 48 lần cho MD5 và 40 lần cho
SHA-1.
seq_num: sequence number cho thông điệp này
SSL Compressed.type: giao thức ở lớớ́p trên được dùng để xử lí phân
mảnh này.
SSL Compressed.length: chiều dài của phân mảnh đã được nén.

17

download by :



SSL Compressed.fragment: phân mảnh đã được nén (nếu nén không
được dùng, phân mảnh ở dạng plaintext).
Mã hóa theo phương pháp mã hóa đối xứng: Mã hóa có thể làm tăng
chiều dài nội dung hơn 1024 byte, vì vậy chiều dài tổng cộng khơng vượt q 214
+2048. Các thuật tốn mã hóa sau được cho phép: AES, DES, RC2, 3DES,…
1.4.2. Giao thức SSL Handshake
SSL Handshake Protocol la giao thưc con chính của SSL đươc xêp lớp trên
SSL Record Protocol. Muc đích cua SSL Handshake Protocol la yêu câu môṭclient
va server thiêt lâpc̣ va duy tri thông tin trang thai vôn đươc sư dung đê bao vê c̣ cac
cuôcc̣ liên lac. Cu thê hơn, giao thưc phai yêu câu client va server châp thuâṇ môṭ
phiên ban giao thưc SSL chung, chon phương thưc nén va thông sô mâṭma, tùy y
xac thực nhau va tao mơṭkhoa mâṭchính ma từ đo cac khoa session khac nhau danh
cho viêcc̣xac thực va ma hoa thông bao co thê đươc dẫn xuât từ đo.
Quá trình bắt tay của client và server trong giao thức Handshake:

Hình 1.5 Quá trình bắt tay của client và server trong giao thức Handshake
18

download by :


Giai đoạn 1: Thiết lập protocol version, ID phiên, thuật tốn mã hóa,
phương pháp nén.
Bước 1: Client gửi một thơng điệp ClientHello tớớ́i server. Các thành phần
quan trọng của một thông điệp ClientHello:


Version: phiên bản SSL cao nhất mà client hỗ trợ.




Session ID: định danh phiên



CipherSuite: danh sách thuật toán mã hóa và băm mà client hỗ trợ
(SSL_RSA_WITH_AES_128_CBC_SHA)



Compression Method: danh sách thuật toán nén dữ liệu mà client hỗ
trợ.

Bước 2: Server gửi SeverHello tớớ́i client để trả lời cho gói ClientHello, nội
dung tương tự như ClientHello, tuy nhiên có một số điểm khác biệt:


Version: Server chọn ra phiên bản SSL cao nhất mà cả client và server
cùng hỗ trợ.



CipherSuite: lựa chọn ciphersuite tốt nhất trong danh sách các
ciphersuite mà nó và client hỗ trợ.



Compression Method: lựa chọn một phương pháp nén trong các
phương pháp nén mà nó nhận được từ client.




Sau hai bướớ́c này, client và server đã thương lượng xong các thuật toán
mã, nén dữ liệu và thuật toán băm.

Giai đoạn 2: Server gửi certificate, dữ liệu trao đổi khóa và yêu cầu client
gửi lại certificate nếu được thiết lập xác thực client.
Bước 3: Server gửi chứng thư (SSL certificate) của nó cho client, và trong
certificate này có chứa public key của server. Client nhận được certificate
của server sẽ sử dụng public key của CA để kiểm tra chữ kỹ số đó. Nếu
certificate của server hợp lệ thì client chấp nhận public key của server trong
certificate đó.
19

download by :


Bước 4: Server gửi ServerHelloDone tớớ́i client để cho biết server đã gửi hết
tất cả các thơng tin mà nó có cho client.
Giai đoạn 3: Client gửi certificate nếu được yêu cầu, kết quả kiểm tra chứng
chỉ server và dữ liệu trao đổi khóa.
Bước 5: ClientKeyExchange do client gửi đến server và chứa thông tin để
tạo ra masterkey


Client sinh một Pre_master secret



Mã hóa nó bằng public key lấy từ certificate của server




Thuật tốn mã hóa đã thương lượng (ví dụ RSA)

Server :


Giải mã private key của mình.



Bây giờ cả client và server sẽ sử dụng Pre_master secret cùng vớớ́i hai
số ngẫu nhiên đã sinh trướớ́c đó để tạo ra master key



Từ master key sẽ tạo ra session key dùng để mã hóa dữ liệu

Giai đoạn 4: ChangeCipherSuite và kết thúc giai đoạn HandShake
Bước 6: ChangCipherSpec: Client gửi thông báo đến server để cho biết tất
cả các gói tin trao đổi giữa client và server đều sẽ được mã hóa bằng các
thuật tốn và session key đã thương lượng trướớ́c đó.
Bước 7: Finished: Do client gửi đến server để cho biết client đã hoàn tất việc
thiết lập kết nối.
Bước 8: ChangeCipherSpec: Server gửi thông báo này đến client để cho biết
tất cả các gói tin trao đổi giữa server và client đều sẽ được mã hóa bằng các
thuật tốn và session key đã thương lượng trướớ́c đó
Bước 9: Finished : Do server gửi đến client để cho biết server đã hoàn tất
việc thiết lập kết nối.


20

download by :


1.4.3. Giao thức SSL Change Cipher Spec
Giao thức SSL Change Cipher Spec là giao thức đơn giản nhất trong bốn
giao thức đặc trưng của SSL. Giao thức này bao gồm một message đơn 1 byte.
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.
1.4.4. 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 trọng 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. 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
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 các tham số bảo mật
được đưa ra từ những lựa chọn có sẵn.
1.5 Các thuật tốn mã hóa sử dụng trong SSL
Các thuật tốn mã hố (Cryptographic algorithm hay cịn gọi là cipher) là

các hàm toán học được sử dụng để 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á, được sử dụng để thực hiện các cơng việc trong
q trình xác thực server và client, truyền tải các certificates và thiết lập các khoá
21

download by :


của từng phiên giao dịch (session key). Client và server có thể hỗ trợ các bộ mật
mã (cipher suite) khác nhau tùy thuộc vào nhiều yếu tố như phiên bản SSL đang
dùng,…
Các thuật toán mã hoá và xác thực của SSL được sử dụng bao gồm:
DES (Data Encryption Standard): là một thuật tốn mã hố có chiều dài
khố là 56 bit.
3-DES (Triple-DES): là thuật tốn mã hố có độ dài khố gấp 3 lần độ
dài khóa trong mã hố DES.
DSA (Digital Signature Algorithm): là một phần trong chuẩn về xác thực
số đang được được chính phủ Mỹ sử dụng.
KEA (Key Exchange Algorithm) là một thuật toán trao đổi khoá đang
được chính phủ Mỹ sử dụng.
MD5 (Message Digest algorithm) được phát triển bởi Rivest.
RSA: là thuật tốn mã hố cơng khai dùng cho cả q trình xác thực và
mã hố dữ liệu được Rivest, Shamir, and Adleman phát triển.
RC2 and RC4: là các thuật toán mã hoá được phát triển bởi Rivest dung
cho RSA Data Security.
SHA-1 (Secure Hash Algorithm): là một thuật tốn băm đang được chính
phủ Mỹ sử dụng.
1.6 Tổng kết chương 1
Trong chương này, báo cáo đã giớớ́i thiệu một cách sơ lược về định nghĩa,
lịch sử hình thành và phát triển của giao thức SSL, từ đó phần nào đã hiểu được

tầm quan trọng của SSL trong việc bảo mật thơng tin. Ngồi ra, nhóm chúng em
cịn trình bày các dịch vụ cũng như cách thức hoạt động của SSL như thế nào,
cấu trúc giao thức SSL, các giao thức con và để bảo vệ thông tin an tồn SSL
được hỗ trợ bởi thuật tốn mã hóa nào.
22

download by :


Chương 2

TÌM HIỂU PHƯƠNG PHÁP TẤN CƠNG CHẶN GIỮA TRONG
GIAO THỨC SSL VÀ CÁCH PHỊNG CHỐNG

2.1 Tìm hiểu tấn cơng chặn giữa
2.1.1. Khái niệm
Tấn công chặn giữa (Man-in-the-Middle Attack) là kiểu tấn cơng bí mật xảy
ra khi kẻ tấn cơng xen giữa vào phiên giao tiếp giữa người hoặc hệ thống (Thường
là trình duyệt web và máy chủ web). Người tấn cơng phải có khả năng đánh chặn
tất cả các thông tin liên quan qua lại giữa hai nạn nhân và tiêm vào những thơng tin
mớớ́i.

Hình 2.6 Mơ tả q trình tấn cơng chặn giữa MITM
Các nạn nhân khơng biết dữ liệu của họ đã bị giả mạo cho đến khi q
muộn. Do đó, nếu MITM thành cơng, có thể gây ra những thiệt hại nặng nề.
2.1.2. Cách thức hoạt động
Một kịch bản MITM có ba đối tượng tham gia: nạn nhân, đối tượng mà nạn
nhân đang cố gắng kết nối, và kẻ tấn công ở giữa, kẻ tấn công đã chặn kết nối của
nạn nhân và nạn nhân không hề biết đến sự tồn tại của kẻ tấn công. Chi tiết hơn, kẻ
tấn công sẽ mạo danh cả hai bên và có được quyền truy cập vào thơng tin mà hai


23


download by :


×