Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công nghệ thông tin LỜI CẢM ƠN Trước hết, em xin bày tỏ lòng biết ơn đến lãnh đạo khoa Khoa Học Máy Tính trường Cao Đẳng Công Nghệ Thông Tin Hữu Nghị Việt – Hàn, toàn thể các thầy cô giáo đã tận tình giảng dạy trang bị cho em những kiến thức quý báu trong suốt quá trình học tập và rèn luyện tại trường. Em xin gửi lời cảm ơn chân thành đến cô Dương Thị Thu Hiền đã giúp em rất nhiều trong việc góp ý chỉ ra hướng đi của đề tài và cô Dương Thị Thu Hiền đã hết lòng góp ý, chỉnh sửa để em hoàn thiện đề tài này. Sau cùng , em xin chuyển lời cảm ơn tất cả bạn bè những người đã động viên, khích lệ tinh thần cho em vượt qua những khó khăn trong suốt thời gian học tập nhất là trong thời gian thực hiện đồ án. Để đáp lại, em sẽ cố gắng hoàn thành tốt đề tài tốt nghiệp này nhằm ra trường đóng góp một phần sức lực nhỏ bé của mình phục vụ cho đất nước. Xin chân thành cảm ơn Đà Nẵng, Ngày 2 tháng 06 năm 2013 Sinh viên thực hiện Lê Xuân Thắng Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang i MỞ ĐẦU Lý do chọn đề tài. Ngày nay mạng máy tính là một khái niệm trở nên quen thuộc với hầu hết tất cả mọi người, đặc biệt chiếm vị trí hết sức quan trọng với các doanh nghiệp. Với xu thế phát triển mạnh mẽ của hệ thống mạng như: mạng internet, hệ thống thương mại điện tử, hệ thống thông tin trong các cơ quan, doanh nghiệp,… thì vấn đề bảo mật và an ninh mạng trở nên hết sức cần thiết. Bảo mật và mã hóa thông tin là một vấn đề quan trọng và có nhiều ứng dụng trong đời sống xã hội. Ngày nay các ứng dụng mã hóa và bảo mật thông tin được sử dụng ngày càng phổ biến hơn trong các lĩnh vực từ lĩnh vực an ninh, quân sự, quốc phòng,… đến các lĩnh vực dân sự như thương mại điện tử, ngân hàng …. Trong thời điểm hiện nay, khi mà mạng Internet chiếm một vai trò quan trọng thì sự gian lận dữ liệu internet ngày càng tăng. Bạn luôn muốn mọi thông tin của bạn luôn mu ốn được bảo vệ với mã hóa mạnh mẽ từ các nhà cung cấp bảo mật đáng tin cậy thực hiện việc trao đổi thông tin nhạy cảm qua Internet. Và Secure Sockets Layer (SSL) một tiêu chuẩn an ninh công nghệ toàn cầu sẽ là giải pháp mà bạn đang tìm kiếm. Việc sử dụng SSL sẽ cung cấp tính riêng tư và bảo mật tốt hơn kết nối Internet không được mã hóa. Nó giảm nguy cơ bên thứ ba có thể chặn và lạm dụng và khai thác thông tin. Chúng ta sẽ thấy an toàn, tin cậy hơn trong việc chia sẻ thông tin thanh toán và thông tin cá nhân với các nhà cung cấp dịch vụ khi biết họ đang sử dụng giao thức SSL. Với những lợi ích đã nói trên mà nó mang lại, nên em đã chọn đề tài “ Triển khai chứng thực CA cho các dịch vụ mạng trên windows sv 2008 ” làm đồ án tốt nghiệp cuối khóa của em. Bố cục chính của đề tài. Chương 1: Tổng quan về SSL Chương 2: Các phương thức tấn công và cách phòng chống trong SSL Chương 3: Triển khai thực nghiệm Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang ii MỤC LỤC MỞ ĐẦU ................................................................................................................................ i MỤC LỤC ............................................................................................................................ ii DANH MỤC HÌNH VẼ ......................................................................................................iii CHƯƠNG 1: TỔNG QUAN VỀ SSL................................................................................. 1 1.1 Giới thiệu tổng quan về HTTP và HTTPs .............................................................. 1 1.2 Giới thiệu chung về SSL............................................................................................ 1 1.3 Lịch sử phát triển ...................................................................................................... 4 1.4 Cấu trúc SSL .............................................................................................................. 5 1.5 Các thuật toán mã hóa ............................................................................................ 10 1.6 Lợi ích khi sử dụng giao thức SSL ......................................................................... 14 1.7 Một số dịch vụ mạng cơ bản ................................................................................... 15 1.7.1 Dịch vụ HTTP .................................................................................................... 15 1.7.2. Dịch vụ FTP ...................................................................................................... 15 1.7.3. Dịch vụ POP ...................................................................................................... 16 1.7.4. Dịch vụ SMTP................................................................................................... 17 CHƯƠNG 2: CÁC PHƯƠNG THỨC TẤN CÔNG VÀ CÁCH PHÒNG CHỐNG TRONG SSL ....................................................................................................................... 19 2.1 Các phương thức tấn công ...................................................................................... 19 2.2 Các cách phòng chống ............................................................................................. 24 CHƯƠNG 3: TRIỂN KHAI THỰC NGHIỆM............................................................... 26 3.1Giới thiệu mô hình mạng ......................................................................................... 26 3.1.1 Mô hình triển khai .............................................................................................. 26 3.1.2 Đặt vấn đề .......................................................................................................... 27 3.2 Chứng thực CA cho web server ............................................................................. 28 3.3 Chứng thực CA cho dịch vụ FTP ........................................................................... 49 3.3.1 Cài đặt và cấu hình FTP ..................................................................................... 49 3.3.2 Test thử dịch vụ FTPs trên Xp ........................................................................... 56 3.4 Triển khai CA bảo mật cho hệ thống E-mail ........................................................ 60 3.4.1 Cài đặt và cấu hình hệ thống mail server Kerio ................................................. 60 3.4.2 Triển khai Certification Authority (CA) ............................................................ 76 KẾT LUẬN ......................................................................................................................... 93 TÀI LIỆU THAM KHẢO ................................................................................................. 94 Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang iii DANH MỤC HÌNH VẼ Hình 1.1: Giao thức SSL trong mô hình TCPIP ........................................................5 Hình 1.2: Các giao thức con trong giao thức SSL. .....................................................6 Hình 1.3: Server và client đăng ký giấy chứng nhận từ CA .......................................6 Hình 1.4: Quá trình tạo giấy chứng chỉ (X.509) . .......................................................7 Hình 1.5:Client xác thực Server ..................................................................................8 Hình 1.6: Server xác thực Client .................................................................................8 Hình 1.7: Quá trình sử dụng key đối xứng. ...............................................................11 Hình 1.8: Các giai đoạn của DES..............................................................................12 Hình 1.9: Quá trình sử dụng key bất đối xứng. .........................................................13 Hình 1.10: Quá trình sử dụng key bất đối xứng giữa người dùng A và B ................13 Hình 1.11: Các dịch vụ sử dụng SSL. .......................................................................18 Hình 2.1: Giao thức HTTPS thường dùng. ...............................................................19 Hình 2.2: Quá trình Connect từ Web Browser đến Web Server. ..............................20 Hình 2.3: Tấn công giả mạo Certificate ....................................................................21 Hinh 2.4: Mô tả tấn công SSL bằng SSLStrip (1) ....................................................22 Hinh 2.5: Mô tả tấn công SSL bằng SSLStrip (2) ....................................................22 Hinh 2.6: Mô tả tấn công SSL bằng SSLStrip (3) ....................................................23 Hinh 2.7: Mô tả tấn công SSL bằng SSLStrip (4) ....................................................23 Hình 2.8: KIểm tra trang web có dùng SSL hay không ............................................24 Hình 2.9 : Nhận dạng tính bảo mật trang web dùng SSL .........................................25 Hình 3.1: Mô hình triển khai .....................................................................................26 Hình 3.2: Hộp thoại chọn dịch vụ cần cài đặt ...........................................................28 Hình 3.3: Cấu hình DNS ...........................................................................................28 Hình 3.4: DNS management .....................................................................................29 Hình 3.5: Cấu hình web ............................................................................................29 Hình 3.6: Hộp thoại internet information services(IIS) manager .............................30 Hình 3.7: hộp thoại add web site ...............................................................................30 Hình 3.8: Hộp thoại sites ...........................................................................................31 Hình 3.9: Text chạy 2 web site cùng lúc ...................................................................31 Hình3.10: Hộp thoại server manager ........................................................................32 Hình 3.11: Hộp thoại Select Server Roles ................................................................32 Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang iv Hình 3.12: Hộp thoại Select Server Roles ................................................................33 Hình 3.13: Hộp thoại installation results ..................................................................33 Hình 3.14: Hộp thoại Select Server Roles ................................................................34 Hình 3.15: Hộp thoại Select Server Roles ................................................................34 Hình 3.16: Hộp thoại set validity period ...................................................................35 Hình 3.17: Hộp thoại kết thúc quá trình cài đặt CA server .......................................35 Hình 3.18: Vào giao diện CA ....................................................................................36 Hình 3.19: Hộp thoại certification Authority ............................................................36 Hình 3.20: Hộp thoại server certificates ...................................................................37 Hình 3.21: Hộp thoại Request sertificate ..................................................................37 Hình 3.22: Hộp thoại chọn đường dẫn lưu file .........................................................38 Hình 3.23: File yêu cầu chứng thực ..........................................................................38 Hình 3.24: Hộp thoại để liên hệ với máy chủ CA .....................................................39 Hình 3.25: Hộp thoại Request a Certificate ..............................................................39 Hình 3.26: Hộp thoại advanced certificate Request ..................................................40 Hình 3.27: Hộp thoại Submit a Certificate Request or Renewal Request ................40 Hình 3.28: Hộp thoại Submit a Certificate Request or Renewal Request ................41 Hình 3.29: Hộp thoại giao diện certification Authority ............................................41 Hình 3.30: Hộp thoại giao diện certification Authority ............................................42 Hình 3.31: Hộp thoại giao diện certification Authority ............................................42 Hình 3.32: Hộp thoại để liên hệ với máy chủ CA .....................................................43 Hình 3.33: Hộp thoại View the status of a pending certificate request ....................43 Hình 3.34: Hộp thoại download file certificate issued..............................................44 Hình 3.35: Giấy chứng nhận .....................................................................................44 Hình 3.36: Hộp thoại internet information services(IIS) manager ...........................45 Hình 3.37: Hộp thoại complete certificate request ...................................................45 Hình 3.38: Hộp thoại trang web 1 .............................................................................46 Hình 3.39: Hộp thoại site bindings ...........................................................................46 Hình 3.40: Hộp thoại add site binding ......................................................................46 Hình 3.41: Giao diện CMD .......................................................................................47 Hình 3.42: Giao diện CMD .......................................................................................47 Hình 3.43: Hộp thoại trang web 2 .............................................................................48 Hình 3.44: Text trang web1chạy với giao thức https ................................................48 Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang v Hình 3.45: Text trang web2 chạy với giao thức https ...............................................48 Hình 3.46: Hộp thoại select server roles ...................................................................49 Hình 3.47: Hộp thoại Installation results ..................................................................49 Hình 3.48: Hộp thoại cài đặt FTP server ..................................................................50 Hình 3.49: Hộp thoại End-user license agreement ...................................................50 Hình 3.50: Hộp thoại Custom setup ..........................................................................51 Hình 3.51: Hộp thoại kết thúc quá trình cài đặt ........................................................51 Hình 3.52: Hộp thoại xin CA cho FTP server...........................................................52 Hình 3.53: Hộp thoại Specify Friendly Name ..........................................................52 Hình 3.54: chứng chỉ Certificate ...............................................................................53 Hình 3.55: Thư mục FTP ..........................................................................................53 Hình 3.56: Tạo FTP site ............................................................................................54 Hình 3.57: Hộp thoại Add FTP site ..........................................................................54 Hình 3.58: Hộp thoại Binding and SSL settings .......................................................55 Hình 3.59: Hộp thoại Authentication and Authorization ìnormation .......................55 Hình 3.60: Hộp thoại filezilla client ..........................................................................56 Hình 3.61: Hộp thoại cài đặt FTP client ...................................................................56 Hình 3.62: Quá trình cài đặt hoàn tất ........................................................................57 Hình 3.63: Hộp thoại giao diện filezilla client ..........................................................57 Hình 3.64: Hộp thoại Site Manager ..........................................................................58 Hình 3.65: Hộp thoại xuất hiện xác nhận giấy chứng thực .......................................58 Hình 3.67: Hộp thoại kết nối thành công tới FTP server ..........................................59 Hình 3.68: Hộp thoại tạo uer .....................................................................................60 Hình 3.69: Hộp thoại add e-mail vào uer ..................................................................61 Hình 3.70: Hộp thoại cài đặt Mail server Kerio ........................................................61 Hình 3.71: Hộp thoại License Agreement ................................................................62 Hình 3.72: Hộp thoại Setup Type .............................................................................62 Hình 3.73: Hộp thoại Destination Folder ..................................................................63 Hình 3.74: Hộp thoại Ready to install the program ..................................................63 Hình 3.75: Hộp thoại configuration wizard ..............................................................64 Hình 3.76: Hộp thoại Mail Domain ..........................................................................64 Hình 3.77: Hộp thoại Administrative Account .........................................................65 Hình 3.78: Hộp thoại Message Store Directory ........................................................65 Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang vi Hình 3.79: Hộp thoại InstallShield Wizard Completed ............................................66 Hình 3.80: Hộp thoại New Connection ....................................................................66 Hình 3.81: Hộp thoại domains ..................................................................................67 Hình 3.82: Hộp thoại Users .......................................................................................67 Hình 3.83: Hộp thoại Import Users ..........................................................................68 Hình 3.84: Hộp thoại Import Users ..........................................................................68 Hình 3.85: Hộp thoại Users .......................................................................................69 Hình 3.86: Hộp thoại servises ...................................................................................69 Hình 3.87: Hộp thoại Server Manager ......................................................................70 Hình 3.88: Hộp thoại Select Features .......................................................................70 Hình 3.89: Hộp thoại Confirm Installation Selections ..............................................71 Hình 3.90: Hộp thoại Installation Results .................................................................71 Hình 3.91: Hộp thoại Installation Results .................................................................72 Hình 3.92: hộp thoại Your Name ..............................................................................72 Hình 3.93: Hộp thoại Internet E-mail Address .........................................................73 Hình 3.94: Hộp thoại Setup e-mail servers ...............................................................73 Hình 3.95: hộp thoại Internet Mail Logon ................................................................74 Hình 3.96: Giao diện windows mail .........................................................................74 Hình 3.97: Hộp thoại Create Mail .............................................................................75 Hình 3.98: Thư nhận từ A gửi cho B ........................................................................75 Hình 3.99: Hộp thoại server manager .......................................................................76 Hình 3.100: Hộp thoại Select Server Roles ..............................................................76 Hình 3.101: Hộp thoại Select Role Services .............................................................77 Hình 3.102: Hộp thoại Specify Setup Type ..............................................................77 Hình 3.103: Hộp thoại Specify CA Type ..................................................................78 Hình 3.104: hộp thoại Setup Private Key .................................................................78 Hình 3.105: hộp thoại Configure CA Name .............................................................79 Hình 3.106: Hộp thoại Web Server (IIS ) ................................................................79 Hình 3.107: Hộp thoại Confirm Installation Selections ............................................80 Hình 3.108: Hộp thoại certsrv ...................................................................................80 Hình 3.109: Hộp thoại Console1 ...............................................................................81 Hình 3.110: Cửa sổ Add or Remove Snap-in ...........................................................81 Hình 3.111: Hộp thoại console1................................................................................82 Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang vii Hình 3.112: Hộp thoại Before You Begin ................................................................82 Hình 3.113: Hộp thoại Request Certificates ............................................................83 Hình 3.114: Hộp thoại Certificate Installation Results .............................................83 Hình 3.115: Hộp thoại console1................................................................................84 Hình 3.116: Certificate ..............................................................................................84 Hình 3.116: Certificate ..............................................................................................85 Hình 3.117: Hộp thoại Create Mail ...........................................................................85 Hình 3.118: Thư có đính kèm chữ ký số ...................................................................86 Hình 3.119: Thư gửi cho A có mã hóa ......................................................................86 Hình 3.120: Thư của B gửi cho A ............................................................................87 Hình 3.121: Thư có kèm chữ ký số và mã hóa .........................................................87 Hình 3.122: Kiểm tra chữ ký số ................................................................................88 Hình 3.123: E-mail chưa sửa đổi ..............................................................................88 Hình 3.124: E-mail đã bị sửa đổi ..............................................................................89 Hình 3.125: Thư nhận được đã bị sửa đổi .................................................................90 Hình 3.126: Hộp thoại Create Mail ..........................................................................91 Hình 3.127: Không xem được nội dung mail ...........................................................91 Hình 3.128: Mail đã mã hóa ......................................................................................92 Hình 3.129: Nội dung thư B gửi cho A .....................................................................92 Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang 1 CHƯƠNG 1: TỔNG QUAN VỀ SSL 1.1 Giới thiệu tổng quan về HTTP và HTTPs - HTTP là chữ viết tắt từ Hyper Text Transfer Protocol (giao thức truyền tải siêu văn bản). Nó là giao thức cơ bản mà World Wide Web sử dụng. HTTP xác định cách các thông điệp (các file văn bản, hình ảnh đồ hoạ, âm thanh, video, và các file multimedia khác,...) được định dạng và truyền tải ra sao và những hành độ ng nào mà các Web server và các trình duyệt Web phải làm để đáp ứng các lệnh rất đa dạ ng. Chẳng hạn, khi bạn gõ một địa chỉ Web URL vào trình duyệt Web, một lệnh HTTP sẽ được gửi tới Web server để ra lệnh và hướng dẫn nó tìm đúng trang Web được yêu cầ u và kéo về mở trên trình duyệt Web. Như vậy, HTTP là giao thức truyền tải các file từ một Web server vào một trình duyệt Web để người dùng có thể xem một trang Web đang hiện diện trên Internet. HTTP là một giao thức ứng dụng của bộ giao thứ c TCPIP ( các giao thức nền tảng cho internet). - HTTPS là viết tắt của "Hypertext Transfer Protocol Secure", Nó là một sự kế t hợp giữa giao thức HTTP và giao thức bảo mật SSL hay TLS cho phép trao đổ i thông tin một cách bảo mật trên Internet. Giao thức HTTPS thường đượ c dùng trong các giao dịch nhậy cảm cần tính bảo mật cao. Netscape Communications tạo ra HTTPS vào năm 1994 cho trình duyệt web Netscape Navigator . Ban đầu, HTTPS đã được sử dụng với SSL mã hóa. Phiên bả n hiện hành của HTTPS được chính thức chỉ định bởi RFC 2818 Tháng 5 năm 2000. HTTPS đã có lịch sử phát triển khá dài, thậm chí có thể nói rằ ng nó sinh cùng thời với Web. Nhưng cho đến nay, giao thức này vẫn chỉ được sử dụng chủ yếu bở i những trang web có hoạt động chuyển tiền, trang web của các ngân hàng hoặc các cử a hàng trực tuyến. Nếu như có những trang web khác sử dụng HTTPS, thì họ cũng chỉ dùng nó cho một vài tác vụ nhất định mà thôi. 1.2 Giới thiệu chung về SSL SSL (Secure Socket Layer) là giao thức để cung cấp dịch vụ bảo m ật cho lưu lượng dữ liệu trên kênh truyền, nó sử dụng tổ hợp nhiều giải thuật nhằm mã hóa để đảm bảo quá trình trao đổi thông tin trên mạng được bảo mật. Việc mã hóa dữ liệ u diễn ra một cách trong suốt, hỗ trợ nhiều giao thức khác chạy trên nền giao thức TCP. Việc kết nối giữa một Web browser tới bất kỳ điểm nào trên mạng Internet đi qua rất nhiều các hệ thống độc lập mà không có bất kỳ sự bảo vệ nào với các thông tin Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang 2 trên đường truyền. Không một ai kể cả người sử dụng lẫn Web server có bất kỳ sự kiểm soát nào đối với đường đi của dữ liệu hay có thể kiểm soát được liệu có ai đó thâm nhập vào thông tin trên đường truyền. Để bảo vệ những thông tin mật trên mạ ng Internet hay bất kỳ mạng TCPIP 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ã 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. 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. Với việc sử dụng SSL, các Web site 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 browser 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. Khi Web browser sử dụng kết nối SSL tới server, biểu tượng ổ khóa sẽ xuấ t hiện trên thanh trạng thái của cửa sổ browser và dòng “http” trong hộp nhập địa chỉ URL sẽ đổi thành “https”. Một phiên giao dịch HTTPS sử dụng cổng 443 thay vì sử dụng cổng 80 như dùng cho HTTP. SSL được sử dụng phổ biến nhấ t trên Web, Mail, Ftp. Giao thức SSL được phát triển bởi Netscape, ngày nay 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ã hóa thông tin giữ a client và sever. Tổ chức IETF (Internet Engineering Task Force ) đã chuẩ n hóa SSL và đặt lại là TLS (Transport Layer Security). Mặc dù là co’ 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 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 phổ biến hơn. 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 TCPIP 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). SSL Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang 3 được sử dụng để hỗ trợ các giao dịch an toàn cho rất nhiều ứng dụng khác nhau trên Internet và đang được sử dụng chính cho các giao dịch trên Internet. SSL không phải là một giao thức đơn lẻ mà là một tập các thủ tục đã được chuẩ n hóa để thực hiện các nhiệm vụ bảo mật sau. Xác thực Server: Cho phép người sử 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 người dùng. Xác thực Client: Cho phép phía server xác thực được người sử 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á tị hay không và được cấp phát bởi một CA trong danh sách các CA đáng tin cậy của server không. Điều này rất quan trọng đối vớ i các nhà cung cấp. Mã hóa kết nối: 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ả 2 bên khi có giao dịch mang tính riêng tư. Ngoài ra 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. Certificate Authority ( CA ) : là tổ chức phát hành các chứng thực các loại chứng thư số cho người dùng, doanh nghiệp, máy chủ (server), mã code, phần mề m. Nhà cung cấp chứng thực số đóng vai trò là bên thứ ba (được cả hai bên tin tưởng) để hỗ trợ cho quá trình trao đổi thông tin an toàn. GlobalSign - một trong những doanh nghiệp đầu tiên trên thế giới đượ c công nhận là nhà cung cấp dịch vụ chứng thực chữ ký số công cộng cung cấp tất cả các loạ i chứng thư, gói chứng thư, giải pháp chứng thư số cho các ngành tài chính – ngân hàng, y tế, giáo dục và các lĩnh vực kinh doanh khác. - Chứng thư tiêu chuẩn toàn cầu - Tương thích với 99 các trình duyệt - Cung cấp bởi một trong những CA uy tín nhất thế giới - Định hướng doanh nghiệp với tất cả các dòng sản phẩm SSL Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang 4 1.3 Lịch sử phát triển - Như chúng ta đã biết có hai giao thức bảo mật quan trọng lớp vận chuyển (Layer Transport) có tầm quan trọng cao nhất đối với sự bảo mật của các trình ứng dụng trên Web: đó là hai giao thức SSL và TLS. - Nói chung, có một số khả năng để bảo vệ bằng mật mã lưu lượng dữ liệu HTTP. Ví dụ, vào những năm 1990, tập đoàn CommerceNet đã đề xuất S- HTTP mà về cơ bản là một cải tiến bảo mật của HTTP.Một phần thực thi của S- HTTP đã làm cho có sẵn công cộng trong một phiên bản được chỉnh sửa của trình duyệt Mosaic NCSA mà những người dùng phải mua (trái với trình duyệt Mo NCSA "chuẩn" có sẵn công cộng và miễn phí trên Internet). Tuy nhiên, cùng thời điểm Netscape Communication đã giới thiệu SSL và một giao thức tương ứng với phiên bản đầu tiên của Netscape Navigator, Trái với tập đoàn CommerceNet, Netscape Communications đã không tính phí các khách hàng của nó về việc thực thi giao thức bảo mật của nó. Kết quả, SSL trở thành giao thức nổi bật để cung cấp các dịch vụ bảo mật cho lưu lượng dữ liệu HTTP 1994 và S- HTTP lặng lẽ biến mấ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. 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 (Private Communication Technology) cạnh tranh trong lần tung ra Internet Explorer đầu tiên của nó vào năm 1996. SLL 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 TCPIP 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). Thông số kỹ thuật mới nhất của SSL 3.0 đã được tung ra chính thức vào tháng 3 năm 1996. Nó được thực thi trong tất cả các trình duyệt chính bao gồm ví dụ Microsoft Internet Explorer 3.0 (và các phiên bản cao hơn), Netscape Navigator 3.0 (và các phiên Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang 5 bản cao hơn), và Open.Như được thảo luận ở phần sau trong chương này, SSL 3.0 đã được điều chỉnh bởi IETF TLS WG.Thực tế, thông số kỹ thuật giao thức TLS 1.0 dẫn xuất từ SSL 3.0. 1.4 Cấu trúc SSL SSL là giao thức tầng (layered protocol), bao gồm 4 giao thức con sau: Giao thức SSL Handshake Giao thức SSL Change Cipher Spec Giao thức SSL Alert SSL Record Layer 4 giao thức con này được phân làm 2 phần chính là: Handshake protocols layer. SSL record layer. Vị trí của các giao thức trên, tương ứng với mô hình TCPIP được minh hoạ theo hình sau: Hình 1.1: Giao thức SSL trong mô hình TCPIP Theo biểu đồ trên, SSL nằm trong tầng ứng dụng của giao thức TCPIP. Do đặc điểm này, SSL có thể được dùng trong hầu hết mọi hệ điều hành hỗ trợ TCPIP mà không cần phải chỉnh sửa nhân của hệ thống hoặc ngăn xếp TCPIP. Điều này mang lại cho SSL sự cải tiến mạnh mẽ so với các giao thức khác như IPSec (IP Security Protocol).Vì giao thức này đòi hỏi nhân hệ điều hành phải hỗ trợ và chỉnh sửa ngăn xếp TCPIP. Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang 6 Các giao thức con trong giao thức SSL Hình 1.2: Các giao thức con trong giao thức SSL. Thực tế giao thức SSL không phải là một giao thức đơn mà là một bộ các giao thức. a. Handshake Protocol Handshake protocol là bộ giao thức SSL phức tạp nhất.giao thức này chịu trách nhiệm thiết lập hoặc phục hồi lại các phiên làm việc an toàn chính vì vậy giao thức này có các chức năng chính sau: + Authentication( thẩm định): Xác nhận server cho các client, các tùy chọn,xác thực các client thông qua các giấy chứng nhận(certificates) bằng các public và private keys. - Giấy chứng nhận là một hình thức nhận dạng bằng kỹ thuật số được ban hành bởi một tổ chức có thẩm quyền cấp giấy chứng nhận(CA), nó chứa các thông tin nhận diện, thời gian hiệu lực, một khóa công khai, một serial, và chữ ký kĩ thuật của nhà phát hành. Hình 1.3: Server và client đăng ký giấy chứng nhận từ CA Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang 7 - Với mục đích xác thực,Handshake protocols sử dụng giấy chứng nhận X.509 đểxác minh danh tính của các bên nắm giữ giấy chứng nhận, đồng thời Handshake protocols sử dụng X.509 để thực hiện các việc sau: Tham gia vào quá trình băm dữ liệ u.trong quá trình này thì private key do CA cung cấp sẽ được các thuật toán băm sử dụng vào quá trình tạo ra giá trị băm (MAC). Thiết lập độ dài của key 512 bit, 1024 bit hoặc hơn. Độ dài của key sẽ tác động đến sự mã hóa dữ liệu, khi key có độ dài lớn thì việc mã hóa dữ liệu sẽ lâu hơn nhưng bù là nó sẽ đảm bảo về khả năng bảo mật của dữ liệu và ngược lại. Các thuậ t toán mã hóa của RSA hoặc DSA thường sử dụng key 512 bit, 1024 bit hoặc 2018 bit. Hình 1.4: Quá trình tạo giấy chứng chỉ (X.509) . - CA (Certificate authority) là một bên thứ ba đáng tin cậy.CA có thể xác nhận danh tính của bên yêu cầu cấp giấy chứng nhận (thường là một user hoặc máy tính), và sau đó cấp giấy chứng nhận, public keys cho bên yêu cầu, CA cũng gia hạn, thu hồi giấy chứng nhận khi cần thiết.Hiện nay có nhiều tổ chức cung cấp giấy chứng nhận như là: StartCom,Cacert.. các tổ chức này chuyên cung cấp các giấy chứng nhận miễn phí. Đối với Verisign,Comodo,DigiCert,Entrust,GlobalSign… thì thu phí. Chức năng xác thực sẽ thực hiện 2 phần chính đó là: + Xác thực Server :Cho phép người sử dụng xác thực được server muốn kết nối. Lúc này phía client sẽ sử dụng các thuật toán công khai để chắc rằng giấy chứng nhận(certificate) và public ID của server là có giá trị và được cấp phát bởi một CA 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 người Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang 8 sử dụng.Ví dụ như gửi mã số credit card qua mạng thì người dùng thực sự muốn kiểm tra server nhận thông tin này có đúng là server mà họ định gửi đến hay không. Hình 1.5:Client xác thực Server + 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ư 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 một khách hàng thì họ rất muốn kiểm tra định danh của người nhận. Hình 1.6: Server xác thực Client Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang 9 + Trong một kết nối logic được thiết lập giữa client và server và ngược lại thì các tham số sau sẽ được thỏa thuận. Version: phiên bản SSL mà hai bên server và client đang dùng. Random: dữ liệu chứa một tem thời gian 32 bít và một số ngẫ u nhiên dài 28 byte. Session ID: Định danh cho phiên làm việc của server và client. Peer certificate: chứng nhận X.509 CipherSuite: danh sách các thuật toán mã hoá và phương pháp trao đổ i khoá mà phía client hỗ trợ. Premaster secret:Được tạo ra từ Cirtificate a Premaster Secret, và đượ c mã hóa bằng public key (trong cirtificate).Nó được dùng đ ể tạo ra Master Secret, master secret được dùng để tạo ra các session key mã hóa dữ liệu trong mộ t phiên làm việc của server và client. Server public key: key công khai của server, client dùng key này đ ể mã hóa MAC của client, server sẽ dùng private key của nó để giải mã nhằm xác thực dữ liệu đến. Server private key: như đã nói ở trên key này dùng đ ể giải mã MAC. Client public key: : key công khai của client, server dùng key này đ ể mã hóa MAC của server, client sẽ dùng private key của nó để giải mã nhằm xác thực dữ liệu đến. Client private key: dùng đ ể giải mã dữ liệu MAC để xác thực thông tin củ a server. Server write key: là session key của server dùng đ ể mã hóa dữ liệu, client sẽ dùng key này đ ể giải mã dữ liệu mà client gửi tới Server write key: là session key của server dùng đ ể mã hóa dữ liệu, client sẽ dùng key này đ ể giải mã dữ liệu. Sequence number (số thứ tự): server và client quản lý một cách riêng rẽ, các số thứ tự này để đánh số các thông điệp gửi và nhận cho mỗi kết nối. b. Change CipherSpec Protocol Đây là giao thức SSL đơn giản nhất. Nó chỉ chứa một thông điệp mang giá trị 1. Mục đích duy nhất của thông điệp này là làm chuyển trạng thái của một phiên từ “đang chờ” (pending) sang “bền vững” (fixed). Ví dụ khi 2 bên qui ước bộ giao thức Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang 10 nào sẽ sử dụng.Cả client và server đều phải gửi thông điệp loại này cho bên đối tác, sau khi đã trao đổi xong thì coi như hai bên đã đồng ý với nhau. c. Alert Protocol Alert Protocol được các bên sử dụng để mang các thông điệp của phiên liên quan tới việc trao đổi dữ liệu và hoạt động của các giao thức. Mỗi thông điệp của giao thức này gồm 2 byte.Byte thứ nhất chứa một trong hai giá trị là warning (1) và fatal (2) xác định tính nghiêm trọng của thông điệp. Khi một trong 2 bên gửi thông điệp có giá trị bít đầu tiên là fatal (2) thì phiên làm việc giữa 2 bên sẽ kết thúc ngay lập tức. Byte tiếp theo của thông điệp chứa mã lỗi xảy ra trong phiên giao dịch SSL. d. SSL Record Protocol SSL Record Protocol sử dụng để trao đổi tất cả các kiểu dữ liệu trong một phiên bao gồm các thông điệp, dữ liệu của các giao thức SSL khác và dữ liệu của ứng dụng. SSL Record Protocol liên quan đến việc bảo mật và đảm bảo toàn vẹn dữ liệu. Mục đích của SSL Record Protocol là thu nhận những thông điệp mà ứng dụng chuẩn bị gửi, phân mảnh dữ liệu cần truyền, đóng gói, bổ sung header tạo thành một đối tượng gọi là bản ghi (record), bản ghi đó được mã hoá và có thể truyền bằng giao thức TCP. Trong mô tả của RFC 2246 thì Record Layer có 4 chức năng sau: Tập hợp những mảng dữ liệu từ ứng dụng thành các khối để quản lý (và tập hợ p lại các dữ liệu đến chuyển đến lớp ứng dụng). Nén và giải nén dữ liệu chuyển đến. Sử dụng Message Authentication Code (MAC) để xác minh dữ liệu đến. Mã hoá dữ liệu băm và giải mã dữ liệu đến. 1.5 Các thuật toán mã hóa Tất cả các thông tin trao đổi giữa client và server sẽ đượ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ó giao dịch mang tính riêng tư. Ngoài ra, tất cả các dữ liệu được gửi đi trên một kết nối SSL đã được mã hoá 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.(đó là các thuật toán băm- hash algorithm). SSL hỗ trợ nhiều thuật toán mã hoá. Các thuật toán mã hoá (cryptographic algorithm hay còn gọi là cipher) là các hàm toán học được sử dụng để mã hoá thông tin. SSL áp dụng các thuật toán này để thực hiện chứng thực server và client, truyền tải Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang 11 các certifitaces và thiết lập các khoá của từng phiên giao dịch (sesion key). Client và server có thể hỗ trợ các bộ mật mã (cipher suite) khác nhau tuỳ thuộc vào nhiều yếu tố như phiên bản SSL đang dùng, chính sách của các tổ chức về độ dài khoá mà họ cảm thấy an toàn, điều này liên quan đến mức độ bảo mật của thông tin. Các thuật toán mã hoá và xác thực của SSL được sử dụng bao gồm nhiều loại tuỳ theo phiên bản SSL hỗ trợ nhưng chung quy chúng thuộc 2 kiểu mã hoá: a. Kiểu mã hóa đối xứng Phương pháp mã hoá đối xứng là phương pháp dùng khoá riêng, nghĩa là cả bên gửi và bên nhận phải biết cùng một khóa. Vấn đề chính trong phương pháp này là bên gửi và bên nhận phải trao đổi khóa một cách an toàn. Ví dụ:Khi người dùng A có thông tin quan trọng muốn gửi cho người dùng B có nội dung là “tài khoản ngân hàng là Viet 12345” chẳng hạn và A muốn mã hoá dữ liệu trước khi gửi cho B, thì A sẽ sử dụng khoá ví dụ là “key 1” chẳng hạn và tiến hành mã hoá nó thành chuỗi “abcd”. Khi đó B nhận được thông tin từ A gửi cho và dùng chính khoá là “key 1” để giải mã thông tin mã hoá đó thành dữ liệu có ý nghĩa mà A đã gửi cho. Hình 1.7: Quá trình sử dụng key đối xứng. Các thuật toán thường sử dụng của kiểu mã hóa đối xứng : DES - Data Encryption Standard : DES là kỹ thuật bảo mật khóa riêng dùng thuật toán để mã hóa theo từng khối 64-bit với khóa 56-bit. Thuật toán nầy được giả i thích trong mục “Cryptography”. Khóa 56-bit cho phép khoảng một triệu mũ 4 tổ hợ p khác nhau. Ngoài ra, mỗi khối trong dòng dữ liệu được mã hóa bằng các biến dạ ng khóa khác nhau, làm khó phát hiện sơ đồ mã hóa trong các thông điệp dài. - DES có 3 giai đoạn : Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang 12 Hình 1.8: Các giai đoạn của DES. Giai đoạn 1: Hoán vị 64 bit trong một khối Giai đoạn 2: ứng dụng đưa ra thao tác 16 vòng trong 64 bit Giai đoạn 3 : Hoán vị 64 bit sử dụng nghịch đảo của hoán vị gốc. Triple-DES là thuật toán mã hoá DES ba lần. SKIPJACK là thuật toán khoá đối xứng phân loại được thực hiện trong phần cứng Fortezza, sử dụng bởi chính phủ Mỹ b. Kiểu mã hóa bất đối xứng Theo phương pháp này thì , mỗi người có một cặp khóa, một khóa bí mật và một khóa công khai. Bên gởi mã hóa thông điệp bằng khóa công khai của bên nhận và thông điệp nầy chỉ được giải mã bởi khóa bí mật của bên nhận. Như vậy vấn đề trao đổi khóa được giải quyết vì các khóa được thông báo công khai. Thuật toán mã hóa bất đối xứng. Người ta chứng minh rằng luôn tồn tại 2 số P,Q với P : +Lấy hai số, p và q, nhân chúng n=pq; n được gọi là môđun. +Chọn một số e nhỏ hơn n, e và (p-1)(q-1) không có ước số công cộng nào khác ngoài 1. + Tìm một số khác d, mà (ed-1) là ước số của (p-1)(q-1). Giá trị e và d được gọi là số mũ chung và số mũ riêng. d = e-1 mod ((p-1)(q-1)). + Khóa công cộng là cặp (n,e). + Khóa riêng là (n,d). + Mã hoá c=me mod n. + Giả mã m=cd mod n. - Ví dụ : Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang 13 + Chọn p=7 và q=11, n=711=77 + (p-1)(q-1)= 610=60, e=13 + d =13-1 mod 60 ->13d mod 60 = 1 mod 60, d = 37 Giả sử số gửi vào m = 7 hế thống mã hoá thành : c = 713 mod 77 =35 giải mã m= 3537 mod 77 =7 Minh họa:Khi mã hoá dữ liệu với P người ta đem kết quả thu được giải mã với Q sẽ thu được dữ liệu ban đầu và ngược lại. Hình 1.9: Quá trình sử dụng k ey bất đối xứng. Với quy trình này thì mỗi người dùng sử dụng công nghệ mã hoá chỉ cần 2 khoá mà thôi. Ở đây người dùng A sẽ sử dụng công nghệ mã hoá nên A sẽ có: +Khoá P(A) gọi là public key khoá này là công khai và mọi người dùng khác đều biết và có thể sử dụng khoá này. +Khoá Q(A) gọi là private key khoá này là khoá bí mật chỉ có A mới biết. +Tương tự đối với B. Vì vậy khi A gửi gói tin Data tới B nó sẽ sử dụng P(B) của B để mã hoá và cho ra kết quả Data’. Khi B thu được ‘Data’ nó dùng private k ey của mình (Q(B)) để giải mã dữ liệu và thu được Data ban đầu. Hình 1.10: Quá trình sử dụng key bất đối xứng giữa người dùng A và B Các thuật toán thường sử dụng trong kiểu mã hóa bất đối xứng : Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang 14 SHA-1 - thuật toán hàm băm an toàn, phát triển và sử dụng bởi chính phủ Mỹ. RSA key exchange - thuật toán trao đổi khoá cho SSL dựa trên thuật toán RSA. MD5 - thuật toán tạo giá trị “băm” (message digest), phát minh bởi Rivest. RSA key exchange - thuật toán trao đổi khoá cho SSL dựa trên thuật toán RSA. SSL sử dụng kết hợp 2 loại mã hóa đối xứng và không đối xứng, mã hóa đối xứng dùng để mã hóa số lượng lớn dữ liệu truyền đi vì nhanh hơn trong khi đó mã hóa không đối xứng dùng để chứng thực và trao đổi khóa. c. Hash Algorithms( Băm dữ liệu) Thuật toán băm là một thuật ngữ bảo mật dùng để chỉ khả năng tóm tắt bất cứ dữ liệu nào thành một chuỗi các ký tự có độ dài cố định.Chuỗi kết quả này gọi là thông diệp tóm lược(message digest) hay là vân tay số(digital fingerprint) , vì vậy kích thước của kết quả sau khi băm sẽ nhỏ hơn dữ liệu ban đầu. Hash(băm) tương tự như dấu vân tay, một dấu vân tay là duy nhất của một cá nhân, và tất nhiên là nhỏ hơn 1 con người. Hashing được sử dụng để xác thực và thiết lập toàn vẹn dữ liệu trong quá trình truyền dữ liệu.Hai thuật toán băm phổ biến là Message Digest 5(MD5) và thuật toán hash tiêu chuẩn 1(SHA -1). MD5 tạo ra một giá trị băm 128- bit và SHA- 1 tạo ra một giá trị 160-bit. 1.6 Lợi ích khi sử dụng giao thức SSL - Bạn đăng ký domain để sử dụng các dịch vụ website, email v.v… -> luôn có nhữ ng lỗ hổng bảo mật -> hacker tấn công -> SSL bảo vệ website và khách hàng của bạn Chứng thực doanh nghiệp - tránh giả mạo website. Bảo mật và mã hóa các thông điệp trao đổi giữa trình duyệt và server. Bảo mật các giao dịch giữa khách hàng và doanh nghiệp, các dịch vụ truy nhậ p hệ thống. Bảo mật webmail và các ứng dụng như Outlook Web Acess, Exchange, và Office Communication Server. Bảo mật các ứng dụng ảo hóa như Citrix Delivery Platform hoặc các ứng dụng điện toán mây. Bảo mật dịch vụ FTP. Bảo mật truy cập Control panel. Bảo mật các dịch vụ truyền dữ liệu trong mạng nội bộ, file sharing, extranet. Triển khai chứng thực CA cho các dịch vụ mạng trên windows server 2008 SVTH: Lê Xuân Thắng Trang 15 Bảo mật VPN Access Servers, Citrix Access Gateway. Nâng cao hình ảnh, thương hiệu và uy tín doanh nghiệp. Tạo lợi thế cạnh tranh, tăng niềm tin của khách hàng đối với website, tăng số lượng giao dịch, giá trị giao dịch trực tuyến của khách hàng. 1.7 Một số dịch vụ mạng cơ bản 1.7.1 Dịch vụ HTTP HTTP là chữ viết tắt từ ...
Trang 1Trước hết, em xin bày tỏ lòng biết ơn đến lãnh đạo khoa Khoa Học Máy Tính trường Cao Đẳng Công Nghệ Thông Tin Hữu Nghị Việt – Hàn, toàn thể các thầy cô giáo đã tận tình giảng dạy trang bị cho em những kiến thức quý báu trong suốt quá trình học tập và rèn luyện tại trường
Em xin gửi lời cảm ơn chân thành đến cô Dương Thị Thu Hiền đã giúp em rất nhiều trong việc góp ý chỉ ra hướng đi của đề tài và cô Dương Thị Thu Hiền đã hết lòng góp ý, chỉnh sửa để em hoàn thiện đề tài này
Sau cùng , em xin chuyển lời cảm ơn tất cả bạn bè những người đã động viên, khích lệ tinh thần cho em vượt qua những khó khăn trong suốt thời gian học tập nhất là trong thời gian thực hiện đồ án
Để đáp lại, em sẽ cố gắng hoàn thành tốt đề tài tốt nghiệp này nhằm ra trường đóng góp một phần sức lực nhỏ bé của mình phục vụ cho đất nước
Xin chân thành cảm ơn !
Đà Nẵng, Ngày 2 tháng 06 năm 2013
Sinh viên thực hiện
Lê Xuân Thắng
Trang 2MỞ ĐẦU
Lý do chọn đề tài
Ngày nay mạng máy tính là một khái niệm trở nên quen thuộc với hầu hết tất cả mọi người, đặc biệt chiếm vị trí hết sức quan trọng với các doanh nghiệp Với xu thế phát triển mạnh mẽ của hệ thống mạng như: mạng internet, hệ thống thương mại điện
tử, hệ thống thông tin trong các cơ quan, doanh nghiệp,… thì vấn đề bảo mật và an ninh mạng trở nên hết sức cần thiết
Bảo mật và mã hóa thông tin là một vấn đề quan trọng và có nhiều ứng dụng trong đời sống xã hội Ngày nay các ứng dụng mã hóa và bảo mật thông tin được sử dụng ngày càng phổ biến hơn trong các lĩnh vực từ lĩnh vực an ninh, quân sự, quốc phòng,… đến các lĩnh vực dân sự như thương mại điện tử, ngân hàng …
Trong thời điểm hiện nay, khi mà mạng Internet chiếm một vai trò quan trọng thì
sự gian lận dữ liệu internet ngày càng tăng Bạn luôn muốn mọi thông tin của bạn luôn muốn được bảo vệ với mã hóa mạnh mẽ từ các nhà cung cấp bảo mật đáng tin cậy thực hiện việc trao đổi thông tin nhạy cảm qua Internet
Và Secure Sockets Layer (SSL) một tiêu chuẩn an ninh công nghệ toàn cầu sẽ là giải pháp mà bạn đang tìm kiếm Việc sử dụng SSL sẽ cung cấp tính riêng tư và bảo mật tốt hơn kết nối Internet không được mã hóa Nó giảm nguy cơ bên thứ ba có thể chặn và lạm dụng và khai thác thông tin Chúng ta sẽ thấy an toàn, tin cậy hơn trong việc chia sẻ thông tin thanh toán và thông tin cá nhân với các nhà cung cấp dịch vụ khi biết họ đang sử dụng giao thức SSL
Với những lợi ích đã nói trên mà nó mang lại, nên em đã chọn đề tài “ Triển khai chứng thực CA cho các dịch vụ mạng trên windows sv 2008 ” làm đồ án tốt nghiệp
cuối khóa của em
Bố cục chính của đề tài
Chương 1: Tổng quan về SSL
Chương 2: Các phương thức tấn công và cách phòng chống trong SSL
Chương 3: Triển khai thực nghiệm
Trang 3MỤC LỤC
MỞ ĐẦU i
MỤC LỤC ii
DANH MỤC HÌNH VẼ iii
CHƯƠNG 1: TỔNG QUAN VỀ SSL 1
1.1 Giới thiệu tổng quan về HTTP và HTTPs 1
1.2 Giới thiệu chung về SSL 1
1.3 Lịch sử phát triển 4
1.4 Cấu trúc SSL 5
1.5 Các thuật toán mã hóa 10
1.6 Lợi ích khi sử dụng giao thức SSL 14
1.7 Một số dịch vụ mạng cơ bản 15
1.7.1 Dịch vụ HTTP 15
1.7.2 Dịch vụ FTP 15
1.7.3 Dịch vụ POP 16
1.7.4 Dịch vụ SMTP 17
CHƯƠNG 2: CÁC PHƯƠNG THỨC TẤN CÔNG VÀ CÁCH PHÒNG CHỐNG TRONG SSL 19
2.1 Các phương thức tấn công 19
2.2 Các cách phòng chống 24
CHƯƠNG 3: TRIỂN KHAI THỰC NGHIỆM 26
3.1Giới thiệu mô hình mạng 26
3.1.1 Mô hình triển khai 26
3.1.2 Đặt vấn đề 27
3.2 Chứng thực CA cho web server 28
3.3 Chứng thực CA cho dịch vụ FTP 49
3.3.1 Cài đặt và cấu hình FTP 49
3.3.2 Test thử dịch vụ FTPs trên Xp 56
3.4 Triển khai CA bảo mật cho hệ thống E-mail 60
3.4.1 Cài đặt và cấu hình hệ thống mail server Kerio 60
3.4.2 Triển khai Certification Authority (CA) 76
KẾT LUẬN 93
TÀI LIỆU THAM KHẢO 94
Trang 4DANH MỤC HÌNH VẼ
Hình 1.1: Giao thức SSL trong mô hình TCP/IP 5
Hình 1.2: Các giao thức con trong giao thức SSL 6
Hình 1.3: Server và client đăng ký giấy chứng nhận từ CA 6
Hình 1.4: Quá trình tạo giấy chứng chỉ (X.509) 7
Hình 1.5:Client xác thực Server 8
Hình 1.6: Server xác thực Client 8
Hình 1.7: Quá trình sử dụng key đối xứng 11
Hình 1.8: Các giai đoạn của DES 12
Hình 1.9: Quá trình sử dụng key bất đối xứng 13
Hình 1.10: Quá trình sử dụng key bất đối xứng giữa người dùng A và B 13
Hình 1.11: Các dịch vụ sử dụng SSL 18
Hình 2.1: Giao thức HTTPS thường dùng 19
Hình 2.2: Quá trình Connect từ Web Browser đến Web Server 20
Hình 2.3: Tấn công giả mạo Certificate 21
Hinh 2.4: Mô tả tấn công SSL bằng SSLStrip (1) 22
Hinh 2.5: Mô tả tấn công SSL bằng SSLStrip (2) 22
Hinh 2.6: Mô tả tấn công SSL bằng SSLStrip (3) 23
Hinh 2.7: Mô tả tấn công SSL bằng SSLStrip (4) 23
Hình 2.8: KIểm tra trang web có dùng SSL hay không 24
Hình 2.9 : Nhận dạng tính bảo mật trang web dùng SSL 25
Hình 3.1: Mô hình triển khai 26
Hình 3.2: Hộp thoại chọn dịch vụ cần cài đặt 28
Hình 3.3: Cấu hình DNS 28
Hình 3.4: DNS management 29
Hình 3.5: Cấu hình web 29
Hình 3.6: Hộp thoại internet information services(IIS) manager 30
Hình 3.7: hộp thoại add web site 30
Hình 3.8: Hộp thoại sites 31
Trang 5Hình 3.12: Hộp thoại Select Server Roles 33
Hình 3.13: Hộp thoại installation results 33
Hình 3.14: Hộp thoại Select Server Roles 34
Hình 3.15: Hộp thoại Select Server Roles 34
Hình 3.16: Hộp thoại set validity period 35
Hình 3.17: Hộp thoại kết thúc quá trình cài đặt CA server 35
Hình 3.18: Vào giao diện CA 36
Hình 3.19: Hộp thoại certification Authority 36
Hình 3.20: Hộp thoại server certificates 37
Hình 3.21: Hộp thoại Request sertificate 37
Hình 3.22: Hộp thoại chọn đường dẫn lưu file 38
Hình 3.23: File yêu cầu chứng thực 38
Hình 3.24: Hộp thoại để liên hệ với máy chủ CA 39
Hình 3.25: Hộp thoại Request a Certificate 39
Hình 3.26: Hộp thoại advanced certificate Request 40
Hình 3.27: Hộp thoại Submit a Certificate Request or Renewal Request 40
Hình 3.28: Hộp thoại Submit a Certificate Request or Renewal Request 41
Hình 3.29: Hộp thoại giao diện certification Authority 41
Hình 3.30: Hộp thoại giao diện certification Authority 42
Hình 3.31: Hộp thoại giao diện certification Authority 42
Hình 3.32: Hộp thoại để liên hệ với máy chủ CA 43
Hình 3.33: Hộp thoại View the status of a pending certificate request 43
Hình 3.34: Hộp thoại download file certificate issued 44
Hình 3.35: Giấy chứng nhận 44
Hình 3.36: Hộp thoại internet information services(IIS) manager 45
Hình 3.37: Hộp thoại complete certificate request 45
Hình 3.38: Hộp thoại trang web 1 46
Hình 3.39: Hộp thoại site bindings 46
Hình 3.40: Hộp thoại add site binding 46
Hình 3.41: Giao diện CMD 47
Hình 3.42: Giao diện CMD 47
Hình 3.43: Hộp thoại trang web 2 48
Hình 3.44: Text trang web1chạy với giao thức https 48
Trang 6Hình 3.45: Text trang web2 chạy với giao thức https 48
Hình 3.46: Hộp thoại select server roles 49
Hình 3.47: Hộp thoại Installation results 49
Hình 3.48: Hộp thoại cài đặt FTP server 50
Hình 3.49: Hộp thoại End-user license agreement 50
Hình 3.50: Hộp thoại Custom setup 51
Hình 3.51: Hộp thoại kết thúc quá trình cài đặt 51
Hình 3.52: Hộp thoại xin CA cho FTP server 52
Hình 3.53: Hộp thoại Specify Friendly Name 52
Hình 3.54: chứng chỉ Certificate 53
Hình 3.55: Thư mục FTP 53
Hình 3.56: Tạo FTP site 54
Hình 3.57: Hộp thoại Add FTP site 54
Hình 3.58: Hộp thoại Binding and SSL settings 55
Hình 3.59: Hộp thoại Authentication and Authorization ìnormation 55
Hình 3.60: Hộp thoại filezilla client 56
Hình 3.61: Hộp thoại cài đặt FTP client 56
Hình 3.62: Quá trình cài đặt hoàn tất 57
Hình 3.63: Hộp thoại giao diện filezilla client 57
Hình 3.64: Hộp thoại Site Manager 58
Hình 3.65: Hộp thoại xuất hiện xác nhận giấy chứng thực 58
Hình 3.67: Hộp thoại kết nối thành công tới FTP server 59
Hình 3.68: Hộp thoại tạo uer 60
Hình 3.69: Hộp thoại add e-mail vào uer 61
Hình 3.70: Hộp thoại cài đặt Mail server Kerio 61
Hình 3.71: Hộp thoại License Agreement 62
Hình 3.72: Hộp thoại Setup Type 62
Hình 3.73: Hộp thoại Destination Folder 63
Hình 3.74: Hộp thoại Ready to install the program 63
Hình 3.75: Hộp thoại configuration wizard 64
Trang 7Hình 3.79: Hộp thoại InstallShield Wizard Completed 66
Hình 3.80: Hộp thoại New Connection 66
Hình 3.81: Hộp thoại domains 67
Hình 3.82: Hộp thoại Users 67
Hình 3.83: Hộp thoại Import Users 68
Hình 3.84: Hộp thoại Import Users 68
Hình 3.85: Hộp thoại Users 69
Hình 3.86: Hộp thoại servises 69
Hình 3.87: Hộp thoại Server Manager 70
Hình 3.88: Hộp thoại Select Features 70
Hình 3.89: Hộp thoại Confirm Installation Selections 71
Hình 3.90: Hộp thoại Installation Results 71
Hình 3.91: Hộp thoại Installation Results 72
Hình 3.92: hộp thoại Your Name 72
Hình 3.93: Hộp thoại Internet E-mail Address 73
Hình 3.94: Hộp thoại Setup e-mail servers 73
Hình 3.95: hộp thoại Internet Mail Logon 74
Hình 3.96: Giao diện windows mail 74
Hình 3.97: Hộp thoại Create Mail 75
Hình 3.98: Thư nhận từ A gửi cho B 75
Hình 3.99: Hộp thoại server manager 76
Hình 3.100: Hộp thoại Select Server Roles 76
Hình 3.101: Hộp thoại Select Role Services 77
Hình 3.102: Hộp thoại Specify Setup Type 77
Hình 3.103: Hộp thoại Specify CA Type 78
Hình 3.104: hộp thoại Setup Private Key 78
Hình 3.105: hộp thoại Configure CA Name 79
Hình 3.106: Hộp thoại Web Server (IIS ) 79
Hình 3.107: Hộp thoại Confirm Installation Selections 80
Hình 3.108: Hộp thoại certsrv 80
Hình 3.109: Hộp thoại Console1 81
Hình 3.110: Cửa sổ Add or Remove Snap-in 81
Hình 3.111: Hộp thoại console1 82
Trang 8Hình 3.112: Hộp thoại Before You Begin 82
Hình 3.113: Hộp thoại Request Certificates 83
Hình 3.114: Hộp thoại Certificate Installation Results 83
Hình 3.115: Hộp thoại console1 84
Hình 3.116: Certificate 84
Hình 3.116: Certificate 85
Hình 3.117: Hộp thoại Create Mail 85
Hình 3.118: Thư có đính kèm chữ ký số 86
Hình 3.119: Thư gửi cho A có mã hóa 86
Hình 3.120: Thư của B gửi cho A 87
Hình 3.121: Thư có kèm chữ ký số và mã hóa 87
Hình 3.122: Kiểm tra chữ ký số 88
Hình 3.123: E-mail chưa sửa đổi 88
Hình 3.124: E-mail đã bị sửa đổi 89
Hình 3.125: Thư nhận được đã bị sửa đổi 90
Hình 3.126: Hộp thoại Create Mail 91
Hình 3.127: Không xem được nội dung mail 91
Hình 3.128: Mail đã mã hóa 92
Hình 3.129: Nội dung thư B gửi cho A 92
Trang 9CHƯƠNG 1: TỔNG QUAN VỀ SSL 1.1 Giới thiệu tổng quan về HTTP và HTTPs
- HTTP là chữ viết tắt từ Hyper Text Transfer Protocol (giao thức truyền tải siêu văn bản) Nó là giao thức cơ bản mà World Wide Web sử dụng HTTP xác định cách các thông điệp (các file văn bản, hình ảnh đồ hoạ, âm thanh, video, và các file multimedia khác, ) được định dạng và truyền tải ra sao và những hành động nào mà các Web server và các trình duyệt Web phải làm để đáp ứng các lệnh rất đa dạng Chẳng hạn, khi bạn gõ một địa chỉ Web URL vào trình duyệt Web, một lệnh HTTP sẽ được gửi tới Web server để ra lệnh và hướng dẫn nó tìm đúng trang Web được yêu cầu
và kéo về mở trên trình duyệt Web Như vậy, HTTP là giao thức truyền tải các file từ một Web server vào một trình duyệt Web để người dùng có thể xem một trang Web đang hiện diện trên Internet HTTP là một giao thức ứng dụng của bộ giao thức TCP/IP ( các giao thức nền tảng cho internet)
- HTTPS là viết tắt của "Hypertext Transfer Protocol Secure", Nó là một sự kết hợp giữa giao thức HTTP và giao thức bảo mật SSL hay TLS cho phép trao đổi thông tin một cách bảo mật trên Internet Giao thức HTTPS thường được dùng trong các giao dịch nhậy cảm cần tính bảo mật cao
Netscape Communications tạo ra HTTPS vào năm 1994 cho trình duyệt web Netscape Navigator Ban đầu, HTTPS đã được sử dụng với SSL mã hóa Phiên bản hiện hành của HTTPS được chính thức chỉ định bởi RFC 2818 Tháng 5 năm 2000 HTTPS đã có lịch sử phát triển khá dài, thậm chí có thể nói rằng nó sinh cùng thời với Web Nhưng cho đến nay, giao thức này vẫn chỉ được sử dụng chủ yếu bởi những trang web có hoạt động chuyển tiền, trang web của các ngân hàng hoặc các cửa hàng trực tuyến Nếu như có những trang web khác sử dụng HTTPS, thì họ cũng chỉ dùng nó cho một vài tác vụ nhất định mà thôi
1.2 Giới thiệu chung về SSL
SSL (Secure Socket Layer) là giao thức để cung cấp dịch vụ bảo mật cho lưu lượng dữ liệu trên kênh truyền, nó sử dụng tổ hợp nhiều giải thuật nhằm mã hóa để đảm bảo quá trình trao đổi thông tin trên mạng được bảo mật Việc mã hóa dữ liệu diễn ra một cách trong suốt, hỗ trợ nhiều giao thức khác chạy trên nền giao thức TCP Việc kết nối giữa một Web browser tới bất kỳ điểm nào trên mạng Internet đi qua rất nhiều các hệ thống độc lập mà không có bất kỳ sự bảo vệ nào với các thông tin
Trang 10trên đường truyền Không một ai kể cả người sử dụng lẫn Web server có bất kỳ sự kiểm soát nào đối với đường đi của dữ liệu hay có thể kiểm soát được liệu có ai đó thâm nhập vào thông tin trên đường truyền Để bảo vệ những thông tin mật trên mạng Internet hay bất kỳ mạng 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ã 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
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
Với việc sử dụng SSL, các Web site 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 browser 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 Khi Web browser sử dụng kết nối SSL tới server, biểu tượng ổ khóa sẽ xuất hiện trên thanh trạng thái của cửa sổ browser và dòng “http” trong hộp nhập địa chỉ URL sẽ đổi thành “https” Một phiên giao dịch HTTPS sử dụng cổng 443 thay vì sử dụng cổng 80 như dùng cho HTTP SSL được sử dụng phổ biến nhất trên Web, Mail, Ftp
Giao thức SSL được phát triển bởi Netscape, ngày nay 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ã hóa thông tin giữa client và sever Tổ chức IETF (Internet Engineering Task Force ) đã chuẩn hóa SSL và đặt lại là TLS (Transport Layer Security) Mặc dù là co’ 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 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 phổ biến hơn
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ợ
Trang 11được sử dụng để hỗ trợ các giao dịch an toàn cho rất nhiều ứng dụng khác nhau trên Internet và đang được sử dụng chính cho các giao dịch trên Internet
SSL không phải là một giao thức đơn lẻ mà là một tập các thủ tục đã được chuẩn hóa để thực hiện các nhiệm vụ bảo mật sau
Xác thực Server: Cho phép người sử 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 người dùng
Xác thực Client: Cho phép phía server xác thực được người sử 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á tị hay không và được cấp phát bởi một CA trong danh sách các CA đáng tin cậy của server không Điều này rất quan trọng đối với các nhà cung cấp
Mã hóa kết nối: 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ả 2 bên khi có giao dịch mang tính riêng tư Ngoài ra 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
Certificate Authority ( CA ) : là tổ chức phát hành các chứng thực các loại chứng thư số cho người dùng, doanh nghiệp, máy chủ (server), mã code, phần mềm Nhà cung cấp chứng thực số đóng vai trò là bên thứ ba (được cả hai bên tin tưởng) để hỗ trợ cho quá trình trao đổi thông tin an toàn
GlobalSign - một trong những doanh nghiệp đầu tiên trên thế giới được công nhận là nhà cung cấp dịch vụ chứng thực chữ ký số công cộng cung cấp tất cả các loại chứng thư, gói chứng thư, giải pháp chứng thư số cho các ngành tài chính – ngân hàng,
y tế, giáo dục và các lĩnh vực kinh doanh khác
- Chứng thư tiêu chuẩn toàn cầu
Trang 121.3 Lịch sử phát triển
- Như chúng ta đã biết có hai giao thức bảo mật quan trọng lớp vận chuyển (Layer Transport) có tầm quan trọng cao nhất đối với sự bảo mật của các trình ứng dụng trên Web: đó là hai giao thức SSL và TLS
- Nói chung, có một số khả năng để bảo vệ bằng mật mã lưu lượng dữ liệu HTTP
Ví dụ, vào những năm 1990, tập đoàn CommerceNet đã đề xuất S-HTTP mà về cơ bản
là một cải tiến bảo mật của HTTP.Một phần thực thi của S-HTTP đã làm cho có sẵn công cộng trong một phiên bản được chỉnh sửa của trình duyệt Mosaic NCSA mà những người dùng phải mua (trái với trình duyệt Mo NCSA "chuẩn" có sẵn công cộng
và miễn phí trên Internet)
Tuy nhiên, cùng thời điểm Netscape Communication đã giới thiệu SSL và một giao thức tương ứng với phiên bản đầu tiên của Netscape Navigator, Trái với tập đoàn CommerceNet, Netscape Communications đã không tính phí các khách hàng của nó về việc thực thi giao thức bảo mật của nó Kết quả, SSL trở thành giao thức nổi bật để cung cấp các dịch vụ bảo mật cho lưu lượng dữ liệu HTTP 1994 và S-HTTP lặng lẽ biến mất
Cho đến bây giờ, có ba phiên bản của SSL:
sốkhiếm khuyết nghiêm trọng và không bao giờ được tung ra bên ngoà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 (Private Communication Technology) cạnh tranh trong lần tung ra Internet Explorer đầu tiên của nó vào năm
1996
SLL 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
Trang 13bản cao hơn), và Open.Như được thảo luận ở phần sau trong chương này, SSL 3.0 đã được điều chỉnh bởi IETF TLS WG.Thực tế, thông số kỹ thuật giao thức TLS 1.0 dẫn xuất từ SSL 3.0
4 giao thức con này được phân làm 2 phần chính là:
Handshake protocols layer
SSL record layer
Vị trí của các giao thức trên, tương ứng với mô hình TCP/IP được minh hoạ theo hình sau:
Hình 1.1: Giao thức SSL trong mô hình TCP/IP
Theo biểu đồ trên, SSL nằm trong tầng ứng dụng của giao thức TCP/IP Do đặc điểm này, SSL có thể được dùng trong hầu hết mọi hệ điều hành hỗ trợ TCP/IP mà không cần phải chỉnh sửa nhân của hệ thống hoặc ngăn xếp TCP/IP Điều này mang lại cho SSL sự cải tiến mạnh mẽ so với các giao thức khác như IPSec (IP Security Protocol).Vì giao thức này đòi hỏi nhân hệ điều hành phải hỗ trợ và chỉnh sửa ngăn xếp TCP/IP
Trang 14 Các giao thức con trong giao thức SSL
Hình 1.2: Các giao thức con trong giao thức SSL
Thực tế giao thức SSL không phải là một giao thức đơn mà là một bộ các giao thức
a Handshake Protocol
Handshake protocol là bộ giao thức SSL phức tạp nhất.giao thức này chịu trách nhiệm thiết lập hoặc phục hồi lại các phiên làm việc an toàn chính vì vậy giao thức này
có các chức năng chính sau:
+ Authentication( thẩm định): Xác nhận server cho các client, các tùy chọn,xác
thực các client thông qua các giấy chứng nhận(certificates) bằng các public và private keys
- Giấy chứng nhận là một hình thức nhận dạng bằng kỹ thuật số được ban hành bởi một tổ chức có thẩm quyền cấp giấy chứng nhận(CA), nó chứa các thông tin nhận diện, thời gian hiệu lực, một khóa công khai, một serial, và chữ ký kĩ thuật của nhà phát hành
Trang 15- Với mục đích xác thực,Handshake protocols sử dụng giấy chứng nhận X.509 đểxác minh danh tính của các bên nắm giữ giấy chứng nhận, đồng thời Handshake protocols sử dụng X.509 để thực hiện các việc sau:
cung cấp sẽ được các thuật toán băm sử dụng vào quá trình tạo ra giá trị băm (MAC)
Thiết lập độ dài của key 512 bit, 1024 bit hoặc hơn Độ dài của key sẽ tác động đến sự mã hóa dữ liệu, khi key có độ dài lớn thì việc mã hóa dữ liệu sẽ lâu hơn nhưng
bù là nó sẽ đảm bảo về khả năng bảo mật của dữ liệu và ngược lại Các thuật toán mã hóa của RSA hoặc DSA thường sử dụng key 512 bit, 1024 bit hoặc 2018 bit
Hình 1.4: Quá trình tạo giấy chứng chỉ (X.509)
- CA (Certificate authority) là một bên thứ ba đáng tin cậy.CA có thể xác nhận danh tính của bên yêu cầu cấp giấy chứng nhận (thường là một user hoặc máy tính), và sau đó cấp giấy chứng nhận, public keys cho bên yêu cầu, CA cũng gia hạn, thu hồi giấy chứng nhận khi cần thiết.Hiện nay có nhiều tổ chức cung cấp giấy chứng nhận như là:
StartCom,Cacert các tổ chức này chuyên cung cấp các giấy chứng nhận miễn phí
Đối với Verisign,Comodo,DigiCert,Entrust,GlobalSign… thì thu phí
Chức năng xác thực sẽ thực hiện 2 phần chính đó là:
+ Xác thực Server:Cho phép người sử dụng xác thực được server muốn kết nối
Lúc này phía client sẽ sử dụng các thuật toán công khai để chắc rằng giấy chứng nhận(certificate) và public ID của server là có giá trị và được cấp phát bởi một CA 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 người
Trang 16sử dụng.Ví dụ như gửi mã số credit card qua mạng thì người dùng thực sự muốn kiểm tra server nhận thông tin này có đúng là server mà họ định gửi đến hay không
Hình 1.5:Client xác thực Server
+ 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ư 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 một khách hàng thì họ rất muốn kiểm tra định danh của người nhận
Trang 17+ Trong một kết nối logic được thiết lập giữa client và server và ngược lại thì các tham số sau sẽ được thỏa thuận
Version: phiên bản SSL mà hai bên server và client đang dùng
Server public key: key công khai của server, client dùng key này để mã hóa MAC của client, server sẽ dùng private key của nó để giải mã nhằm xác thực dữ liệu đến
Server private key: như đã nói ở trên key này dùng để giải mã MAC
Client public key: : key công khai của client, server dùng key này để mã hóa MAC của server, client sẽ dùng private key của nó để giải mã nhằm xác thực dữ liệu đến
Client private key: dùng để giải mã dữ liệu MAC để xác thực thông tin của server
Server write key: là session key của server dùng để mã hóa dữ liệu, client sẽ dùng key này để giải mã dữ liệu mà client gửi tới
Server write key: là session key của server dùng để mã hóa dữ liệu, client sẽ dùng key này để giải mã dữ liệu
Sequence number (số thứ tự): server và client quản lý một cách riêng rẽ, các số thứ tự này để đánh số các thông điệp gửi và nhận cho mỗi kết nối
b Change CipherSpec Protocol
Đây là giao thức SSL đơn giản nhất Nó chỉ chứa một thông điệp mang giá trị 1
Mục đích duy nhất của thông điệp này là làm chuyển trạng thái của một phiên từ
“đang chờ” (pending) sang “bền vững” (fixed) Ví dụ khi 2 bên qui ước bộ giao thức
Trang 18nào sẽ sử dụng.Cả client và server đều phải gửi thông điệp loại này cho bên đối tác, sau khi đã trao đổi xong thì coi như hai bên đã đồng ý với nhau
c Alert Protocol
Alert Protocol được các bên sử dụng để mang các thông điệp của phiên liên quan
tới việc trao đổi dữ liệu và hoạt động của các giao thức Mỗi thông điệp của giao thức này gồm 2 byte.Byte thứ nhất chứa một trong hai giá trị là warning (1) và fatal (2) xác định tính nghiêm trọng của thông điệp Khi một trong 2 bên gửi thông điệp có giá trị bít đầu tiên là fatal (2) thì phiên làm việc giữa 2 bên sẽ kết thúc ngay lập tức Byte tiếp
theo của thông điệp chứa mã lỗi xảy ra trong phiên giao dịch SSL
d SSL Record Protocol
SSL Record Protocol sử dụng để trao đổi tất cả các kiểu dữ liệu trong một phiên bao gồm các thông điệp, dữ liệu của các giao thức SSL khác và dữ liệu của ứng dụng SSL Record Protocol liên quan đến việc bảo mật và đảm bảo toàn vẹn dữ liệu
Mục đích của SSL Record Protocol là thu nhận những thông điệp mà ứng dụng chuẩn
bị gửi, phân mảnh dữ liệu cần truyền, đóng gói, bổ sung header tạo thành một đối tượng gọi là bản ghi (record), bản ghi đó được mã hoá và có thể truyền bằng giao thức
TCP
Trong mô tả của RFC 2246 thì Record Layer có 4 chức năng sau:
Tập hợp những mảng dữ liệu từ ứng dụng thành các khối để quản lý (và tập hợp lại các dữ liệu đến chuyển đến lớp ứng dụng)
Nén và giải nén dữ liệu chuyển đến
Sử dụng Message Authentication Code (MAC) để xác minh dữ liệu đến
Mã hoá dữ liệu băm và giải mã dữ liệu đến
1.5 Các thuật toán mã hóa
Tất cả các thông tin trao đổi giữa client và server sẽ đượ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ó giao dịch mang tính riêng tư Ngoài ra, tất cả các dữ liệu được gửi đi trên một kết nối SSL đã được mã hoá 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.(đó là các thuật toán băm- hash algorithm)
Trang 19các certifitaces và thiết lập các khoá của từng phiên giao dịch (sesion key) Client và server có thể hỗ trợ các bộ mật mã (cipher suite) khác nhau tuỳ thuộc vào nhiều yếu tố như phiên bản SSL đang dùng, chính sách của các tổ chức về độ dài khoá mà họ cảm thấy an toàn, điều này liên quan đến mức độ bảo mật của thông tin
Các thuật toán mã hoá và xác thực của SSL được sử dụng bao gồm nhiều loại tuỳ theo phiên bản SSL hỗ trợ nhưng chung quy chúng thuộc 2 kiểu mã hoá:
a Kiểu mã hóa đối xứng
Phương pháp mã hoá đối xứng là phương pháp dùng khoá riêng, nghĩa là cả bên
gửi và bên nhận phải biết cùng một khóa Vấn đề chính trong phương pháp này là bên
gửi và bên nhận phải trao đổi khóa một cách an toàn
Ví dụ:Khi người dùng A có thông tin quan trọng muốn gửi cho người dùng B có
nội dung là “tài khoản ngân hàng là Viet 12345” chẳng hạn và A muốn mã hoá dữ liệu trước khi gửi cho B, thì A sẽ sử dụng khoá ví dụ là “key 1” chẳng hạn và tiến hành mã
hoá nó thành chuỗi “abcd”
Khi đó B nhận được thông tin từ A gửi cho và dùng chính khoá là “key 1” để giải
mã thông tin mã hoá đó thành dữ liệu có ý nghĩa mà A đã gửi cho
Hình 1.7: Quá trình sử dụng key đối xứng
Các thuật toán thường sử dụng của kiểu mã hóa đối xứng :
DES - Data Encryption Standard : DES là kỹ thuật bảo mật khóa riêng dùng thuật toán để mã hóa theo từng khối 64-bit với khóa 56-bit Thuật toán nầy được giải thích trong mục “Cryptography” Khóa 56-bit cho phép khoảng một triệu mũ 4 tổ hợp khác nhau Ngoài ra, mỗi khối trong dòng dữ liệu được mã hóa bằng các biến dạng khóa khác nhau, làm khó phát hiện sơ đồ mã hóa trong các thông điệp dài
- DES có 3 giai đoạn :
Trang 20Hình 1.8: Các giai đoạn của DES
Giai đoạn 1: Hoán vị 64 bit trong một khối
Giai đoạn 2: ứng dụng đưa ra thao tác 16 vòng trong 64 bit
Giai đoạn 3 : Hoán vị 64 bit sử dụng nghịch đảo của hoán vị gốc
Triple-DES là thuật toán mã hoá DES ba lần
SKIPJACK là thuật toán khoá đối xứng phân loại được thực hiện trong phần
cứng Fortezza, sử dụng bởi chính phủ Mỹ
b Kiểu mã hóa bất đối xứng
Theo phương pháp này thì , mỗi người có một cặp khóa, một khóa bí mật và một khóa công khai Bên gởi mã hóa thông điệp bằng khóa công khai của bên nhận và thông điệp nầy chỉ được giải mã bởi khóa bí mật của bên nhận Như vậy vấn đề trao đổi khóa được giải quyết vì các khóa được thông báo công khai
Thuật toán mã hóa bất đối xứng
Người ta chứng minh rằng luôn tồn tại 2 số P,Q với P# :
+Lấy hai số, p và q, nhân chúng n=pq; n được gọi là môđun
+Chọn một số e nhỏ hơn n, e và (p-1)(q-1) không có ước số công cộng nào khác ngoài 1
+ Tìm một số khác d, mà (ed-1) là ước số của (p-1)(q-1) Giá trị e và d được gọi
là số mũ chung và số mũ riêng d = e-1 mod ((p-1)*(q-1))
+ Khóa công cộng là cặp (n,e)
Trang 21+ Chọn p=7 và q=11, n=7*11=77
+ (p-1)*(q-1)= 6*10=60, e=13
+ d =13-1 mod 60 ->13*d mod 60 = 1 mod 60, d = 37
Giả sử số gửi vào m = 7 hế thống mã hoá thành : c = 713
mod 77 =35 giải mã m= 3537
mod 77 =7 Minh họa:Khi mã hoá dữ liệu với P người ta đem kết quả thu được giải mã với
Q sẽ thu được dữ liệu ban đầu và ngược lại
Hình 1.9: Quá trình sử dụng key bất đối xứng
Với quy trình này thì mỗi người dùng sử dụng công nghệ mã hoá chỉ cần 2 khoá
mà thôi Ở đây người dùng A sẽ sử dụng công nghệ mã hoá nên A sẽ có:
+Khoá P(A) gọi là public key khoá này là công khai và mọi người dùng khác đều biết và có thể sử dụng khoá này
+Khoá Q(A) gọi là private key khoá này là khoá bí mật chỉ có A mới biết
+Tương tự đối với B
Vì vậy khi A gửi gói tin Data tới B nó sẽ sử dụng P(B) của B để mã hoá và cho
ra kết quả Data’
Khi B thu được ‘Data’ nó dùng private key của mình (Q(B)) để giải mã dữ liệu và thu được Data ban đầu
Hình 1.10: Quá trình sử dụng key bất đối xứng giữa người dùng A và B
Các thuật toán thường sử dụng trong kiểu mã hóa bất đối xứng :
Trang 22 SHA-1 - thuật toán hàm băm an toàn, phát triển và sử dụng bởi chính phủ Mỹ
RSA key exchange - thuật toán trao đổi khoá cho SSL dựa trên thuật toán RSA
MD5 - thuật toán tạo giá trị “băm” (message digest), phát minh bởi Rivest
RSA key exchange - thuật toán trao đổi khoá cho SSL dựa trên thuật toán RSA SSL sử dụng kết hợp 2 loại mã hóa đối xứng và không đối xứng, mã hóa đối xứng dùng để mã hóa số lượng lớn dữ liệu truyền đi vì nhanh hơn trong khi đó mã hóa không đối xứng dùng để chứng thực và trao đổi khóa
c Hash Algorithms( Băm dữ liệu)
Thuật toán băm là một thuật ngữ bảo mật dùng để chỉ khả năng tóm tắt bất cứ dữ liệu nào thành một chuỗi các ký tự có độ dài cố định.Chuỗi kết quả này gọi là thông diệp tóm lược(message digest) hay là vân tay số(digital fingerprint) , vì vậy kích thước của kết quả sau khi băm sẽ nhỏ hơn dữ liệu ban đầu
Hash(băm) tương tự như dấu vân tay, một dấu vân tay là duy nhất của một cá nhân, và tất nhiên là nhỏ hơn 1 con người
Hashing được sử dụng để xác thực và thiết lập toàn vẹn dữ liệu trong quá trình truyền dữ liệu.Hai thuật toán băm phổ biến là Message Digest 5(MD5) và thuật toán hash tiêu chuẩn 1(SHA-1) MD5 tạo ra một giá trị băm 128- bit và SHA-1 tạo ra một giá trị 160-bit
1.6 Lợi ích khi sử dụng giao thức SSL
- Bạn đăng ký domain để sử dụng các dịch vụ website, email v.v… -> luôn có những
lỗ hổng bảo mật -> hacker tấn công -> SSL bảo vệ website và khách hàng của bạn
• Chứng thực doanh nghiệp - tránh giả mạo website
• Bảo mật và mã hóa các thông điệp trao đổi giữa trình duyệt và server
• Bảo mật các giao dịch giữa khách hàng và doanh nghiệp, các dịch vụ truy nhập
Trang 23• Bảo mật VPN Access Servers, Citrix Access Gateway
• Nâng cao hình ảnh, thương hiệu và uy tín doanh nghiệp
• Tạo lợi thế cạnh tranh, tăng niềm tin của khách hàng đối với website, tăng số lượng giao dịch, giá trị giao dịch trực tuyến của khách hàng
1.7 Một số dịch vụ mạng cơ bản
1.7.1 Dịch vụ HTTP
HTTP là chữ viết tắt từ HyperText Transfer Protocol (giao thức truyền tải siêu
văn bản).Nó là giao thức cơ bản mà World Wide Web sử dụng HTTP xác định cách các thông điệp (các file văn bản, hình ảnh đồ hoạ, âm thanh, video, và các file multimedia khác) được định dạng và truyền tải ra sao, và những hành động nào mà các Web server (máy chủ Web) và các trình duyệt Web (browser) phải làm để đáp ứng các lệnh rất đa dạng Chẳng hạn, khi bạn gõ một địa chỉ Web URL vào trình duyệt Web, một lệnh HTTP sẽ được gửi tới Web server để ra lệnh và hướng dẫn nó tìm đúng trang Web được yêu cầu và kéo về mở trên trình duyệt Web Nói nôm na hơn, HTTP là giao thức truyền tải các file từ một Web server vào một trình duyệt Web để người dùng có thể xem một trang Web đang hiện diện trên Internet.HTTP là một giao thức ứng dụng
của bộ giao thức TCP/IP (các giao thức nền tảng cho Internet)
1.7.2 Dịch vụ FTP
FTP viết tắt từ File Transfer Protocol, một giao thức truyền tải tập tin từ một máy
tính đến máy tính khác thông qua một mạng TCP hoặc qua mạng Internet Thông qua giao thức FTP, người dùng có thể tải dữ liệu như hình ảnh, văn bản, các tập tin media (nhạc, video) từ máy tính của mình lên máy chủ đang đặt ở một nơi khác hoặc tải các tập tin có trên máy chủ về máy tính cá nhân
Giao thức FTP được sử dụng nhiều nhất vào mục đích truyền tải dữ liệu.Việc bộ phận IT của công ty tạo tài khoản FTP cho bạn là để có thể gửi những dữ liệu dung lượng lớn một cách nhanh chóng, vì không thể gửi qua email hay các phương thức sao chép vật lý khác như CD hay USB flash Khi sử dụng FTP được cấp, bạn có thể gửi các tập tin có dung lượng vài trăm MB một cách dễ dàng, không cần phải lo lắng về việc người nhận không nhận được file
Hơn nữa, bạn có thể cùng lúc tải (upload/ download) nhiều tập tin cùng một lúc
để tiết kiệm thời gian.Tuy nhiên, yếu tố tốc độ đường truyền cũng đóng vai trò quan trọng trong việc truyền tải dữ liệu qua FTP
Trang 24FTP cũng là giao thức dùng để truyền tải dữ liệu web lên máy chủ web
1.7.3 Dịch vụ POP
POP (Post Office Protocol) POP là một giao thức Internet mail server phục vụ
việc lưu trữ các thông điệp được gởi đến hệ thống Nó hoạt động kết hợp với giao thức SMTP (Simple Mail Transfer Protocol: Giao thức truyền thư đơn giản), cung cấp các dịch vụ vận chuyển tin nhắn, yêu cầu chuyển thư từ hệ thống nầy đến hệ thống khác Tuy nhiên, một giao thức mới được gọi là IMAP4 (Internet Mail Access Protocol, version 4: Giao thức truy cập thư Internet, phiên bản 4) đang thay thế POP trong nhiều
hệ thống cài đặt
POP và SMTP được liên kết một cách chặt chẽ Một mail server (server phục vụ
thư điện tử) phải chạy cả hai giao thức nếu nó dùng để nhận, lưu trữ hay gửi tiếp các thông điệp Công việc trao đổi các thông điệp được điều hành bởi giao thức SMTP Các thông điệp được dẫn đường từ mail server nầy đến mail server khác cho đến khi chúng đến đích Sau đó, SMTP sắp xếp các thông điệp vào POP server để nó đặt chúng vào một hộp thư Nếu POP server đích đang ở chế độ offline, thì POP server sau cùng nhận được thông điệp sẽ giữ nó lại cho đến khi nó có thể được gửi tiếp đến POP server đích Rồi POP server đích đặt thư nầy trong hộp thư của người nhận để họ lấy
xem
Mô hình hộp thư tập trung dạng POP bảo đảm rằng người nhận có thể nhận thư
của họ ngay khi máy tính của họ không bật, bởi vì thư nầy được quản lý bởi POP server cho đến khi nó được lấy ra POP server theo dõi các người dùng để đảm bảo rằng chỉ có người mà thư chỉ định gửi cho mới truy cập thư trong hộp thư Địa chỉ e-mail và mật mã của người dùng đủ để chứng minh nhận dạng của họ, mặc dù hiện nay
đã có nhiều hệ thống sử dụng các chứng nhận an toàn hơn
Người dùng chạy trình nhận mail tương thích với giao thức SMTP để nối vào một
POP server và tải về thư từ các hộp thư của họ Ngay khi người dùng nối kết vào, thư
sẽ được tải về ngay POP không cho phép người dùng giữ một số thư của họ tại POP Server để xem xét lại sau, có ích khi người dùng đang làm việc trên máy trạm của người khác Giao thức IMAP cho phép các người dùng tải về các thông điệp có chọn
Trang 25mỗi phòng hay khu vực Internet là hệ thống mạng lớn nhất gồm rất nhiều POP server trên toàn cầu Những trường học, công ty, nhà cung cấp dịch vụ Internet (Internet Service Provider) duy trì nối kết của các POP server với Internet để cho phép tất cả mọi người trên khắp thế giới trao đổi thư từ với nhau Ví dụ, một POP Server của ISP
tổ chức hộp thư cho khách hàng của ISP đó
SMTP dùng cổng 25 của giao thức TCP Để xác định trình chủ SMTP của một tên miền nào đấy (domain name), người ta dùng một mẫu tin MX (Mail eXchange – Trao đổi thư) của DNS (Domain Name System – Hệ thống tên miền)
SMTP bắt đầu được sử dụng rộng rãi vào những năm đầu thập niên kỷ 1980 Tại thời điểm đó, SMTP chỉ là một phần mềm bổ sung của bộ trình ứng dụng đồng giao thức UUCP (Unix to Unix CoPy – Sao chép từ máy Unix sang máy Unix) nhưng tiện lợi hơn trong việc truyền tải thư điện tử giữa các máy vi tính – những máy này thỉnh thoảng mới lại được kết nối với nhau một lần, để truyền thông dữ liệu Thực ra, SMTP
sẽ làm việc tốt hơn nếu các máy gửi và máy nhận được kết nối liên tục
SMTP là một nghi thức của Internet dùng để gửi thư Khi dùng SMTP để gửi thư, bạn thường phải dùng một chương trình Sendmail(Sendmail Deamon) Có thủ tục khác gọi là QMail nhưng thường thường Sendmail vẫn phổ biến hơn cả mặc dù Sendmaili
là một nghi thức gửi thư rất ko an toàn
Chương trình sendmail có cổng mặc định là 25, cổng này mở để đợi máy khách kết nối vào để gửi thư SMTP có thể bị kẻ xấu lợi dụng để dùng vào mục đích ko tốt vì SMTP ko dùng hệ thống kiểm tra người dùng Bạn chỉ cần kết nối vào server và đưa ra địa chỉ nội dung thư là thư đó đựoc gửi đi ko cần biết bạn là ai Hiện trên thế giới có rất nhiều SMTP server
Trang 26Một số dịch vụ mạng dùng SSL sử dùng các số cổng chuyên dụng dành riêng được quy định bởi IANA (Internet Asingned Numbers Authority)
Hình 1.11: Các dịch vụ sử dụng SSL
Trang 27CHƯƠNG 2: CÁC PHƯƠNG THỨC TẤN CÔNG VÀ CÁCH PHÒNG
CHỐNG TRONG SSL 2.1 Các phương thức tấn công
a Tấn công Man in the Middle.(MITM) – Tấn công giả mạo SSL
Đây là một trong những tấn công MITM nguy hiểm nhất vì nó cho phép khai thác các dịch vụ mà người dùng tưởng rằng là an toàn
Trong phần này, nhóm chúngtôi sẽ tập trung giới thiệu vào tấn công SSL trên HTTP, vì HTTP là trường hợp sử dụng phổ biến nhất của SSL Có thể chúng ta không nhận ra HTTPS nhưng hầu như chắc chắn chúng ta đang sử dụng HTTPS hàng ngày.Điển hình các dịch vụ Email là phổ biến nhất và các ứng dụng ngân hàng trực tuyến đều dựa vào HTTPS để bảo đảm truyền thông giữa trình duyệt web của bạn và các máy chủ của họ được mã hóa an toàn
Hình 2.1: Giao thức HTTPS thường dùng
Nếu không sử dụng SSL cho HTTP thì bất cứ ai với một bộ “đánh hơi” gói dữ liệu trên mạng cũng đều có thể phát hiện ra được username, password và bất cứ thứ gì được ẩn khác
Để hiểu rõ hơn về cách tấn công này chúng ta sẽ tìm hiểu về quá trình Connect từ một web Browser đến Web Server dùng HTTPS
Trang 28Hình 2.2: Quá trình Connect từ Web Browser đến Web Server
HTTP
Web Server sẽ chuyển hướngyêu cầu của Web Browser từ HTTP sang HTTPS
Web Server sẽ cung cấp một chứng chỉ (Certificate) cho Web Browser gồm chữ ký số của nó Web Browser sử dụng chứng chỉ này và thẩm định chứng chỉ này với danh sách các nhà thẩm định chứng chỉ tin cậy của nó
Quá trình truyền thông sẽ xảy ra sau đó khi mà quá trình chứng thực giữa client và server thành công
Moxie Marlinspike, một chuyên gia nghiên cứu bảo mật hàng đầu đã cho rằng
trong hầu hết các trường hợp SSL chưa bao giờ bị trực tiếp tấn công.Hầu hết thời gian một kết nối SSL được khởi tạo thông qua HTTPS Nếu mà có bị tấn công thì nguyên nhân có thể là do ai đó đã redirect một HTTPS thông qua một mã đáp trả HTTP 302 (Redirect 302, chuyển hướng tạm thời.)
Ý tưởng để tấn công một phiên giao dịch sử dụng SSL là bạn sẽ cố gắng làm sao giả mạo thông tin trao đổi giữa Server và Client
Trang 29Hình 2.3: Tấn công giả mạo Certificate
Khi Web Browser kết nối đến Web Server bằng HTTPS với port 443 Thì Attacker sẽ can thiệp vào và chặn lưu lượng giữa Web Browser và Web Server
thì Attacker đã bắt Certificate này và dùng SSLStrip để giả mạo một Certificate khác rồi cung cấp chứng chỉ giả mạo nàycho máy Web Browser
Browser và Web Server vẫn tin tưởng mình đang truyền thông với nhau mà không biết rằng Attracker đang nghe lén và giả mạo thông tin của phiên làm việc này
Hình thức tấn công MITM này là một trong những hình thức chết chóc nhất vì
nó làm cho chúng ta nghĩ đang ở một kết nối an toàn nhưng sự thật lại không phải vậy Nếu bạn xem xét số lượng các site an toàn mà mình viếng thăm mỗi ngày, sau đó xem xét sự ảnh hưởng tiềm tàng nếu tất cả trong số các kết nối đó không an toàn và dữ liệu
bị rơi vào những kẻ xấu thì bạn sẽ hiểu một cách đúng đắn mức độ nguy hiểm có thể xảy ra với bạn hoặc tổ chức bạn
b Tham khảo cách tấn công SSL bằng công cụ SSLStrip
Khi đã truy cập vào SSLstrip, bạn sẽ thấy có một vài nhiệm vụ đặc quyền cần thực hiện.Trước tiên, phân phối Linux mà bạn đang sử dụng phải được cấu hình để chuyển tiếp IP
Để thực hiện điều này, hãy nhập lệnh echo "1"> proc/sys/net/ipv4/ip_forward vào một shell
Trang 30Hinh 2.4: Mô tả tấn công SSL bằng SSLStrip (1)
Khi thực hiện xong, chúng ta phải làm cho tất cả lưu lượng HTTP được chặn sẽ được định tuyến đến cổng mà ở đó SSLstrip sẽ lắng nghe Điều này được thực hiện
bằng cách thay đổi cấu hình iptables của tường lửa.Sử dụng lệnh iptables -t nat -A PREROUTING -p tcp destination-port 80 -j REDIRECT to-port <listenPort>
Trang 31Bạn cần thay thế <listenPort> bằng một cổng nào đó theo lựa chọn của mình Sau khi thực hiện xong việc cấu hình này, chúng ta có thể chạy sslstrip và cấu hình sao cho
nó có thể lắng nghe trên cổng được chỉ định bằng lệnh sslstrip -l <listenPort>
Hinh 2.6: Mô tả tấn công SSL bằng SSLStrip (3)
Bước cuối cùng trong quá trình này là cấu hình giả mạo ARP để chặn lưu lượng của host đích Chúng ta đã thực hiện điều này bằng cách sử dụng Cain và Abel trong Windows ở các phần trước, tuy nhiên trong trường hợp này, chúng ta sẽ sử dụng tiện
ích arpspoof, đây là tiện ích có trong Backtrack 4.Lệnh để thực hiện là arpspoof -i
<interface> -t <targetIP><gatewayIP>
Hinh 2.7: Mô tả tấn công SSL bằng SSLStrip (4)
Trang 32Khi hoàn tất, bạn sẽ có thể chiếm quyền điều khiển bất cứ kết nối SSL nào đang được thiết lập Từ đây, bạn có thể khởi chạy tiện ích “đánh hơi” dữ liệu và thu thập mật khẩu, các thông tin nhận dạng cá nhân khác như số thẻ tín dụng
2.2 Các cách phòng chống
Theo những gì nhóm đã phân tích phía trên thì việc chiếm quyền điều khiển SSL
là hầu như không thể phát hiện vì máy chủ cứ tưởng nó vẫn truyền thông bình thường với máy khách.Bên Server không hề biết rằngnó đang truyền thông với Client thông qua một Attracker Nhưng chúng ta có thể phát hiện và ngăn chặn các kiểu tấn công kịp thời bằng cách:
Lưu tài khoản trực tuyến ở nhà: Cơ hội cho ai đó có thể chặn lưu lượng của bạn trên mạng gia đình sẽ ít hơn nhiều so với mạng ở nơi làm việc của bạn
Bảo mật các máy tính bên trong mạng: Các cuộc tấn công thường được thực thi bên trong một mạng Nếu các thiết bị mạng của bạn được an toàn thì nguy cơ bị tấn công chiếm quyền điều khiển session cũng sẽ giảm
Nếu bạn đang nhập thông tin cá nhân nhạy cảm trên trang web hãy tìm biểu tượngkhóa nằm ở bên trái URL của trang web trên thanh địa chỉ để xem trang web có
sử dụng SSL hay không Trang web sử dụng SSL sẽ được bảo mật hơn và có thể ngăn chặn bên thứ ba can thiệp vào các thông tin trên đường truyền Đây là điều mà người dùng thường không chú ý và bỏ qua.Chúng ta hãy tìm hiểu các cảnh báo về một trang web có sử dụng giao thức SSL trên trình duyệt Chrome :
Kiểm tra trang web có sử dụng SSL hay không
Trang 33Nhận dạng trang web: Các trang web sử dụng SSL cấp chứng chỉ bảo mật chotrình duyệt để xác minh nhận dạng của trang web Bất kỳ ai cũng có thể thiết lập trang web giống một trang web khác nhưng chỉ trang web thật mới có chứng chỉ bảo mật hợp lệ cho URL bạn đang cố truy cập Chứng chỉ không hợp lệ có thể cho biết người nào đó đang cố giả mạo kết nối của bạn với trang web
Hình 2.9 : Nhận dạng tính bảo mật trang web dùng SSL
Trang 34CHƯƠNG 3: TRIỂN KHAI THỰC NGHIỆM 3.1Giới thiệu mô hình mạng
3.1.1 Mô hình triển khai
Hình 3.1: Mô hình triển khai
+ PC 1, Windows XP Pro làm Client dùng để test dịch vụ
+ PC 2, Windows server 2008 dùng để triển khai các dịch vụ mạng : http, ftp, e-mail
+ PC 3, Windows server 2008 dùng để triển khai server CA
Cấu hình tối thiểu để triển khai dịch vụ:
Khi triển khai hệ thống:
Trang 353.1.2 Đặt vấn đề
TCP/IP cho phép các thông tin được gửi từ một máy tính này tới một máy tính khác thông qua một loạt các máy trung gian hoặc các mạng riêng biệt trước khi nó có thể đi tới được đích Tuy nhiên, chính vì tính linh hoạt này của giao thức TCP/IP đã tạo cơ hội cho "bên thứ ba" có thể thực hiện các hành động bất hợp pháp như: nghe trộm, giả mạo, mạo danh, bắt chước, xuyên tạc,… Tóm lại Website không được xác thực và bảo mật sẽ luôn ẩn chứa nguy cơ bị xâm nhập dữ liệu, dẫn đến hậu quả khách hàng không tin tưởng sử dụng dịch vụ Chính vì thế nên chứng thực CA cho các dịch vụ mạng để đảm bảo độ an toàn và bảo mật khi trao đổi thông tin
Các bước thực hiện trong đồ án:
- Cài đặt và cấu hình hệ thống mail server Kerio
- Triển khai Certification Authority (CA)
Trang 363.2 Chứng thực CA cho web server
a Cài đặt web server và cấu hình website
- Trong cửa sổ Select Server Roles bạn chọn vào Web Server (IIS) sau đó click Next
Hình 3.2: Hộp thoại chọn dịch vụ cần cài đặt
- Vào start => adminnistrative Tools=> DNS để cấu hình phân giải tên miền
Trang 37- Phân giải tên miền: www.web1.vn và www.web2.vn
Hình 3.4: DNS management
- Vào cấu hình web ta vào Start=> administrative=> internet information services(IIS) manager, giao diện cấu hình web xuất hiện
Hình 3.5: Cấu hình web
Trang 38- Giao diện cấu hình web Chỗ này chúng ta sẽ add web site vào như hình dưới
Hình 3.6: Hộp thoại internet information services(IIS) manager
tin như hình bên dưới
Trang 39- Sau khi add xong ta có 2 web site chạy trên cổng 80(http) Sau khi cấu hình xong cho chạy thử xem 2 web có hoạt động hay không
Hình 3.8: Hộp thoại sites
- Text thử thành công 2 web site chạy trên được trên cổng 80 với giao thức http
Hình 3.9: Text chạy 2 web site cùng lúc
Trang 40b Cài đặt CA server
- Để bắt đầu quá trình cài đặt CA server, bạn có thể kích vào Add Roles từ cửa sổ Initial Configuration Tasks hoặc từ Server Manager > Roles > Add Roles
Hình3.10: Hộp thoại server manager
- Trong cửa sổ Select Server Roles bạn chọn vào Web Server (IIS) sau đó click Next