Luận văn Bảo mật trong môi trường lưới với tiếp cận hướng tác tử

Công nghệ tính toán lưới đã và đang được nghiên cứu, phát triển và ứng dụng rộng rãi trên thếgiới. Tuy nhiên, hiện tại ởViệt Nam công nghệnày vẫn còn khá mới mẻ. Đểbắt kịp với xu thếchung của thếgiới, Trung tâm Tính toán hiệu năng cao, Trường Đại học Bách Khoa Hà Nội đã triển khai đềtài Tính toán lưới nhằm mục đích tìm hiểu làm chủcông nghệvà ứng dụng vào thực tiễn. Lưới tính toán là một tập bao gồm nhiều tài nguyên phân tán và không đồng nhất, các tài nguyên này thuộc vềnhiều tổchức khác nhau. Do vậy, trong hệthống lưới, vấn đềan ninh và bảo mật luôn được đặt lên hàng đầu. Đểtrởthành người dùng của lưới, người dùng phải đáp ứng các yêu cầu phức tạp vềbảo mật như: có giấy chứng nhận, được người quản trịcấp phép truy cập, mỗi lần truy cập vào tài nguyên phải tạo giấy ủy nhiệm đểtương tác với các tài nguyên. Điều đó làm khó khăn cho người sửdụng, nhất là người sử dụng không có hiểu biết vềbảo mật lưới.

pdf107 trang | Chia sẻ: lvbuiluyen | Lượt xem: 2034 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Luận văn Bảo mật trong môi trường lưới với tiếp cận hướng tác tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI ------------------------------------- LUẬN VĂN THẠC SĨ KHOA HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN BẢO MẬT TRONG MÔI TRƯỜNG LƯỚI VỚI TIẾP CẬN HƯỚNG TÁC TỬ LÊ HUY CƯỜNG HÀ NỘI 2006 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI ------------------------------------- LUẬN VĂN THẠC SĨ KHOA HỌC BẢO MẬT TRONG MÔI TRƯỜNG LƯỚI VỚI TIẾP CẬN HƯỚNG TÁC TỬ NGÀNH: CÔNG NGHỆ THÔNG TIN MÃ SỐ: LÊ HUY CƯỜNG Người hướng dẫn khoa học: PGS.TS. NGUYỄN THANH THỦY HÀ NỘI 2006 MỤC LỤC MỤC LỤC......................................................................................................... 1 LỜI NÓI ĐẦU .................................................................................................. 3 LỜI CẢM ƠN ................................................................................................... 4 DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT............................................. 5 DANH MỤC HÌNH VẼ.................................................................................... 6 Chương 1. Tổng quan tính toán lưới, bảo mật trên môi trường lưới ................ 8 1.1. Tính toán lưới ......................................................................................... 8 1.1.1. Giới thiệu về tính toán lưới ............................................................. 8 1.1.2. Lợi ích của tính toán lưới .............................................................. 10 1.1.3. Các vấn đề cơ bản của một lưới .................................................... 12 1.1.4. Kiến trúc lưới ................................................................................ 14 1.2. Các khái niệm cơ bản về bảo mật ........................................................ 15 1.2.1. Một số thuật ngữ cơ bản................................................................ 15 1.2.2. Mã hóa thông tin sử dụng khóa..................................................... 16 1.2.3. Mã hóa đối xứng ........................................................................... 17 1.2.4. Mã hóa công khai .......................................................................... 18 1.2.5. Chữ ký điện tử............................................................................... 19 1.2.6. Giấy chứng nhận điện tử và Nhà chứng nhận thẩm quyền........... 21 1.3. Cơ chế bảo mật trong môi trường lưới................................................. 25 1.4. Các chính sách bảo mật trong môi trường lưới.................................... 28 1.5. Giới thiệu về hạ tầng bảo mật lưới GSI ............................................... 30 1.5.1. Cơ sở hạ tầng khóa công khai ....................................................... 30 1.5.2. Bảo mật mức thông điệp và mức giao vận.................................... 31 1.5.3. So sánh hiệu năng của bảo mật mức thông điệp với mức giao vận ................................................................................................................. 32 1.5.4. Giấy ủy nhiệm............................................................................... 34 1.5.5. Sự ủy quyền................................................................................... 35 1.5.6. Chứng thực.................................................................................... 35 1.5.7. Ứng dụng của GSI......................................................................... 36 Chương 2. An toàn bảo mật trong Globus Toolkit 4 ...................................... 37 2.1. Giới thiệu về GT4 ................................................................................ 37 2.1.1. GT4, OGSA và WSRF.................................................................. 37 2.1.2. Giới thiệu chung về dịch vụ web .................................................. 40 2.1.3. WSRF - nền tảng tài nguyên dịch vụ web .................................... 48 2.1.4. Kiến trúc Globus Toolkit 4 ........................................................... 53 2.2. Các thành phần bảo mật trong GT4 ..................................................... 55 2.3. Ví dụ minh họa: cài đặt bảo mật trong GRAM.................................... 57 Chương 3. Ứng dụng công nghệ tác tử trong tính toán lưới ........................... 61 2 3.1. Tác tử.................................................................................................... 61 3.1.1. Khái niệm tác tử ............................................................................ 61 3.1.2. Hệ đa tác tử ................................................................................... 66 3.1.3. Truyền thông giữa các tác tử......................................................... 73 3.2. Tiềm năng ứng dụng công nghệ tác tử trong lưới................................ 76 3.3. Các hướng tiếp cận tích hợp công nghệ tác tử trong lưới.................... 77 3.4. Hướng triển khai công nghệ tác tử trong hệ thống BKGrid2006 ........ 79 3.4.1. Kiến trúc hệ thống BKGrid2006................................................... 79 3.4.2. Xây dựng các tác tử giúp đơn giản hóa việc thương lượng sử dụng dịch vụ ..................................................................................................... 81 Chương 4. Xây dựng môđun bảo mật trong BKGrid 2006 ............................ 84 4.1. Yêu cầu cần thiết xây dựng môđun quản trị người dùng..................... 84 4.2. Kiến trúc môđun quản trị người dùng.................................................. 86 4.3. Thiết kế chi tiết..................................................................................... 89 4.3.1. Nhà chứng nhận thẩm quyền ........................................................ 89 4.3.2. Thành phần Quản lý giấy ủy nhiệm.............................................. 91 4.3.3. Thành phần Quản lý ánh xạ người dùng....................................... 91 4.3.4. Tích hợp với các chức năng quản lý người dùng cơ bản.............. 92 4.3.5. Đảm bảo an toàn cho môđun quản trị người dùng........................ 93 4.4. Tích hợp vào hệ thống BKGrid 2006................................................... 94 4.5. Hướng dẫn sử dụng .............................................................................. 95 4.6. Triển khai thử nghiệm.......................................................................... 97 4.6.1. Cấu hình triển khai ........................................................................ 97 4.6.2. Kết quả triển khai .......................................................................... 99 Chương 5. Kết luận ....................................................................................... 102 5.1. Kết quả đạt được ................................................................................ 102 5.2. Hướng phát triển ................................................................................ 103 TÀI LIỆU THAM KHẢO............................................................................. 104 3 LỜI NÓI ĐẦU Công nghệ tính toán lưới đã và đang được nghiên cứu, phát triển và ứng dụng rộng rãi trên thế giới. Tuy nhiên, hiện tại ở Việt Nam công nghệ này vẫn còn khá mới mẻ. Để bắt kịp với xu thế chung của thế giới, Trung tâm Tính toán hiệu năng cao, Trường Đại học Bách Khoa Hà Nội đã triển khai đề tài Tính toán lưới nhằm mục đích tìm hiểu làm chủ công nghệ và ứng dụng vào thực tiễn. Lưới tính toán là một tập bao gồm nhiều tài nguyên phân tán và không đồng nhất, các tài nguyên này thuộc về nhiều tổ chức khác nhau. Do vậy, trong hệ thống lưới, vấn đề an ninh và bảo mật luôn được đặt lên hàng đầu. Để trở thành người dùng của lưới, người dùng phải đáp ứng các yêu cầu phức tạp về bảo mật như: có giấy chứng nhận, được người quản trị cấp phép truy cập, mỗi lần truy cập vào tài nguyên phải tạo giấy ủy nhiệm để tương tác với các tài nguyên. Điều đó làm khó khăn cho người sử dụng, nhất là người sử dụng không có hiểu biết về bảo mật lưới. Nhiệm vụ của luận văn "Bảo mật trong môi trường lưới với tiếp cận hướng tác tử " là nghiên cứu các cơ sở hạ tầng bảo mật lưới và ứng dụng của công nghệ tác tử trong tính toán lưới, áp dụng vào xây dựng môđun quản trị người dùng trong hệ thống lưới BKGrid 2006. Mục đích của môđun quản trị người dùng là làm cho các yêu cầu về bảo mật trở nên trong suốt đối với người dùng. Cấu trúc của luận văn được chia thành 5 chương: ¾ Chương 1: Tổng quan về tính toán lưới, bảo mật trong môi trường lưới ¾ Chương 2: An toàn bảo mật trong Globus Toolkit 4.03 ¾ Chương 3: Ứng dụng công nghệ tác tử trong tính toán lưới ¾ Chương 4: Kiến trúc hệ thống BKGrid 2006 và mô đun bảo mật ¾ Chương 5: Kết quả đạt được và hướng phát triển 4 LỜI CẢM ƠN Trong thời gian làm luận văn tốt nghiệp, tôi đã nhận được sự hỗ trợ rất quý báu từ các thầy cô giáo, các cán bộ và các thành viên khác của Trung tâm Tính toán hiệu năng cao và của Trung tâm máy tính Trường Đại học Bách Khoa Hà Nội. Em xin chân thành cảm ơn PGS. TS. Nguyễn Thanh Thủy, Giám đốc Trung tâm Tính toán hiệu năng cao, người đã tận tình chỉ bảo, cung cấp cơ sở vật chất và các điều kiện tốt nhất cho em hoàn thành đề tài. Em xin chân thành cảm ơn TS. Lê Đăng Hưng, thầy đã đóng góp những ý kiến quý báu trong suốt quá trình thực hiện đề tài. Em xin chân thành cảm ơn ThS. Đinh Hùng, thầy đã động viên và tạo điều kiện cho em trong suốt thời gian thực hiện đề tài. Cuối cùng tôi xin gửi lời cảm ơn chân thành tới các bạn sinh viên của cả 2 nhóm GCK46 và HPCK46. Các bạn đã giúp tôi rất nhiều trong việc tìm hiểu và triển khai hệ thống lưới tính toán trên Trung tâm máy tính. Hà Nội, ngày 20 tháng 10 năm 2006 Học viên thực hiện Lê Huy Cường 5 DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT STT Thuật ngữ Giải thích 1 ACL Agent Communication Language 2 AID Agent Identification 3 AMS Agent management System 4 AP Agent Platform 5 DF Directory Facilitator 6 GSI Grid Security Infrastructure 7 GT Globus Toolkit 8 HAP Home Agent Platform 9 KQML Knowledge Query and Manipulation Language 10 MAS MultiAgent System 11 MTS Message Transport Service 12 OGSA Open Grid Services Architecture 13 PKI Public Key Infrastructure 14 SSL/TLS Secure Socket Layer/Transport Layer Security 15 UDDI Universal Description Discovery and Integration 16 WSRF Web Services Resource Framework 6 DANH MỤC HÌNH VẼ Hình 1.1. Tính toán lưới với tài nguyên phân tán ............................................. 8 Hình 1.2. Công việc được chuyển sang các nút ít bận hơn............................. 12 Hình 1.3. Kiến trúc phân tầng của lưới ........................................................... 15 Hình 1.4. Mã hóa bản tin sử dụng khóa .......................................................... 16 Hình 1.5. Giải mã thông điệp sử dụng khóa giải ............................................ 17 Hình 1.6. Mã đối xứng .................................................................................... 17 Hình 1.7. Giải thuật mã hóa không đối xứng.................................................. 18 Hình 1.8. Chữ ký điện tử và mã hóa công khai .............................................. 19 Hình 1.9. Giấy chứng nhận ............................................................................. 21 Hình 1.10. Giấy chứng nhận theo chuẩn X509............................................... 22 Hình 1.11. Cấu trúc phân cấp Nhà chứng nhận thẩm quyền .......................... 24 Hình 1.12. Tổ chức ảo..................................................................................... 26 Hình 1.13. Đưa các miền chính sách phân tán vào trong một miền tin tưởng chung trong tổ chức ảo .................................................................................... 27 Hình 1.14. Bảo mật mức giao vận................................................................... 32 Hình 1.15. Bảo mật mức thông điệp ............................................................... 32 Hình 2.1. Quan hệ giữa OGSA, GT4, WSRF và các dịch vụ web ................. 39 Hình 2.2. Các dịch vụ web .............................................................................. 40 Hình 2.3. Một triệu gọi dịch vụ web điển hình............................................... 42 Hình 2.4. Kiến trúc dịch vụ web ..................................................................... 43 Hình 2.5. Client và server stub được sinh ra từ file WSDL............................ 44 Hình 2.6. Chi tiết một triệu gọi dịch vụ web điển hình .................................. 45 Hình 2.7. Kiến trúc phía server của một ứng dụng dịch vụ web .................... 47 Hình 2.8. Một triệu gọi dịch vụ web phi trạng thái......................................... 49 Hình 2.9. Một triệu gọi dịch vụ web có trạng thái .......................................... 49 Hình 2.10. Cách tiếp cận tài nguyên cho vấn đề trạng thái của dịch vụ web . 50 Hình 2.11. Một dịch vụ web với nhiều tài nguyên, mỗi tài nguyên biểu diễn một file ............................................................................................................ 51 Hình 2.12. Dịch vụ web – tài nguyên ............................................................. 52 Hình 2.13. Kiến trúc Globus Toolkit 4 ........................................................... 54 Hình 2.14. Ví dụ về việc sử dụng một dịch vụ bởi một dịch vụ khác ............ 56 Hình 2.15. Cơ chế thực hiện của GRAM........................................................ 58 Hình 3.1. Sự phụ thuộc các hành động giữa các tác tử................................... 72 Hình 3.2. Truyền thông giữa các tác tử........................................................... 73 Hình 3.3. Kiến trúc BKGrid 2006................................................................... 79 Hình 3.4. Tác tử hỗ trợ thương lượng sử dụng dịch vụ lưới........................... 83 Hình 4.1. Minh hoạ về giấy chứng nhận, giấy uỷ nhiệm................................ 84 7 Hình 4.2. Kiến trúc môđun quản trị người dùng............................................. 87 Hình 4.3. Kiến trúc Nhà chứng nhận thẩm quyền .......................................... 89 Hình 4.4. Sơ đồ lớp Nhà chứng nhận thẩm quyền.......................................... 90 Hình 4.5. Sơ đồ lớp thành phần Quản lý giấy ủy nhiệm................................. 91 Hình 4.6. Sơ đồ lớp MapService..................................................................... 92 Hình 4.7. Lưu đồ tạo người dùng.................................................................... 93 Hình 4.8. Tương tác giữa môđun đệ trình công việc với môđun quản trị người dùng................................................................................................................. 95 Hình 4.9. Sơ đồ triển khai thử nghiệm............................................................ 97 Hình 4.10. Xem thông tin về giấy ủy nhiệm................................................... 99 Hình 4.11. Tạo mới giấy ủy nhiệm ............................................................... 100 Hình 4.12. Dịch vụ MathService .................................................................. 101 8 Chương 1. Tổng quan tính toán lưới, bảo mật trên môi trường lưới 1.1. Tính toán lưới 1.1.1. Giới thiệu về tính toán lưới Ngày nay, với sự phát triển vượt bậc của khoa học kỹ thuật và công nghệ, đã xuất hiện những bài toán trong nhiều lĩnh vực đòi hỏi sức mạnh tính toán mà một máy tính riêng lẻ không thể làm được. Ngoài ra, nhìn chung mọi người đều muốn có được khả năng chia sẻ tài nguyên trên phạm vi toàn cầu, khả năng tận dụng các phần mềm cũng như tài nguyên vật lý phân tán cả về mặt địa lý. Tính toán lưới ra đời nhằm giải quyết các yêu cầu trên. Hình 1.1. Tính toán lưới với tài nguyên phân tán Tính toán lưới tuy không còn là một khái niệm quá mới mẻ (được đưa ra lần đầu tiên vào năm 1998 bởi I. Forster và C. Kesselman [3]), nhưng hiện tại vẫn phát triển rất mạnh mẽ và còn rất nhiều vấn đề cần giải quyết. Một trong 9 những vấn đề đó là việc đưa ra được một định nghĩa hoàn chỉnh và chuẩn về lưới. Từ trước đến nay, mỗi tổ chức, cá nhân tùy theo cách quan niệm và thực tế xây dựng hệ thống của mình mà đưa ra những định nghĩa khác nhau về lưới. Chẳng hạn như: - Định nghĩa 1: Một lưới tính toán là một cơ sở hạ tầng phần cứng và phần mềm cung cấp khả năng truy nhập nhất quán, tin cậy, qui mô và rẻ tới các tài nguyên tính toán mạnh. I. Foster, C. Kesselman (1999) - Định nghĩa 2: Tính toán lưới liên quan tới việc chia sẻ, điều phối tài nguyên và giải quyết vấn đề trong phạm vi các tổ chức ảo. I. Foster, C. Kesselman, S. Tuecke, “Anatomy of the Grid“ (2000) - Định nghĩa 3: Một lưới là một hệ thống có các đặc trưng: • Tài nguyên được điều phối một cách phi tập trung • Sử dụng các giao thức chuẩn, mở và đa năng • Cung cấp chất lượng dịch vụ không tầm thường I. Foster‘s Three-Point Checklist (HPCWIRE - 22.07.2002) Mỗi tác giả khi đưa ra định nghĩa đều đứng trên một số quan niệm nhất định. Chẳng hạn định nghĩa 1 bị ảnh hưởng một cách sâu sắc bởi các dự án siêu tính toán (meta-computing) trước đó. Định nghĩa 2 tập trung vào sự quan trọng của các giao thức như là phương tiện để tương tác giữa các thành phần, còn định nghĩa 3 “có thể sẽ thích hợp hơn cho các nghiên cứu về lưới có qui mô rất lớn trong tương lai. Định nghĩa này đã bỏ qua nhiều đóng góp từ các tổ chức công nghiệp, do đó có lẽ là không xác đáng” (W. Gentzsch, HPCWIRE 05.08.2002). 10 Vì vậy, để có được một cái nhìn toàn diện về lưới, luận văn không đưa ra một định nghĩa cụ thể nào. Thay vào đó, chúng ta xem xét khái niệm lưới trên cơ sở các đặc trưng sau: - Kích thước lớn: theo nghĩa số lượng các tài nguyên tiềm tàng và khoảng cách về mặt địa lý giữa chúng. - Phân tán: có độ trễ đáng kể trong truyền dữ liệu và điều này có thể ảnh hưởng lớn đến ứng dụng. - Động: các tài nguyên có thể thay đổi khi ứng dụng đang được thực hiện - Hỗn tạp: kiến trúc và tính chất của các nút lưới có thể là hoàn toàn khác nhau - Vượt qua phạm vi một tổ chức: có nhiều trạm và các chính sách truy nhập có thể khác nhau trên các trạm. Có thể hình dung đơn giản một lưới bao gồm một tập các tài nguyên đa dạng (còn gọi là các nút lưới - có thể là PC, cluster, hệ thống lưu trữ, …) thuộc về nhiều tổ chức nhằm giải quyết một bài toán nào đó 1.1.2. Lợi ích của tính toán lưới Các lợi ích mà tính toán lưới mang lại bao gồm: - Khai thác các tài nguyên nhàn rỗi: một trong những lợi ích cơ bản của tính toán lưới là khả năng chạy ứng dụng trên một tài nguyên khác. Thống kê cho thấy, đối với các máy tính để bàn, trong một ngày làm việc thì chỉ có khoảng 5% thời gian là bận, còn lại là rỗi [4]. Việc tận dụng khoảng thời gian rỗi này để chạy các ứng dụng khác là một việc làm rất hiệu quả và kinh tế. - Cung cấp khả năng xử lý song song: khả năng chạy ứng dụng song song là tính năng thú vị nhất mà tính toán lưới mang lại. Lúc này, một 11 công việc được chia thành nhiều công việc con, các công việc con này được thực hiện đồng thời trên các tài nguyên khác nhau của lưới. Do đó, thời gian chạy ứng dụng sẽ được rút ngắn nhiều lần. Tuy nhiên, vấn đề là không phải ứng dụng nào cũng có thể triển khai theo cách này được. Cần xem xét các yếu tố như khả năng song song hóa, sự trao đổi giữa các công việc con khi chạy để đánh giá xem một ứng dụng có thực sự hiệu quả khi được triển khai trên lưới hay không. - Giúp truy nhập các tài nguyên khác: ngoài tài nguyên tính toán và lưu trữ, lưới còn cung cấp các loại tài nguyên khác, chẳng hạn đường truyền mạng, các phần mềm đắt tiền. Ví dụ như nếu một người dùng muốn tăng thông lượng kết nối tới Internet để thực hiện khai phá dữ liệu, anh ta có thể tận dụng các kết nối Internet riêng biệt của các nút lưới khác để chạy bài toán trên. - Giúp cân bằng trong sử dụng