TIỂU LUẬN AN NINH CƠ SỞ DỮ LIỆU CÔNG NGHỆ SSL

23 567 2
TIỂU LUẬN AN NINH CƠ SỞ DỮ LIỆU CÔNG NGHỆ SSL

Đ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

MỤC LỤC 1 1. Giới thiệu SSL 3 1.1. Lịch sử của SSL 3 2. Hoạt động của SSL 5 2.1. Kiến trúc của SSL 5 2.2. Các thành phần trong bộ giao thức của SSL. 8 2.1.1. Giao thức SSL Record 8 2.1.2. Giao thức SSL Change Cipher Spec 11 2.1.3. Giao thức SSL Alert 11 2.1.4. Giao thức SSL Handshake 13 3. Demo 17 4. Tài liệu tham khảo 23 1. Giới thiệu SSL 1.1. Lịch sử 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ử. Giao thức SSL ban đầu được phát triển bởi Netscape. Version 1.0 thì đã không bao giờ được công bố rộng rãi. Version 2.0 được công bố vào tháng 21995 nhưng chứa nhiều lỗ hỏng bảo mật và sau cùng đưa đến mô hình SSL version 3.0 được ban hành năm 1996. Bản sau cùng này được dùng cho TLS version 1.0 và được IETF xác định như một giao thức chuẩn trong RFC 2246 vào tháng 11999. 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ử. 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. SSL giải quyết các vấn đề trên. SSL giải quyết vấn đề đầu tiên bằng cách cho phép 1 cách tùy chọn mỗi bên trao đổi có thể chắc chắn về định danh của phía đối tác trong 1 quá trình gọi là authentication (xác thực). Một khi các bên đã được xác thực, SSL cung cấp 1 kết nối được mã hóa giữa 2 bên để truyền bảo mật các message. Việc mã hóa trong quá trình trao đổi thông tin giữa 2 bên cung cấp sự riêng tư bí mật, vì vậy mà giải quyết được vấn đề thứ 2. Thuật toán mã hóa được sử dụng với SSL bao gồm hàm băm mã hóa, tương tự như 1 checksum. Nó đảm bảo rằng dữ liệu không bị thay đổi trong quá trình truyền dẫn. Hàm băm mã hóa giải quyết vấn đề thứ 3, tính toàn vẹn dữ liệu. Như vậy, SSL đảm bảo được: 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. Ngược lại, các trang Web cũng có thể kiểm tra được tính xác thực của người sử dụng. Bí mật: Đả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. Toàn vẹn: Đả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 nhờ việc sử dụng chữ ký lên message đã gửi đi. Cả xác thực và mã hóa đều là tùy chọn, và phụ thuộc vào cipher suites (các bộ mã hóa) được đàm phán giữa 2 đối tượng. Một ví dụ rõ ràng nhất mà trong đó bạn nên sử dụng SSL là trao đổi thông tin giao dịch qua mạng (ecommerce). Trong trao đổi ecommerce, cần phải hết sức cẩn thận khi bạn có thể chắc chắn về định danh của server mà bạn đang trao đổi thông tin. Một hacker có thể dễ dàng tạo ra 1 website giả, với giao diện chương trình là các dịch vụ quen thuộc, chỉ để cho bạn nhập vào đó số tài khoản. SSL cho phép bạn, client, xác thực về định danh của server. Nó cũng cho phép server xác thực định danh của client, tuy nhiên trong các giao tác Internet, việc này hiếm khi được làm. Đến nay, SSL được thiết kế để đảm bảo được các dịch vụ sau trên mạng Internet. Các dịch vụ đi kèm là cổng của giao thức và phần mô tả khi hoạt động trên SSL. Từ khóa Cổng Mô tả Nsiiop 261 Dịch vụ tên IIOP trên TLSSSL https 443 HTTP trên TLSSSl Smtps 465 SMTP trên TLSSSL Nntps 563 NNTP trên TLSSSL Ldaps 636 LDAP trên TLSSSL

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Lê Anh Trung CÔNG NGHỆ SSL Bài tập giữa kỳ môn: An Ninh CSDL Người hướng dẫn: PGS.TS Trịnh Nhật Tiến Hà Nội – 2013 MỤC LỤC MỤC LỤC 2 1. 1. Giới thiệu SSL Giới thiệu SSL 1.1. 1.1. Lịch sử của SSL Lịch sử 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 Công nghệ SSL Page 2 of 23 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ử. Giao thức SSL ban đầu được phát triển bởi Netscape. Version 1.0 thì đã không bao giờ được công bố rộng rãi. Version 2.0 được công bố vào tháng 2/1995 nhưng chứa nhiều lỗ hỏng bảo mật và sau cùng đưa đến mô hình SSL version 3.0 được ban hành năm 1996. Bản sau cùng này được dùng cho TLS version 1.0 và được IETF xác định như một giao thức chuẩn trong RFC 2246 vào tháng 1/1999. 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ử. 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. SSL giải quyết các vấn đề trên. SSL giải quyết vấn đề đầu tiên bằng cách cho phép 1 cách tùy chọn mỗi bên trao đổi có thể chắc chắn về định danh của phía đối tác trong 1 quá trình gọi là authentication (xác thực). Một khi các bên đã được xác thực, SSL cung cấp 1 kết nối được mã hóa giữa 2 bên để truyền bảo mật các message. Việc mã hóa trong quá trình trao đổi thông tin giữa 2 bên cung cấp sự riêng tư bí mật, vì vậy mà giải quyết được vấn đề thứ 2. Thuật toán mã hóa được sử dụng với SSL bao gồm hàm băm mã hóa, tương tự như 1 checksum. Nó đảm bảo rằng dữ liệu không bị thay đổi trong quá trình truyền dẫn. Hàm băm mã hóa giải quyết vấn đề thứ 3, tính toàn vẹn dữ liệu. Như vậy, SSL đảm bảo được: - 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. Ngược lại, các trang Web cũng có thể kiểm tra được tính xác thực của người sử dụng. - Bí mật: Đả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. - Toàn vẹn: Đả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 nhờ việc sử dụng chữ ký lên message đã gửi đi. Cả xác thực và mã hóa đều là tùy chọn, và phụ thuộc vào cipher suites (các bộ mã hóa) được đàm phán giữa 2 đối tượng. Công nghệ SSL Page 3 of 23 Một ví dụ rõ ràng nhất mà trong đó bạn nên sử dụng SSL là trao đổi thông tin giao dịch qua mạng (e-commerce). Trong trao đổi e-commerce, cần phải hết sức cẩn thận khi bạn có thể chắc chắn về định danh của server mà bạn đang trao đổi thông tin. Một hacker có thể dễ dàng tạo ra 1 website giả, với giao diện chương trình là các dịch vụ quen thuộc, chỉ để cho bạn nhập vào đó số tài khoản. SSL cho phép bạn, client, xác thực về định danh của server. Nó cũng cho phép server xác thực định danh của client, tuy nhiên trong các giao tác Internet, việc này hiếm khi được làm. Đến nay, SSL được thiết kế để đảm bảo được các dịch vụ sau trên mạng Internet. Các dịch vụ đi kèm là cổng của giao thức và phần mô tả khi hoạt động trên SSL. Từ khóa Cổng Mô tả Nsiiop 261 Dịch vụ tên IIOP trên TLS/SSL https 443 HTTP trên TLS/SSl Smtps 465 SMTP trên TLS/SSL Nntps 563 NNTP trên TLS/SSL Ldaps 636 LDAP trên TLS/SSL Ftps-data 989 FTP (dữ liệu) trên TLS/SSL Ftps 990 FTP (Điều khiển) trên TLS/SSL Tenets 992 TELNET trên TLS/SSL Imaps 994 IRC trên TLS/SSL Pop3s 995 POP3 trên TLS/SSL Cho đến 2008, TLS 1.2 (SSL 3.3) được công bố với những cải tiến về các thuật toán mã hóa, như việc bắt buộc sử dụng các thuật toán mã hóa MD5 và SHA-1 đã hoàn thiện và đảm bảo cho SSL với độ tin cậy cao. 2. 2. Hoạt động của SSL Hoạt động của SSL 2.1. 2.1. Kiến trúc của SSL 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 dưới đây: Công nghệ SSL Page 4 of 23 Mô hình kiến trúc của SSL 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 và được xét đến trong phần sau. Hai khái niệm SSL quan trọng là SSL session (phiên SSL) và SSL connection ( kết nối SSL), được định nghĩa như sau: - Connection ( kết nối): 1 kết nối là 1 transport _ trong định nghĩa mô hình phân lớp OSI_ cung cấp 1 loại dịch vụ thích hợp. Với SSL, những kết nối như vậy là những mối quan hệ ngang hàng. Các kết nối thì trao đổi nhanh chóng.Mỗi kết nối gắn với 1 phiên. - Session (phiên): 1 phiên SSL là 1 liên kết giữa 1 client và 1 server. Các phiên được tạo ra bằng Handshake Protocol (giao thức bắt tay). Các phiên định nghĩa 1 tập các tham số bảo mật bằng mật mã,có thể được chia sẻ giữa nhiều kết nối.Các phiên được dùng để tránh những đàm phán tốn kém_về các tham số bảo mật mới_cho mỗi kết nối. Giữa bất kì 1 cặp của nhóm nào (các ứng dụng như HTTP trên client hay server), có thể có nhiều kết nối bảo mật. Về lý thuyết, có thể có nhiều phiên đồng thời giữa các nhóm, nhưng đặc trưng này không được dùng trong thực tiễn. Thực sự có nhiều trạng thái gắn với mỗi phiên.Một khi 1 phiên được thành lập,có trạng thái hoạt động hiện thời cho cả đọc và ghi, (như nhận và gửi ). Thêm vào đó, trong suốt quá trình Handshake Protocol, trạng thái treo đọc và ghi được tạo ra. Dựa trên kết luận thành công của Handshake Protocol, các trạng thái treo trở thành trạng thái hiện thời. Công nghệ SSL Page 5 of 23 Một trạng thái phiên được định nghĩa bởi các thông số sau (các định nghĩa lấy từ đặc trưng SSL): - Session Identifier: 1 chuỗi byte bất kì được chọn bởi server để nhận dạng trạng thái phiên là hoạt động (active) hay phục hồi lại (resumable). - Peer certificate: một chứng chỉ X509.v3.Thành phần này của trạng thái có thể là null. - Compression method: thuật toán được dùng để nén dữ liệu trước khi mã hóa. - Cypher spec: chỉ ra thuật toán mã hóa dữ liệu (như rỗng,AES…) và thuật toán băm (như MD5 hay SHA-1) sử dụng để tính toán MAC.Nó cũng định nghĩa các thuộc tính mã hóa như hash-size. - Master secret: 48 byte bí mật được chia sẻ giữa client và server. - Is resumable: một cờ chỉ ra rằng phiên này có thể được dùng để khởi tạo các kết nối khác hay không. Một trạng thái kết nối được định nghĩa bởi các tham số sau: - Server and client random: các chuỗi byte được chọn bởi server và client cho mỗi kết nối. - Server write MAC secret: khóa bí mật được sử dụng bởi phép tính MAC trên dữ liệu, được gửi bởi server. - Client write MAC secret: khóa bí mật được sử dụng bởi phép tính MAC trên dữ liệu,được gửi bởi client. - Server write key: khóa mã hóa quy ước cho dữ liệu được mã hóa bởi server và giải mã bởi client. - Client write key: khóa mã hóa quy ước cho dữ liệu được mã hóa bởi client và giải mã bởi server. - Initialization vectors: khi 1 khối mã trong mode CBC được dùng, một vector khởi tạo (IV) được duy trì cho mỗi key.Phần này được khởi tạo trước tiên bởi SSL Handshake Protocol.Sau đó, khối mã hóa cuối cùng từ mỗi record được để dành lại để dùng làm IV cho record sau. - Sequence number : mỗi bên duy trì các sequence number riêng cho mỗi message được truyền hoặc được nhận trong mỗi kết nối. Khi 1 bên gửi hoặc nhận một change cypher spec message, sequence number thích hợp được thiết lập về 0. Công nghệ SSL Page 6 of 23 2.2. 2.2. Các thành phần trong bộ giao thức của SSL. Các thành phần trong bộ giao thức của SSL. 2.1.1. 2.1.1. Giao thức SSL Record Giao thức SSL Record SSL Record Protocol cung cấp 2 dịch vụ cho kết nối SSL: o 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. o 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. Các quá trình thực hiện của giao thức SSL Record Protocol Công nghệ SSL Page 7 of 23 Bước đầu tiên là 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à16384 byte hoặc ít hơn. Tiếp theo,nén được 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. Bước xử lí kế tiếp là 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 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 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 này - 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). Chú ý rằng, cái này tương tự như thuật toán HMAC.Điểm khác biệt là 2 phần đệm (pad) được || trong SSLv3 và được XOR trong HMAC. Thuật toán MAC trong SSLv3 được dựa trên bản phác thảo Internet ban đầu cho HMAC. Phiên bản gần nhất của HMAC được định nghĩa trong RFC 2104,sử dụng XOR. Kế tiếp, message đã nén cộng thêm MAC được 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á 2^14 + 2048. Các thuật toán mã hóa sau được cho phép: Công nghệ SSL Page 8 of 23 Với mã hóa stream (luồng),message đã nén cộng thêm MAC được mã hóa.Chú ý rằng MAC được tính toán trước khi mã hóa xảy ra và MAC được mã hóa cùng với plaintext hoặc là plaintext đã nén. Với mã hóa block (khối),MAC có thể được đệm thêm trước khi mã hóa.Phần đệm thêm (padding) có dạng gồm nhiều byte đệm được theo sau bởi 1 byte chỉ rõ chiều dài của phần đệm.Tổng số lượng đệm vào là lượng nhỏ nhất. sao cho tổng kích thước dữ liệu được mã hóa (plaintext +MAC + padding) là 1 bội số của chiều dài khối mã hóa. Ví dụ, plaintext (hoặc text đã nén nếu nén được dùng) là 58 byte, với MAC là 20 byte (dùng SHA-1), được mã hóa với chiều dài block là 8 byte (như DES ). Cùng với byte padding.length ,nó sinh ra tổng cộng 79 byte.Để tạo ra 1 số nguyên là bội của 8,1 byte đệm được thêm vào. Bước cuối cùng của xử lí SSL Record Protocol là 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. - 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íá trị lớn nhất là 2^14+2048 Các loại nội dung được định nghĩa là change_cipher_spec, alert,handshake, và application_data. Ba cái đầu tiên là các giao thức đặc trưng-SSL, được bàn đến trong phần kế tiếp. Chú ý rằng không có sự khác biệt nào được tạo ra giữa các ứng dụng (như HTTP ) có thể dùng SSL, nội dung dữ liệu được tạo ra bởi các ứng dụng đó thì không trong suốt đối với SSL. Công nghệ SSL Page 9 of 23 Định dạng SSL record 2.1.2. 2.1.2. Giao thức SSL Change Cipher Spec Giao thức SSL Change Cipher Spec 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. 2.1.3. 2.1.3. Giao thức SSL Alert 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ấp 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. Công nghệ SSL Page 10 of 23 [...]... không thể chấp nhận Công nghệ SSL Page 11 of 23 2.1.4 Giao thức SSL Handshake Giao thức Handshake Phần phức tạp nhất của SSL là giao thức Handshake Giao thức này cho phép server và client chứng thực với nhau và thương lượng cơ chế mã hóa, thuật toán MAC và khóa mật mã được sử dụng để bảo vệ dữ liệu được gửi trong SSL record.Giao thức SSL Handshake thường được sử dụng trước khi dữ liệu của ứng dụng được... Diffie-Hellman bởi vì nó là kết quả của sự tạm thời và khóa xác thực - Anonymous Diffie-Hellman: thuật toán Diffie-Hellman cơ bản được sử dụng, không chứng thực Nghĩa là mỗi lần một bên gửi thông số Diffie-Hellman công khai của nó cho bên kia thì không xác thực Điều này gần như là có thể bị tấn công bởi tấn công Man-in-the-middle, trong đó kẻ tấn công điều khiển cả nhóm anonymous Diffie-Hellman - Fortezza:... giải mã trở lại thành bản rõ mà người nhận có thể đọc được: 4 Tài liệu tham khảo Các tài liệu tham khảo trong quá trình thực hiện bài tập lớn bao gồm: Understanding SSL/ TLS-J.K HarrisElectrical and Computer EngineeringVirginia Tech Oct 2008 Công nghệ SSL Page 22 of 23 SSL/ TLS Deployment Best Practices - Ivan Ristic SSL/ TLS Overview - Stanford Secure Computer Systems Group http://www.codeproject.com/Articles/10877/Public-Key-RSA-Encryption-in-C-NET... dùng Thông điệp server_key_exchange cần cho các trường hợp sau: - Anonymous Diffie-Hellman : Nội dung thông điệp bao gồm hai giá trị DiffieHellman toàn cục(một số nguyên tố và một số nguyên tố cùng nhau với số đó) cùng với khóa Diffie-Hellman của server - Ephemeral Diffie-Hellman : nội dung thông điệp bao gồm 3 tham số DiffieHellman cung cấp cho anonymous Diffie-Hellman,cùng với một chữ kí của các... khóa Diffie-Hellman trong certificate của server chứa các thông số công khai Diffie-Hellman được ký bởi Certificate Authority (CA) Nghĩa là certificate khóa công khai chứa các thông số khóa công khai Diffie-Hellman Client chứa sẵn các thông số khóa công khai Diffie-Hellman đó trong certificate nếu chứng thực client được yêu cầu hoặc trong một message trao đổi khóa.Phương thức này mang lại kết quả một... anonymous Diffie-Hellman.Chú ý rằng nếu fixed Diffie-Hellman được dùng,thì thông điệp chứng thực có chức năng như là thông điệp trao đổi khóa của server vì nó chứa các tham số Diffie-Hellman công khai của server Sau đó một thông điệp server_key_exchange được gửi đi nếu nó được yêu cầu.Nó không được yêu cầu trong 2 trường hợp sau: (1) Server đã gửi một certificate với các tham số fixed Diffie-Hellman... toán Diffie-Hellman sử dụng khóa công khai cố định - Ephemeral Diffie-Hellman: Phương pháp được sử dụng để tạo khóa „ephemeral‟(tạm thời,1 lần)– khóa tạm thời Trong trường hợp này, khóa công khai Diffie-Hellman được trao đổi,được ký sử dụng khóa bí mật - RSA hoặc DSS của bên gửi.Bên nhận có thể sử dụng khóa công khai tương ứng để xác minh chữ ký - Certificate được sử dụng để xác thực khóa công khai Điều... của RSA Theo đó,client không thể gửi đi cách đơn giản một khóa bí mật được mã hóa với khóa công khai/bí mật RSA phụ và sử dụng thông điệp server_key_exchanged để gửi khóa công khai.Nội dung thông điệp bao gồm hai tham số của khóa công khai RSA phụ(số mũ và số dư) cùng với một chữ ký của các tham số này Công nghệ SSL Page 15 of 23 - Fortezza: một vài chi tiết thêm về chữ kí được đảm bảo Như thường lệ,... compression method Server_hello version, random, session id, cipher suite, compression method Certificate chain of X.509v3 certificates Server_key_exchange parameters, signature Certificate_request type, authorities Server_done Null Công nghệ SSL Page 12 of 23 Certificate_verify signature Client_key_exchange parameters, signature Finish hash value Các kiểu message của HandShake Giai đoạn 1 – Thiết lập khả... file văn bản này Chọn Encryption, chọn Generate Key Pair… Công nghệ SSL Page 20 of 23 Chương trình sẽ yêu cầu lưu cặp khóa ở đây ta lần lượt lưu hai cặp khóa có tên là ma.pke va giaima.kez Tiếp theo tiến hành mã hóa file note.txt ở dạng bản rõ thành dạng đã được mã hóa Chọn Encryption, Encryp … tiếp theo chỉ đến khóa mã hóa cho văn bản Công nghệ SSL Page 21 of 23 Sau khi được mã hóa, bản rõ của văn bản . này. 2.1.3. 2.1.3. Giao thức SSL Alert 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. maxLength = ( keySize ) - 2 - // ( 2 * SHA1.Create().ComputeHash( rawBytes ).Length ); int maxLength = keySize - 42; int dataLength = bytes.Length; int iterations = dataLength / maxLength; Công. và SHA-1 đã hoàn thiện và đảm bảo cho SSL với độ tin cậy cao. 2. 2. Hoạt động của SSL Hoạt động của SSL 2.1. 2.1. Kiến trúc của SSL Kiến trúc của SSL SSL được thiết kế để dùng TCP cung cấp 1

Ngày đăng: 21/08/2014, 15:38

Từ khóa liên quan

Mục lục

  • 1. Giới thiệu SSL

  • 2. Hoạt động của SSL

    • 2.1.1. Giao thức SSL Record

    • 2.1.2. Giao thức SSL Change Cipher Spec

    • 2.1.3. Giao thức SSL Alert

    • 2.1.4. Giao thức SSL Handshake

    • 3. Demo

    • 4. Tài liệu tham khảo

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan