Nghiên cứu giao thức bảo mật web SSL

59 951 0
Nghiên cứu giao thức bảo mật web 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

Nghiên cứu giao thức bảo mật web SSL

MỤC LỤC LỜI MỞ ĐẦU Ngày nay, công nghệ thông tin phát triển giúp người dễ dàng cập nhật thông tin Internet nói chung ứng dụng tảng web nói riêng Với internet có dịch vụ sử dụng mail, mạng xã hội, toán trực tuyến … chứa thông tin cá nhân nhạy cảm người dùng mật truy cập, tài khoản ngân hàng Vì việc để lộ thông tin gây tổn thất lớn cho người sử dụng lẫn doanh nghiệp.Các hacker lợi dụng lỗ hổng hệ thống sai lầm người dùng để khai thác thông tin Chính lý chọn đề tài “Nghiên cứu giao thức bảo mật Web SSL” làm đề tài nghiên cứu Nội dung gồm có chương: Chương 1.Tổng quan SSL.Trình bày khái quát lịch sử phát triển, mục đích kiến trúc hoạt động SSL Chương 2.Các kiểu công cách phòng tránh.Chương rõ kiểu công xảy đưa cách phòng tránh thích hợp Chương 3.Triển khai SSL cho ứng dụng Web.Hướng dẫn cài đặt cấu hình “https” cho Web server Với hiểu biết kinh nghiệm hạn chế nên chắn tránh khỏi thiếu sót, chúng em mong nhận đóng góp ý kiến thầy, cô bạn để đề tài hoàn thiện Tháng năm 2014 Nhóm báo cáo CHƯƠNG TỔNG QUAN VỀ SSL 1.1 Giới thiệu SSL 1.1.1 Lịch sử phát triển Ngày việc bảo mật thông tin yếu tố quan trọng để định sống tổ chức, công ty hay doanh nghiệp Với phát triển nhanh chóng công nghệ mang lại nhiều tiện ích cho người dùng đồng thời đặt nhu cầu cấp thiết an toàn bảo mật Và SSL giải pháp tốt đáp ứng nhu cầu coi “lá chắn cuối cùng” bảo mật thương mại điện tử Giao thức SSL ban đầu phát triển Netscape Version 1.0 không công bố rộng rãi Version 2.0 công bố vào tháng 2/1995 chứa nhiều lỗ hỏng bảo mật sau đưa đến mô hình SSL version 3.0 ban hành năm 1996 Bản sau dùng cho TLS version 1.0 IETF xác định giao thức chuẩn RFC 2246 vào tháng 1/1999.Ngày Visa, MasterCard, American Express nhiều công ty giải pháp tài hàng đầu khác giới ứng dụng SSL thương mại điện tử 1.1.2 Nhiệm vụ SSL Những mục đích việc phát triển SSL là: • Xác thực server client với nhau: SSL hỗ trợ sử dụng kỹ thuật mã hoá khoá chuẩn (mã hoá sử dụng khoá công khai) để xác thực đối tác truyền thông với Hầu hết ứng dụng xác thực client cách sử dụng chứng số, SSL sử dụng phương pháp để xác thực client • Đảm bảo toàn vẹn liệu: phiên làm việc, liệu bị làm hỏng dù vô tình hay cố ý • Bảo vệ tính riêng tư: liệu trao đổi client server phải bảo vệ, tránh bị đánh cắp đường truyền có người nhận đọc liệu Các liệu bảo vệ bao gồm liệu liên quan đến hoạt động giao thức (các thông tin trao đổi trình thiết lập phiên làm việc SSL) liệu thực trao đổi phiên làm việc Việc truyền thông tin nhạy cảm mạng không an toàn vấn đề sau: • Bạn luôn bạn trao đổi thông tin với đối tượng cần trao đổi • Dữ liệu mạng bị chặn ,vì liệu bị đối tượng thứ khác đọc trộm, thường biết đến attacker • Nếu attacker chặn liệu, attacker sửa đổi liệu trước gửi đến người nhận SSL giải vấn đề trên.SSL giải vấn đề cách cho phép cách tùy chọn bên trao đổi chắn định danh phía đối tác trình gọi “Authentication” (xác thực).Một bên xác thực,SSL cung cấp kết nối mã hóa hai bên để truyền bảo mật message.Việc mã hóa trình trao đổi thông tin hai bên cung cấp riêng tư bí mật,vì mà giải vấn đề thứ hai.Thuật toán mã hóa sử dụng với SSL bao gồm hàm băm mã hóa,tương tự checksum.Nó đảm bảo liệu không bị thay đổi trình truyền dẫn.Hàm băm mã hóa giải vấn đề thứ ba,tính toàn vẹn liệu Chú ý rằng,cả xác thực mã hóa tùy chọn, phụ thuộc vào cipher suites (các mã hóa) đàm phán hai đối tượng Một ví dụ rõ ràng mà bạn nên sử dụng SSL trao đổi thông tin giao dịch qua mạng (e- commerce).Trong trao đổi e-commerce,thật dại dột giả định bạn chắn định danh “server” mà bạn trao đổi thông tin.Ai dễ dàng tạo Website giả hứa hẹn dịch vụ tuyệt vời,chỉ bạn nhập vào số tài khoản.SSL cho phép bạn, client,xác thực định danh server.Nó cho phép server xác thực định danh client,mặc dù giao tác Internet việc làm Một client server hài lòng với định danh bên đối tác, SSL cung cấp tính bảo mật tính toàn vẹn thông qua thuật toán mã hóa mà sử dụng.Điều cho phép thông tin nhạy cảm,như số tài khoản truyền cách an toàn Internet Trong SSL cung cấp tính xác thực,tính bảo mật toàn vẹn dự liệu,nó không cung cấp non-repudiation (tính không từ chối).Non-repudiation có nghĩa đối tượng gửi message,thì sau phủ nhận việc gửi message đó.Khi chữ kí số tương đương liên kết với message,việc trao đổi sau có thểđược chứng minh.SSL không cung cấp non-repudiation 1.2 Kiến trúc SSL SSL thiết kế để dùng TCP cung cấp dịch vụ bảo mật end-to-end đáng tin cậy SSL giao thức đơn mà gồm giao thức hình minh họa đây: Hình 1.1 Chồng giao thức SSL SSL Record Protocol cung cấp dịch vụ bảo mật cho nhiều giao thức khác lớp 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 hoạt động đỉnh SSL Bao giao thức lớp định nghĩa phần SSL: Handshake Protocol, Change Cypher Spec Protocol Alert Protocol Các giao thức mang tính đặc trưng dùng phần quản lý trao đổi SSL xét đến phần sau Hai khái niệm SSL quan trọng SSL session SSL connection định nghĩa sau: • Connection: kết nối transport cung cấp loại dịch vụ thích hợp Với SSL, kết nối mối quan hệ ngang hang Các kết nối trao đổi nhanh chóng kết nối gắn với phiên • Session: phiên SSL liên kết client server Các phiên tạo Handshake Protocol(giao thức bắt tay) Các phiên định nghĩa tập tham số bảo mật mật mã, chia sẻ nhiều kết nối Các phiên dùng để tránh đàm phán tốn tham số bảo mật cho kết nối Giữa cặp nhóm nào, có nhiều kết nối bảo mật.Về lý thuyết, có nhiều phiên đồng thời nhóm, đặc trưng không dùng thực tiễn Thực có nhiều trạng thái gắn với phiên.Một phiên thành lập, có trạng thái hoạt động thời cho đọc ghi.Thêm vào đó, suốt trình Handshake Protocol, trạng thái treo trở thành trạng thái thời Một trạng thái phiên định nghĩa thông số sau : • Session Identifier: chuỗi byte chọn server để nhận dạng trạng thái phiên hoạt động • Peer certificate: chứng X509.v3 Thành phần trạng thái null • Compression method: thuật toán dùng để nén liệu trước mã hóa • Cypher spec: thuật toán mã hóa liệu thuật toán băm sử dụng để tính toán MAC Nó định nghĩa thuộc tính mã hóa hash-size • Master secret: 48 byte bí mật chia sẻ client server • Is resumable: phiên dùng để khởi tạo kết nối khác hay không Một trạng thái kết nối định nghĩa tham số sau: • Server and client random: chuỗi byte chọn server client cho kết nối • Server write MAC secret: khóa bí mật sử dụng phép tính MAC liệu, gửi server • Client write MAC secret: khóa bí mật sử dụng bới phép tính MAC liệu, gửi client • Server write key: khóa mã hóa quy ước cho liệu mã hóa server giải mã client • Client write key: khóa mã hóa quy ước cho liệu mã hóa client giải mã server • Initialization vectors: khỗi mã mode CBC dùng, vector khởi tạo trì cho key Phần khởi tạo trước tiên SSL Handshake Protocol Sau đó, khối mã hóa cuối từ record để dành lại đề dùng làm IV cho record sau • Sequence number: bên trì sequence number riêng cho message truyền nhận kết nối Khi bên gửi nhận change cypher spec message, sequence number thích hợp thiết lập Sequence number vượt 264-1 1.3 Hoạt động SSL Hình 1.2 Hoạt động giao thức SSL Điểm SSL thiết kế độc lập với tầng ứng dụng để đảm bảo tính bí mật, an toàn chống giả mạo luồng thông tin qua Internet hai ứng dụng bất kỳ, thí dụ webserver trình duyệt khách, sử dụng rộng rãi nhiều ứng dụng khác môi trường Internet Toàn chế hoạt động hệ thống thuật toán mã hóa sử dụng SSL phổ biến công khai, trừ khóa chia sẻ tạm thời (session key) sinh thời điểm trao đổi hai ứng dụng tạo ngẫu nhiên bí mật người quan sát mạng máy tính 1.3.1 Giao thức SSL Record SSL Record cung cấp dịch vụ cho kết nối SSL • Confidentiality(bí mật): Handshake Protocol định nghĩa khóa bí mật chia sẻ, khóa sử dụng cho mã hóa quy ước liệu SSL • Message integrity(toàn vẹn): Handshake Protocol định nghĩa khóa bí mật chia sẻ, khóa sử dụng để hình thành MAC Hình sau toàn hoạt động SSL Record Protocol SSL RP nhận message ứng dụng truyền đi, phân mảnh liệu thành nhiều block, nén liệu cách tùy chọn , áp dụng vào MAC, mã hóa , thêm vào header truyền khối kết thu segment TCP Dữ liệu nhận được giải mã, kiểm tra, giải nén, xếp lại phân phối đến người sử dụng lớp cao 10 Hình 3.25 Creat a new certificate Hình 3.26 Prepare the request Hình 3.27 Name for certificate 45 Hình 3.28 Organization Information Hình 3.29 Common name 46 Hình 3.30 Information Hình 3.31 Certification Request File Name 47 Hình 3.32 Information Nội dung file certreq.txt: Hình 3.33 Nội dung file certreq.txt 48 Copy and paste nội dung file certreq.txt vào ô trống: Hình 3.34 Saved Request Hình 3.35 Certificate pending 49 Sau Request xong CA server, vào Admin Tools/ Cert Authority/Pending Request để cấp quyền sử dụng CA ID Hình 3.36 CA Hình 3.37 Pending request 50 Hình 3.38 Issued Certificate Tiếp tục vào IE gõ: http://192.168.1.101/certsrv/ Chọn View the status… 51 Hình 3.39 View the status of a pending Hình 3.40 Saved 52 Hình 3.41 Download certificate Hình 3.42 Save 53 Hình 3.43 Save As Hình 3.44 Propertives 54 Hình 3.45 Server Certificate Hình 3.46 Process the pending 55 Hình 3.47 Browse Hình 3.48 Process a pending request 56 Hình 3.49 Edit Hình 3.50 Secure chanel 57 3.3 Kết đạt Khi gõ: http://www.kma.vn Hinh 3.51 http://www.kma.vn Khi gõ: https://www.kma.vn 58 Hình 3.52.https://www.kma.vn KẾT LUẬN KẾT QUẢ ĐẠT ĐƯỢC: o Tìm hiểu giao thức SSL o Cấu trúc cách hoạt động o Các kiểu công SSL cách phòng chống o Triển khai SSL website giả lập o … PHƯƠNG HƯỚNG PHÁT TRIỂN: o Triển khai SSL cho website hosting o Demo phương pháp công SSL o Nghiên cứu tình hình thực tế o … 59 [...]... certificate làm cho nó không thể chấp nhận 14 1.3.4 Giao thức SSL 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 truyền đi Giao thức SSL Handshake bao gồm một loạt những message trao... 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 12 1.3.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ư... giao thức lớp trên được dùng để xử lí phân mảnh đi kèm • Major version (8bit): chỉ ra phiên bản SSL tối đã được dùng Ví dụ, SSLv3 , giá trị này là 3 • Minor version (8bit): chỉ ra phiên bản tối thiểu được dùng • Compressed length (16bit): chiều dài theo byte của phân mảnh plaintext Giá trị lớn nhất là 214+2048 1.3.2 SSL Change Cipher Spec Giao thức SSL CCS là giao thức đơn giản nhất trong ba giao thức. .. dưới 15 Bảng 1.1 Các kiểu message giao thức SSL handshake Hình 1.3 sau đây thể hiện trao đổi lúc ban đầu cần được thiết lập một kết nối logic giữa client và server Việc trao đổi có thể xem như có 4 giai đoạn 16 Hình 1.3.Cơ chế giao thức Handshake a Giai đoạn – Thiết lập khả năng bảo mật 17 Giai đoạn này được dùng để bắt đầu một kết nối logic và thiết lập khả năng bảo mật mà sẽ liên kết với nó Việc trao... yếu này để thực hiện tấn công: 25 Lúc này attaker sẽ dùng 2 khóa, 1 khóa giao dịch với Client và khóa còn lại giao dịch với Server.Cả Client và Server đều không nhận thấy có sự thay đổi bất thường b SSLSniff và SSLStrip MITM Attack Đây là 2 kiểu tấn công đánh vào tâm lý người dùng Hình 2.1 .Giao dịch https thông thường Hình 2.2.SSLSniff MITM Attack 26 Với Client, Attaker sẽ tạo ra 1 digital certificate... attacker tiến hành giao dịch như 1 Client thông thường.Khi giao dịch,trên Client sẽ xuất hiện những warning nhưng hầu hết người dùng đều bỏ qua những cảnh báo này.Kết quả là mọi thông tin trong quá trình giao dịch đều bị “nghe lén” bởi attacker Hình 2.3 .SSL 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... 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à 3.0 hỗ trợ hầu hết các bộ mã hóa.Người quản trị có thể tùy chọn bộ mã hóa 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, họ sẽ xác định bộ mã hóa mạnh nhất có thể và sử dụng chúng trong phiên giao dịch SSL Bước cuối cùng là gắn... change_cipher_spec và chép CipherSpec đệm vào CipherSpec hiện tại Chú ý rằng thông điệp này không được xem là một phần giao thức bắt tay nhưng được gửi đi sử dụng giao thức Change Cipher Spec Client sau đó ngay lập tức gửi thông điệp kết thúc theo giải thuật mới, với các khóa và các bí mật Thông điệp kết thúc xác minh xem quá trình trao đổi khóa và xác thực có thành công không Nội dung của thông điệp... 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 message đượ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 2byte.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 bản khác vẫn có thể tiếp tục... 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 27 Có hai tin dành cho nhà quản trị muốn bảo vệhệ thống chống lại các cuộc tấn công: • Tin tốt là web browser cảnh báo người dùng khi nhận dạng của web server không thể được kiểm chứng, và có thể chỉ ra cuộc tấn công man-in-middle bằng cách hiện

Ngày đăng: 08/08/2016, 11:00

Mục lục

  • Ngày nay, công nghệ thông tin phát triển giúp con người dễ dàng cập nhật thông tin trên Internet nói chung và các ứng dụng trên nền tảng web nói riêng. Với internet chúng ta có các dịch vụ sử dụng như mail, mạng xã hội, thanh toán trực tuyến … trong đó chứa các thông tin cá nhân nhạy cảm của các người dùng như mật khẩu truy cập, tài khoản ngân hàng. Vì vậy việc để lộ thông tin gây tổn thất rất lớn cho cả người sử dụng lẫn doanh nghiệp.Các hacker có thể lợi dụng các lỗ hổng về hệ thống hoặc sai lầm của người dùng để khai thác các thông tin.

  • Chính vì những lý do đó chúng tôi chọn đề tài “Nghiên cứu giao thức bảo mật Web SSL” làm đề tài nghiên cứu. Nội dung gồm có 3 chương:

  • Chương 1.Tổng quan về SSL.Trình bày khái quát về lịch sử phát triển, mục đích và kiến trúc cũng như hoạt động của SSL.

  • Chương 2.Các kiểu tấn công và cách phòng tránh.Chương này chỉ rõ các kiểu tấn công xảy ra và đưa ra cách phòng tránh thích hợp.

  • Chương 3.Triển khai SSL cho ứng dụng Web.Hướng dẫn cài đặt cấu hình “https” cho Web server.

  • Với hiểu biết và kinh nghiệm còn hạn chế nên chắc chắn vẫn không thể tránh khỏi những thiếu sót, chúng em mong nhận được sự đóng góp ý kiến của thầy, cô và các bạn để đề tài được hoàn thiện hơn.

  • Tháng 4 năm 2014

  • Nhóm báo cáo

  • 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 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ử.

  • Những mục đích chính của việc phát triển SSL là:

  • Xác thực server và client với nhau: SSL hỗ trợ sử dụng các kỹ thuật mã hoá khoá chuẩn (mã hoá sử dụng khoá công khai) để xác thực các đối tác truyền thông với nhau. Hầu hết các ứng dụng hiện nay xác thực các client bằng cách sử dụng chứng chỉ số, SSL cũng có thể sử dụng phương pháp này để xác thực client.

  • Đảm bảo toàn vẹn dữ liệu: trong một phiên làm việc, dữ liệu không thể bị làm hỏng dù vô tình hay cố ý.

  • Bảo vệ tính riêng tư: dữ liệu trao đổi giữa client và server phải được bảo vệ, tránh bị đánh cắp trên đường truyền và chỉ có đúng người nhận mới có thể đọc được các dữ liệu đó. Các dữ liệu được bảo vệ bao gồm các những dữ liệu liên quan đến chính hoạt động giao thức (các thông tin trao đổi trong quá trình thiết lập phiên làm việc SSL) và các dữ liệu thực trao đổi trong phiên làm việc.

  • 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 một 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 một 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 một kết nối được mã hóa giữa hai 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 hai bên cung cấp sự riêng tư bí mật,vì vậy mà giải quyết được vấn đề thứ hai.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ư một 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ứ ba,tính toàn vẹn dữ liệu.

  • Chú ý rằng,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 hai đối tượng.

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

Tài liệu liên quan