1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

18 974 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 0,93 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BÀI TẬP LỚN AN TOÀN BẢO MẬT GIAO THỨC MẬT MÃInternet ra đời cùng với lĩnh vực công nghệ tin không ngừng phát triền đã 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ổ biến của Internet là hệ thống thư điện tử (email), trò chuyện trực tuyến(chat), máy truy tìm dữ liệu (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.

Trang 1

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

3 Dương Phú Thuần CB121358

4 Vũ Tuấn Minh CB121355

5 Phạm Anh Tuấn CB121361

Chuyên ngành: Công nghệ thông tin

Hà Nội, 06/2013

Trang 2

MỤC LỤC

I Giao thức và giao thức mật mã 3

1 Giao thức 3

2 Giao thức mật mã 4

II Tổng quan về SSL 4

1 Lịch sử phát triển của SSL 4

2 Cơ bản về SSL 5

III Kiến trúc của SSL 6

1 Các thuật toán mã hóa dùng trong SSL 6

2 Kiến trúc của SSL 6

IV Các giao thức dùng trong SSL 7

1 SSL Record Protocol 7

2 SSL Change Cipher Spec Protocol 10

3 Giao thức SSL Alert 10

4 Giao thức SSL Handshake 11

V Tấn công SSL 13

1 Tấn công Diffie Hellman MITM 13

2 Tấn công SSL Sniff và SSL Strip MITM 14

VI Ứng dụng của SSL 15

1 Các ứng dụng phổ biến 15

2 Webserver 15

Kết luận 17

Trang 3

Mở đầu

Internet ra đời cùng với lĩnh vực công nghệ tin không ngừng phát triền đã 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ổ biến của Internet là hệ thống thư điện tử (email), trò chuyện trực tuyến(chat), máy truy tìm dữ liệu (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)

Trang 4

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

ở dạng (siêu văn bản) qua Internet

 FTP (File Transfer Protocol): cho phép trao đổi tập tin qua Internet

 SMTP (Simple Mail Transfer Protocol): cho phép gởi các thông điệp thư điện tử (e-mail) qua Internet

 POP3 (Post Office Protocol, phiên bản 3): cho phép nhận các thông điệp

thư điện tử qua Internet

 MIME (Multipurpose Internet Mail Extension): một mở rộng của giao thức

SMTP, cho phép gởi kèm các tập tin nhị phân, phim, nhạc, theo thư điện

tử

 WAP (Wireless Application Protocol): cho phép trao đổi thông tin giữa

các thiết bị không dây, như điện thoại di động

Trang 5

2 Giao thức mật mã

Giao thức mật mã = giao thức truyền thông + mật mã học

Thông thường một giao thức mật mã kết hợp các khía cạnh sau:

 Thống nhất khóa;

 Xác thực;

 Mã hóa;

 Chống phủ nhận

II Tổng quan về SSL

1 Lịch sử phát triển của SSL

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 toà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 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

đã 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 ngoài

Trang 6

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ó

2 Cơ bản về SSL

SSL (Secure Sockets Layer) là giao thức an ninh 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 toà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

Giao thức SSL đã được sử dụng rộng rãi trên World Wide Web trong việc xác thực

và mã hoá 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) Tuy nhiên SSL là thuật ngữ được sử dụng rộng rãi hơn

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)

=> Để đảm bảo tính bảo mật thông tin trên internet hay bất kì mạng TCP/IP nào thì SSL (Secure Socket Layer) ra đời kết hợp với những yếu tố sau để thiết lập 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ã 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

Trang 7

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)

Các thuật toán trao đổi khoá như KEA, RSA key exchange được sử dụng để 2 bên client và server xác lập khoá đối xứng mà họ sẽ sử dụng trong suốt phiên giao dịch SSL

Và thuật toán được sử dụng phổ biến là RSA key exchange

Các phiên bản SSL 2.0 và SSL 3.0 hỗ trợ cho hầu hết các bộ mã hoá Người quản trị có thể tuỳ chọn bộ mã hoá sẽ dùng cho cả client và server Khi một client và server trao đổi thông tin trong giai đoạn bắt tay (handshake), họ sẽ xác định bộ mã hoá mạnh nhất có thể và sử dụng chúng trong phiên giao dịch SSL

2 Kiến trúc của SSL

SSL được thiết kế để dùng TCP cung cấp 1 dịch vụ bảo mật đầu cuối-đến-đầu cuối đáng tin cậy.SSL không phải là một giao thức đơn mà là 2 lớp giao thức,như minh họa

Trang 8

dưới đây:

Theo hình này, SSL ám chỉ một lớp (bảo mật) trung gian giữa lớp vận chuyển (Transport Layer) và lớp ứng dụng (Application Layer) SSL được xếp lớp lên trên một dịch vụ vận chuyển định hướng nối kết và đáng tin cậy, chẳng hạn như được cung cấp bởi TCP SSL Record Protocol cung cấp các dịch vụ bảo mật cơ bản cho nhiều giao thức khác nhau ở các lớp trên.Trong thực tế, Hyper Text Transfer Protocol (HTTP),cung cấp dịch vụ trao đổi cho tương tác Web client/server,có thể hoạt động trên đỉnh của SSL.Ba giao thức lớp trên được định nghĩa như là các phần của SSL: Handshake Protocol, Change Cypher Spec Protocol và Alert Protocol.Các giao thức mang tính đặc trưng-SSL này được dùng trong phần quản lý trao đổi SSL

- Như vậy có ta thấy SSL có 2 lớp giao thức hay 4 thành phần con của SSL:

+ SSL Handshake Protocol

+ SSL Change Cipher Spec Protocol

+ SSL Alert Protocol

+ 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

Trang 9

+ 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))

Trang 10

trong đó:

+ || : phép nối /hoặc

+ MAC_write_secret: khóa bí mật được chia sẻ

+ hash: thuật toá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 message nay

+ SSLCompressed.type: giao thức ở lớp trên được dùng để xử lí phân mảnh này + SSLCompressed.length: chiều dài của phân mảnh đã được nén

+SSLCompressed.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ể không 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 quá 214+2048 Các thuật toán mã hóa sau được cho phép:

Gắn thêm vào1 header bao gồm các mục sau:

Content Type (8 bit): giao thức lớp trên được dùng để xử lí phân mảnh đi kèm Major Version (8 bit): chỉ ra phiên bản SSL tối đa được dùng Ví dụ, SSLv3,giá trị này là 3

Minor Version (8 bit) : chỉ ra phiên bản tối thiểu được dùng.Ví dụ, SSLv3 ,giá trị này là 0

Trang 11

Compressed Length (16 bit) : chiều dài theo byte của phân mảnh plaintext (hoặc 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

Trang 12

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

Phần còn lại của cảnh báo thì như sau:

close_notify: thông báo cho bên nhận rằng bên gửi sẽ không gửi thêm message nào nữa trong kết nối này Mỗi nhóm thì được yêu cầu gửi một close_notify cảnh báo trước khi kết thúc phần ghi của một kết nối

no_certificate: có thể được gửi để trả lời cho một yêu cầu certificate nếu không certificate thích hợp nào có sẵn

bad_certificate: certificate nhận được thì không hợp lệ(ví dụ như chứa một chữ ký không xác minh)

unsupported_certificate: dạng certificate nhận được thì không hỗ trợ

certificate_revoked: certificate đã bị thu hồi bởi nhà cung cấp

certificate_expired: certificate đã hết hạn đăng ký

certificate_unknown: một số phát sinh không nói rõ xuất hiện trong quá trình xử

ký certificate làm cho nó không thể chấp nhận

4 Giao thức SSL Handshake

Ngày đăng: 08/09/2014, 23:15

HÌNH ẢNH LIÊN QUAN

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 - BÀI TẬP LỚN AN TOÀN BẢO MẬT GIAO THỨC MẬT MÃ
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 (Trang 9)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w