TỔNG QUAN VỀ TÍNH TOÁN LƯỚI
TÍNH TOÁN LƯỚI
1.1.1 Khái niệm 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ể đảm trách Tính toán lưới ra đời nhằm tạo 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ý
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
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)
Lưới tính toán là một hệ thống có các đặc trưng sau:
• 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)
Vì vậy, để có được một cái nhìn toàn diện về lưới, ta 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
1.1.2 Lợi ích của Tính toán lưới
1/ 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 [2] 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ế
2/ 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 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
3/ Giúp hợp tác giữa các tổ chức
Sự hợp tác được thể hiện thông qua khái niệm tổ chức ảo - sự kết hợp nhiều tổ chức thực cùng mục tiêu Thông qua mô hình tổ chức ảo, các tổ chức thực có thể chia sẻ tài nguyên như dữ liệu, các thiết bị đặc biệt
4/ 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
5/ Giúp cân bằng trong sử dụng tài nguyên
Lưới cung cấp khả năng lập lịch, giúp phân bổ các công việc lên các nút một cách hợp lý, tránh tình trạng bị quá tải ở bất kì một nút nào
Hình 1-2: Công việc được chuyển sang các nút ít bận hơn
6/ Mang lại độ tin cậy
Khái niệm tin cậy trong tính toán lưới được thể hiện ở các khía cạnh sau: một là, trong lưới có những tài nguyên tính toán đắt tiền, cung cấp độ tin cậy cao cho những bài toán được thực hiện trên chúng Hai là, lưới cung cấp khả năng lập lịch lại, phân bổ lại công việc nếu có lỗi xảy ra Ba là, nếu cần, một công việc có thể được chạy đồng thời trên nhiều nút, cho nên việc xảy ra lỗi ở một nút sẽ không làm ảnh hưởng đến kết quả của công việc đó
1.1.3 Vấn đề cơ bản của một hệ thống lưới
Có 4 vấn đề cơ bản được quan tâm trong tính toán lưới [3], đó là:
1/ An toàn và bảo mật (Security)
Một nền tảng an toàn và bảo mật vững chắc sẽ quyết định sự phát triển của môi trường tính toán lưới Với tính chất quy mô lớn, quan hệ chia sẻ tài nguyên giữa nhiều tổ chức, an toàn và bảo mật luôn phải được coi là một trong những yếu tố hàng đầu trong lưới Hai vấn đề quan trọng trong an toàn bảo mật phải xem xét trong tính toán lưới là:
- Chứng thực người dùng (Authentication)
- Xác thực thẩm quyền (Authorization)
2/ Lập lịch và quản lý tài nguyên (Resource Management and Scheduling)
Các tài nguyên lưới thường phân tán và không đồng nhất Do đó, việc tích hợp, đồng bộ hóa và biểu diễn chúng dưới một dạng thống nhất là yêu cầu tất yếu Trong môi trường tính toán lưới, tại một thời điểm có thể có rất nhiều ứng dụng cùng truy cập chia sẻ một hoặc nhiều tài nguyên khác nhau, do vậy cần có bộ lập lịch nhằm tối ưu hóa các công việc Bộ lập lịch phải dựa vào các thông tin trên toàn bộ lưới để quyết định thứ tự đệ trình công việc
3/ Dịch vụ thông tin (Information Service) Đối với một môi trường động và không đồng nhất như tính toán lưới thì các thông tin về các thành phần trong lưới sẽ thay đổi liên tục Chính vì vậy, dịch vụ thông tin cần cung cấp cơ chế tự động cập nhật và đăng ký các thông tin về toàn hệ thống như kiến trúc các tài nguyên, các dịch vụ có thể cung cấp trên lưới, trạng thái của toàn bộ môi trường lưới
4/ Quản lý dữ liệu (Data Management)
VẤN ĐỀ AN TOÀN THÔNG TIN TRONG TÍNH TOÁN LƯỚI
Do đặc điểm hỗn tạp và không đồng nhất của các tổ chức và tài nguyên trong lưới, vấn đề an toàn thông tin trong lưới là một trong những vấn đề được quan tâm hàng đầu Có những vấn đề an toàn thông tin mới chưa từng gặp trong các công nghệ an toàn thông tin hiện tại cho hệ thống tính toán phân tán truyền thống Ví dụ, các tính toán song song đòi hỏi nhiều tài nguyên tính toán, dẫn tới nhu cầu phải thiết lập các mối quan hệ an toàn thông tin, không đơn giản chỉ là với client và server, mà giữa hàng trăm tiến trình thực hiện trong không gian tập hợp nhiều miền quản trị Ngoài ra, cần phải có các chính sách an toàn thông tin liên miền cho lưới, các công nghệ điều khiển truy nhập giữa các miền khác nhau cũng phải được hỗ trợ
Các ứng dụng và hệ thống lưới có thể đòi hỏi bất cứ chức năng nào trong các chức năng cơ bản của an toàn thông tin như là: chứng thực, điều khiển truy nhập, và toàn vẹn Khi phát triển kiến trúc lưới, cũng cần phải lựa chọn giải pháp để đáp ứng được đòi hỏi của các đặc tính rất riêng của lưới:
Khi bắt đầu một tính toán đòi hỏi sử dụng tài nguyên, cho thuê tài nguyên hay truyền thông nội bộ, người dùng có thể được chứng thực, và sẽ không phải chứng thực trong các tính toán tiếp theo
- Gi ấ y ủ y nhi ệ m ng ườ i dùng:
Các mật khẩu, khóa bí mật phải được bảo vệ bằng các chính sách như mã hóa, hệ thống file bảo mật, phân quyền,
- Tích h ợ p các gi ả i pháp an toàn thông tin đị a ph ươ ng:
Các giải pháp liên miền phải tích hợp với các giải pháp an toàn thông tin địa phương để đảm bảo độc lập của các thành viên lưới
- H ạ t ầ ng gi ấ y ủ y nhi ệ m, ch ứ ng ch ỉ s ố th ố ng nh ấ t:
Truy nhập liên miền đòi hỏi phải có một quy ước thống nhất để biểu diễn định danh của các thực thể lưới như là người dùng, tài nguyên, Vì thế, cần có một chuẩn để mã hóa các chứng chỉ số cho mục đích an toàn thông tin Hiện tại, X509 là chuẩn cho các chứng chỉ số phổ biến trong môi trường lưới
- H ỗ tr ợ an toàn nhóm truy ề n thông:
Một tính toán có thể đòi hỏi một số các tiến trình, cùng cộng tác các hoạt động của chúng với nhau như là một nhóm Tổ hợp các nhóm tiến trình sẽ thay đổi trong vòng đời của một tính toán Vì thế, cần cung cấp an toàn truyền thông nhóm động Không có giải pháp nào hiện tại hỗ trợ tính năng này, thậm chí là thư viện lập trình GSS-API còn không cung cấp an toàn truyền thông nhóm
Các chính sách không phục vụ cho một công nghệ phát triển ứng dụng cụ thể nào Hơn nữa, có thể cài đặt các chính sách trong một phạm vi các công nghệ an toàn thông tin, dựa trên cả kĩ thuật mã hóa công khai và phân phối khóa công khai
1.2.1 Các thách thức an toàn trong Tính toán lưới
Các yêu cầu an toàn lưới ở trên được định hướng để cung cấp các tổ chức ảo phân tán, rộng lớn để chia sẻ và sử dụng các nguồn tài nguyên đa dạng trong một mô hình thống nhất Tuy nhiên, các tài nguyên cũng như các thành phần khác tham gia lưới lại bị quản lý bởi các nội quy và các chính sách của một tổ chức truyền thống mà chúng là thành viên Do vậy, để các tổ chức ảo truy nhập vào các tài nguyên trong các tổ chức truyền thống, chúng phải được thiết lập và cộng tác qua mối quan hệ tin tưởng hai bên, tồn tại giữa người dùng với các tổ chức truyền thống của họ và mối quan hệ giữa người dùng với các tổ chức ảo Chúng ta không thể thiết lập quan hệ tin tưởng trực tiếp giữa các tổ chức truyền thống với tổ chức ảo hay các thành viên mở rộng của nó
Cơ chế an toàn lưới giải quyết các trở ngại này bằng cách cho phép có một tổ chức ảo thống nhất chung một phần chính sách của các tổ chức truyền thống (policy domain overlay)
Hình 1-3: Miền tin tưởng chung của tổ chức ảo
Các tài nguyên và các tổ chức đưa ra các điều khiển chính sách mở rộng (outsource policy) cho một bên thứ ba, các tổ chức ảo (VOs), phối hợp các chính sách mở rộng trong một miền tin tưởng ổn định lâu dài, để cho phép chia sẻ tài nguyên và sử dụng Giải pháp tải chồng các chính sách dẫn tới các chức năng chủ yếu sau mà lưới phải thực hiện:
- H ỗ tr ợ nhi ề u c ơ ch ế an toàn khác nhau :
Các miền tài nguyên hay các tổ chức ảo thường đã có sự đầu tư đáng kể trong các cơ chế và cơ sở hạ tầng an toàn thông tin của địa phương họ Do vậy mà thách thức lớn nhất chính là phải liên kết các công nghệ an toàn thông tin trên các địa phương hơn là thay thế toàn bộ nó, như thế sẽ rất tốn kém và hoàn toàn không có tính kế thừa
- Kh ở i t ạ o độ ng các d ị ch v ụ:
Người dùng có thể khởi tạo ra các dịch vụ mới mà không cần có sự can thiệp của nhà quản trị, ngoài ra các dịch vụ này còn có thể tương tác với nhau Như vậy là phải có cơ chế định danh các thực thể lưới, cấp quyền cho các dịch vụ mà không ảnh hưởng tới các cơ chế bảo mật điạ phương Một ví dụ trong cơ sở hạ tầng GSI, khi một dịch vụ lưới cung cấp cho người dùng, các định danh về người dùng sử dụng dịch vụ, định danh của dịch vụ, định danh của hệ thống mà dịch vụ đăng ký trên đó đều được xác định rõ ràng
- Thi ế t l ậ p độ ng các mi ề n ch ứ ng th ự c tin t ưở ng (trust domain) :
Việc chứng thực không chỉ được thiết lập giữa người dùng và tài nguyên trong một tổ chức ảo mà còn mở rộng giữa các tổ chức ảo với nhau Như vậy đòi hỏi phải có một mô hình an toàn thông tin hướng người dùng (user-driven security model), cho phép người dùng tạo ra các thực thể và các miền chính sách để liên kết tài nguyên trong các tổ chức ảo
1.2.2 Các chính sách bảo đảm an ninh cho hệ thống lưới
Bảo vệ CSDL tránh khỏi những hiểm hoạ có nghĩa là bảo vệ dữ liệu trong CSDL, tránh khỏi việc truy cập không hợp lệ, một cách vô tình hay cố ý
Mỗi lưới là một tập hợp gồm nhiều tài nguyên hay còn gọi là nút lưới Một số tài nguyên có thể thuộc quyền sử dụng của tất cả các thành viên lưới, trong khi số khác lại hạn chế quyền truy nhập đối với các thành viên Một số thuật ngữ sau được xây dựng trong khi nghiên cứu các vấn đề về bảo đảm an toàn cho hệ thống Tính toán lưới
+ Ch ủ th ể là một thành viên của các hoạt động an toàn thông tin Đối với môi trường lưới, chủ thể thường là người dùng, tài nguyên hay các tiến trình thay mặt cho các tài nguyên đó
NỀN TẢNG AN TOÀN THÔNG TIN LƯỚI GSI
CÁC KHÁI NIỆM CƠ BẢN VỀ AN TOÀN THÔNG TIN
Trong mã hóa thông tin có hai khóa là khoá mã hoá và khoá giải mã Người gửi mã hóa thông tin bằng khoá mã hoá, và gửi bản mã cho người nhận
Hình 2- 1: Mã hóa thông tin sử dụng khóa
Người nhận sử dụng khoá giải mã để giải mã thông tin
Hình 2- 2: Giải mã thông điệp sử dụng khóa mã giải
Sau đây, ta sẽ xem xét hai phương pháp mã hóa thông dụng là mã hóa khóa đối xứng (mã hóa khóa bí mật) và mã hóa khóa phi đối xứng (mã hóa khóa công khai)
2.1.2 Hệ mã hóa khóa đối xứng
Mã hóa đối xứng là phương pháp mã hoá mà biết khoá mã hoá dễ dàng tính được khoá giải mã và ngược lại Trong một số hệ mã hoá đối xứng thì hai khoá này trùng nhau
Hình 2- 3: Mã hoá khoá đối xứng
Mặc dù các phương pháp mã hóa đối xứng thường có tốc độ cao và dễ cài đặt, nhưng chúng lại có nhiều yếu điểm Một nhược điểm chính đó là vì cả người gửi và người nhận đều sử dụng cùng một khoá mã hoá do đó cần phải có sự trao đổi thông tin thống nhất khóa thông qua một kênh mật Đây là một vấn đề khó trong an toàn và bảo mật
Các hệ thống bảo vệ thông tin ngày nay sử dụng các thuật toán mã hóa bất đối xứng (khoá mã hoá và khoá giải mã khác nhau) để cùng với hệ mã hoá đối xứng bảo vệ thông tin
2.1.3 Hệ mã hóa khóa phi đối xứng
Hình 2- 4: Mã hoá khoá phi đối xứng
Hệ mã hóa khoá phi đối xứng có khoá mã hoá và khoá giải mã khác nhau, biết được khoá này “khó” tính được khoá kia Các khóa này được xây dựng bằng hàm một chiều có cửa sập (Trap-door)
Trong hai khóa đó, một khóa được chọn làm khóa bí mật và khóa còn lại được chọn làm khóa công khai Khóa bí mật chỉ có một người là chủ nhân của nó nắm giữ Khóa công khai được công bố rộng rãi cho bất cứ ai muốn trao đổi thông tin mật với người sở hữu khóa Khóa công khai được sử dụng để mã hóa thông tin và khóa bí mật được sử dụng để giải mã
Quá trình giao tiếp giữa hai đối tượng A và B có thể được mô tả như sau: B sinh ra một cặp khóa bí mật và công khai, khóa bí mật được cất giữ một cách an toàn và được bảo vệ bằng một mật mã còn khóa công khai được cung cấp rộng rãi
A có thể sử dụng khóa công khai (được phát hành bởi B) để mã hóa thông tin và gửi cho B Lúc này, chỉ duy nhất B, người sở hữu khóa bí mật, có thể giải mã thông tin bằng khoá bí mật
Ngoài ra, mã hoá khoá phi đối xứng còn được dùng trong các cơ chế xác thực Tuy nhiên, một nhược điểm lớn của hệ mã hóa công khai này là quá trình giải mã cũng như mã hóa mất nhiều thời gian
Những năm 80 của thế kỉ hai mươi, các nhà khoa học đã phát minh ra “chữ ký số” để chứng thực một “tài liệu số” Đó là “bản mã” của xâu bít tài liệu [5]
Chữ ký được dùng để xác định tính hợp thức của văn bản trong quá trình giao dịch Do đó, chữ ký trên giấy là đặc trưng của từng cá nhân Chữ ký số là một hàm phụ thuộc vào thông tin mà nó ký Trong giao dịch trực tuyến, chữ ký số được coi là một thông tin gắn liền với giao dịch
Hình 2- 5: Chữ ký số và mã hóa công khai
Ký số trên tài liệu số là ký trên từng bít của tài liệu Kẻ gian khó có thể giả mạo chữ ký số nếu nó không biết “khoá lập mã” Để kiểm tra một chữ ký số thuộc về một tài liệu số, người ta dùng chìa khoá công khai và tài liệu đi kèm
Ký số thực hiện trên từng bít tài liệu nên độ dài của chữ ký số ít nhất bằng độ dài của tài liệu Do đó thay vì ký trên tài liệu dài, người ta thường dùng “hàm băm” để tạo ra “đại diện” cho tài liệu, sau đó mới ký số lên “đại diện” này
Chứng chỉ khoá công khai (gọi tắt là chứng chỉ số) là một văn bản điện tử xác nhận khoá công khai được sở hữu bởi một người cụ thể Chứng chỉ số được cấp bởi cơ quan có thẩm quyền gọi là Nhà cung cấp và quản lý chứng chỉ số
Ví dụ về giao dịch điện tử giữa hai chủ thể A và B, thông qua Nhà cung cấp và quản lý chứng chỉ số S như sau:
Bước 1 Xin các chứng chỉ số:
Trước khi giao dịch, A gửi khoá công khai cho S và S sẽ cấp chứng chỉ số
CƠ SỞ HẠ TẦNG AN TOÀN THÔNG TIN TRÊN LƯỚI
An toàn thông tin là một trong những nền tảng quan trọng nhất trong hệ thống lưới Cơ sở hạ tầng an toàn thông tin lưới (GSI) để giải quyết những vấn đề an toàn thông tin còn tồn tại trong tính toán lưới, mà nền tảng chính là những kiến thức về mã mật đã nêu ra ở phần trên Trong phần này trình bày một số đặc điểm của GSI và cài đặt ứng dụng của nó
2.2.1 Cơ sở hạ tầng mật mã khóa công khai
GSI được xây dựng dựa trên cơ sở hạ tầng mật mã khóa công khai (PKI)
GSI bao gồm tập các thực thể (người dùng và tài nguyên), được phân biệt bởi tên duy nhất gọi là tên định danh Chứng thực trong GSI nghĩa là cho mỗi thực thể người dùng hoặc tài nguyên một tên định danh duy nhất Để mỗi thực thể có một định danh duy nhất, GSI đưa ra khái niệm giấy ủy nhiệm lưới, là sự kết hợp của chứng chỉ lưới với một khoá bí mật tương ứng
Một điều quan trọng trong môi trường PKI của lưới, mỗi thực thể phải thực hiện sự trao quyền để bảo đảm sự toàn vẹn của hệ thống trong các giao dịch đa phương và đa tiến trình Để bảo đảm khóa bí mật không bị đánh cắp, có thể sử dụng một số phương pháp:
- Lưu trữ khóa trong một file có quyền truy nhập hạn chế
- Lưu trữ khóa trong hệ thống file mà khoá mã hoá chỉ được biết bởi người sở hữu nó Ví dụ máy chủ MyProxy để quản lý các giấy uỷ nhiệm lưới
- Lưu trữ khóa bí mật bằng các thiết bị phần cứng có mật khẩu Giải pháp phần cứng cho ta tính an toàn cao, nhưng nó lại ít được sử dụng bởi thiếu sự phát triển của phần cứng
- Sử dụng giấy ủy nhiệm trong một khoảng thời gian sống nhất định Điều này đòi hỏi thường xuyên phải có cấp mới các giấy ủy nhiệm, bảo vệ khóa bí mật bằng cách hạn chế sự lộ diện của nó
2.2.2 Bảo vệ thông tin mức thông điệp và mức giao vận
GSI cho phép chúng ta thực hiện bảo vệ thông tin ở hai mức: mức giao vận và mức thông điệp
An toàn thông tin mức giao vận cho phép toàn bộ truyền thông được mã hóa
An toàn thông tin mức thông điệp chỉ cho phép nội dung của thông điệp được mã hóa
Hình 2- 8: An toàn thông tin mức giao vận
Hình 2- 9: An toàn thông tin mức thông điệp
Hai mức bảo mật giao vận và thông điệp có thể đảm bảo tính toàn vẹn, riêng tư và xác thực nhờ sử dụng các phương pháp mật mã Tuy nhiên, không phải tất cả truyền thông cần có cả ba đặc tính này Nói chung, hội thoại an toàn phải đảm bảo tối thiểu khả năng chứng thực
Trong môi trường lưới, người dùng cần sử dụng nhiều tài nguyên Mỗi lần yêu cầu cấp phép tài nguyên, người dùng cần phải chứng thực, và mỗi lần chứng thực người dùng cần nhập mật khẩu Việc sử dụng nhiều lần mật khẩu trong chứng thực đa phương gây bất tiện cho người dùng, đồng thời khoá bí mật rất dễ bị đánh cắp Một cách khác là sử dụng phần mềm để nhắc và lưu trữ mật khẩu người dùng một lần Tuy nó rất thuận tiện cho người dùng, nó lại bất lợi trên quan điểm về an toàn thông tin, khi mà nó để lộ khóa bí mật trong một khoảng thời gian dài
GSI giải quyết vấn đề này với khái niệm giấy ủy nhiệm Mỗi giấy ủy nhiệm sẽ hoạt động thay mặt người dùng trong một khoảng thời gian ủy quyền ngắn hạn
Nói cách khác, việc sử dụng giấy ủy nhiệm ngắn hạn thay thế cho các chứng chỉ số dài hạn khi chứng thực người dùng
Giấy ủy nhiệm là sự kết hợp giữa chứng chỉ số dài hạn của người dùng với khóa bí mật riêng của nó Giấy ủy nhiệm, theo một cách khác, là sự liên kết ngắn hạn giữa tên định danh của người dùng với một khóa bí mật khác Chứng chỉ số thường được lưu trữ sử dụng mã hóa trong hệ thống file địa phương, thường được bảo vệ bởi quyền truy cập file trong hệ thống, có thể được sử dụng nhiều lần mà không có sự bất tiện nào Còn giấy ủy nhiệm dễ bị tổn thương, nó có thời gian sống ngắn hạn hơn nhiều so với các chứng chỉ số dài hạn của người dùng, thông thường là vài giờ
2.2.4 Sự ủy quyền Đối với tính toán phức tạp và kéo dài liên quan tới nhiều tiến trình khác nhau, người dùng không phải lúc nào cũng có mặt để chứng thực cho mỗi tiến trình
GSI giải quyết vấn đề này bằng cách cho phép người dùng ủy quyền giấy ủy nhiệm của mình cho giao dịch các máy từ xa
Sự ủy quyền cũng tương tự như việc tạo ra các giấy ủy nhiệm, một tập chứng chỉ số dài hạn sẽ được dùng để tạo ra tập các giấy ủy nhiệm mới, có thời gian sống ngắn hơn Sự khác nhau là việc tạo ra các giấy ủy nhiệm xảy ra trong các phiên kết nối đòi hỏi chứng thực GSI, khi các tiến trình từ xa đòi hỏi giấy ủy nhiệm của người dùng cho chứng thực Một điều đáng chú ý nữa là sự ủy quyền có thể là một chuỗi, một người có thể ủy quyền cho một máy A, sau đó tiến trình sử dụng trên máy A có thể ủy quyền cho máy B và cứ tiếp tục như vậy
GSI sử dụng grid-mapfile để đưa ra danh sách điều khiển truy nhập dựa trên danh sách người dùng được định nghĩa Việc chứng thực các định danh GSI sẽ chuyển về chứng thực các định danh địa phương, cùng với việc đó, các chính sách đưa ra cũng nằm trong phạm vi cục bộ như: quyền truy nhập file, dung lượng đĩa, tốc độ CPU
Gần đây GSI áp dụng chuẩn SAML [6] để định nghĩa các định dạng xác nhận bảo mật và giao thức để lấy xác nhận GSI sử dụng chứng thực SAML theo hai cách: Dịch vụ chứng thực cộng đồng CAS hoặc dịch vụ chứng thực của bên thứ ba như PERMIT
GSI cho phép người dùng và các ứng dụng lưới truy nhập vào các tài nguyên một cách an toàn Một số khả năng an toàn bảo mật được GSI tập trung hỗ trợ: cơ chế uỷ quyền và đăng nhập một lần, thẩm quyền và chứng thực đa phương, các giấy ủy nhiệm thay mặt người dùng trong thời gian ngắn hạn, GSI cũng là thành phần thiết yếu cho một số công cụ như grid-proxy-init để tạo ra giấy ủy nhiệm từ các chứng chỉ số, các dịch vụ truyền file GridFTP và máy chủ thông tin LDAP, đệ trình các ứng dụng từ xa Globus Toolkit Gram hay Secure Shell (SSH) để kết nối tới các
BỘ CÔNG CỤ GLOBUS TOOLKIT 4.0
Bộ công cụ Globus Toolkit (GT) là sản phẩm của dự án Globus – dự án được sự hợp tác của nhiều công ty, phòng thí nghiệm của Mỹ nhằm tìm ra giải pháp cho tính toán lưới Globus Toolkit là tập hợp các dịch vụ, phần mềm, các thư viện xây dựng theo kiến trúc mở
Có thể nói dự án Globus đã và đang đóng góp rất lớn vào sự phát triển của tính toán lưới Đã có hàng trăm dự án áp dụng tính toán lưới lớn, nhỏ trên toàn thế giới đang sử dụng bộ công cụ Globus Toolkit để xây dựng cơ sở hạ tầng và triển khai các ứng dụng của mình Phiên bản mới nhất hiện nay là phiên bản GT4, đây là phiên bản đầu tiên có hỗ trợ các thực thi Web Services trong nhiều thành phần của nó Tuy nhiên vẫn có một số thành phần chưa sử dụng các thực thi Web Services và vì lý do tương thích với các phiên bản cũ hơn
2.3.1 Thành phần chính của Globus Toolkit
GT4 gồm có 5 thành phần chính sau [4]:
− Thành phần thực thi cơ bản (Common runtime components)
− Thành phần bảo vệ thông tin (Security component)
− Thành phần quản lý dữ liệu (Data management component)
− Dịch vụ theo dõi và tìm kiếm (Monitoring and Discovery Services)
− Thành phần quản lý thực thi (Execution management)
1/ Thành phần thực thi cơ bản (Common runtime components)
Thành phần thực thi cơ bản bao gồm tập các thư viện và các công cụ cung cấp môi trường xử lý cho cả hai mô hình dịch vụ: dịch vụ web và không phải là dịch vụ web Đồng thời đây là thành phần nền tảng của Globus Toolkit phục vụ cho các dịch vụ khác trong bộ công cụ này
2/ Thành phần bảo vệ thông tin (Security Component)
Thành phần bảo vệ thông tin nằm phía dưới tất cả các thành phần khác cung cấp các chức năng an toàn thông tin, được xây dựng dựa trên mô hình mã hóa khóa công khai, giao thức bảo mật SSL (Secure Socket Layer) và chứng chỉ số X.509
Thành phần này cung cấp cơ chế xác thực một lần (single sign on), mã hóa trong truyền thông và cơ chế ủy quyền Cần khẳng định rằng: bảo vệ thông tin trong tính toán lưới là một vấn đề trung tâm Khi triển khai ở phạm vi lớn, lưới với cơ cấu phức tạp nếu không được thiết kế gắn liền với an toàn thông tin thì hệ thống lưới rất dễ bị sụp đổ do truy xuất trái phép, các loại sâu, các phương thức tấn công, cũng như các hacker
3/ Thành phần quản lý dữ liệu (Data management)
Globus Toolkit cung cấp các dịch vụ thao tác với dữ liệu:
• Dịch vụ truyền file trên lưới GridFTP
GridFTP là mở rộng của giao thức FTP truyền thống để cung cấp dịch vụ truyền file hiệu quả cao và được thực hiện trên nền bảo mật lưới chặt chẽ Ngoài ra, một tính năng quan trọng của giao thức GridFTP là cho phép truyền file theo mô hình third-party Trong mô hình truyền file truyền thống, việc truyền file chỉ thực hiện được giữa client và server Còn trong mô hình truyền file third-party, Client có thể thực hiện truyền file giữa các server với nhau
Hình 2- 10 : Truyền file theo mô hình third-party
• Dịch vụ truyền file tin cậy RFT (Realiable File Transfer)
RFT sử dụng GridFTP để truyền file RFT cung cấp dịch vụ truyền file tin cậy dưới dạng dịch vụ web, đồng thời RFT cũng sử dụng cơ sở dữ liệu để có thể phục hồi việc truyền file nếu xảy ra sự cố
Hình 2- 11: Dịch vụ truyền file RFT
• Dịch vụ sao lưu dữ liệu trên lưới
Dịch vụ sao lưu dữ liệu DRS (Data Replication Service), dịch vụ định vị tệp RLS (Replica Location Service)
4/ Dịch vụ theo dõi và tìm kiếm tài nguyên (Monitoring and Discovery Services)
Dịch vụ theo dõi và tìm kiếm tài nguyên cung cấp kiến trúc thống nhất cho việc theo dõi các thông tin về cấu hình hệ thống trên các nút lưới của toàn bộ hệ thống
Dịch vụ thông tin cung cấp thông tin vật lý như: hệ điều hành, năng lực xử lý, bộ nhớ đồng thời cũng cung cấp các thông tin về các dịch vụ mà nút lưới đó cung cấp các dịch vụ lưới
5/ Thành phần quản lý thực thi (Execution management)
Globus Tookit cung cấp các thành phần làm nhiệm vụ thực thi công việc, giám sát công việc, và giao tiếp với bộ lập lịch địa phương Trong đó quan trọng nhất là thành phần WS GRAM (Grid Resource Allocation and Management)
WS GRAM là một dịch vụ lưới được viết theo mô hình Web Services, cung cấp khả năng thực hiện và quản lý trạng thái công việc từ xa Khi Client đệ trình công việc, yêu cầu đó được gửi tới bằng thông điệp SOAP (Simple Object Access Protocol) [5] và được xử lý bởi thành phần WS GRAM trên máy đó WS GRAM có khả năng chuyển các yêu cầu đó thành dạng mà các bộ lập lịch địa phương hiểu được và yêu cầu các bộ lập lịch địa phường thực hiện Trong quá trình thực thi công việc, WS GRAM còn kết hợp với dịch vụ RFT để thực hiện truyền, nhận các file đầu vào và các file kết quả
Ngoài ra Globus Toolkit còn cung cấp các thành phần khác liên quan đến việc quả lý thực thi công việc như: bộ siêu lập lịch Community Scheduler Framework 4 (CSF4), dịch vụ quản lý không gian làm việc Workspace Management Service (WMS) Tuy nhiên các thành phần này đang trong giai đoạn phát triển và chưa được hoàn thiện
2.3.2 An toàn bảo mật trong Globus Toolkit
GT4 cung cấp một số dịch vụ về an toàn bảo mật:
- Credential processing service: là dịch vụ đảm nhận việc xử lý và kiểm tra các yêu cầu về chứng thực
- Authorization service: dịch vụ này xác định quyền của các hoạt động dựa trên việc áp dụng các quyền bảo mật đối với từng đối tượng yêu cầu hành động đó và cụ thể yêu cầu đó
- Credential Conversion service: là dịch vụ trung gian chuyển đổi giữa các cơ chế ủy nhiệm địa phương và các tổ chức ảo
- Identity Mapping service: là dịch vụ ánh xạ tài khoản người dùng trong một miền tới một tài khoản đối với một miền khác
- Audit: dịch vụ log lại các sự kiện
Môi trường trình chủ (Hosting environment)
Trình chủ là môi trường để nuôi sống và phát triển các dịch vụ Dịch vụ lưới cũng tương tự như các dịch vụ Web khác, được xây dựng trên các môi trường trình chủ như J2EE hay NET Những trình chủ này cung cấp mức độ cao của an toàn bảo mật và hầu hết các chức năng an toàn bảo mật đều được đặt trên trình chủ do đó sẽ làm cho việc phát triển đơn giản hơn và cho phép các chức năng được nâng cấp hoàn toàn độc lập với các ứng dụng
Hình dưới đây đưa ra một ví dụ đã được đơn giản hóa của cách thức hoạt động của mô hình OGSA Một yêu cầu xuất phát từ một OGSA client tới một OGSA service Cả client và service đều được chứa trong các trình chủ (để đơn giản một số các chi tiết về quá trình bảo mật như auditing (kiểm định), quá trình chứng nhận client được bỏ qua)
Hình 2- 12: Kiến trúc an toàn bảo mật trong Globus Toolkit
HỆ THỐNG QUẢN LÝ TỔ CHỨC ẢO
TỔ CHỨC ẢO
3.1.1 Khái niệm tổ chức ảo
Các ứng dụng lưới hiện tại có thể khác nhau về số lượng người tham gia, thời gian diễn ra & mức độ các hoạt động trao đổi thông tin, lượng tài nguyên chia sẻ
Song, chúng đều có các điểm tương đồng về các cơ chế chia sẻ và sử dụng tài nguyên:
1/ Ràng buộc tài nguyên chia sẻ: Những người cung cấp tài nguyên, xác định các ràng buộc sử dụng trên chính tài nguyên họ cung cấp Họ có quyền quyết định khi nào, tài nguyên nào sẽ được chia sẻ
2/ Quan hệ chia sẻ: Mối quan hệ giữa các bên tham gia chia sẻ và sử dụng tài nguyên là mối quan hệ ngang hàng, chứ không theo mô hình khách chủ Các tổ chức tham gia, vừa có thể là bên cung cấp, vừa có thể là bên sử dụng
3/ Chính sách chia sẻ động: Sở dĩ gọi là động vì chính sách chia sẻ có thể thay đổi liên tục, phụ thuộc vào quyết định của bên cung cấp tài nguyên Các bên tham gia cần cập nhật liên tục các chính sách này để có phương án sử dụng thích hợp
Nhóm các cá nhân, tổ chức cùng tuân theo các cơ chế chia sẻ và sử dụng tài nguyên như vậy, được gọi là tổ chức ảo (VO – Virtual Organization)
Trong hình 3-1 là ví dụ về 2 tổ chức ảo P và Q Tổ chức ảo Q (bên phải hình vẽ) thực hiện các nghiên cứu về tia, tài nguyên sử dụng là năng lực tính toán của các đơn vị tham gia Tổ chức ảo P có thể sử dụng chương trình B, dữ liệu D của tổ chức thật 3; chương trình A của tổ chức thật 1 Tổ chức ảo Q có thể sử dụng chu kỳ tính toán rảnh rỗi của các tổ chức thật 1và 2 Một số tài nguyên của tổ chức thật có thể tham gia vào cùng nhiều tổ chức ảo như chương trình A và các tài nguyên tính toán trên máy chứa nó (tổ chức thật 2)
Như vậy, tổ chức ảo thực chất là nhóm các cá nhân, đơn vị có cùng phạm vi và chính sách chia sẻ tài nguyên Các thành viên trong cùng VO chỉ được sử dụng các tài nguyên lưới trong phạm vi mà bên cung cấp tài nguyên – Resource Provider (RP) quy định cho VO đó Do đó, khi xem xét dưới góc độ tài nguyên, có thể coi lưới là kết quả của sự hợp tác giữa bên sử dụng - VO và bên cung cấp - RP
3.1.2 Tổ chức ảo và tài nguyên lưới
Vì lưới có nhiều người dùng và nhiều loại tài nguyên nên kéo theo phải quản lý một lượng lớn các thông tin về người dùng và các quyền của họ với tài nguyên Các thông tin này còn được gọi là thông tin phân quyền Các thông tin về phân quyền được chia ra thành hai loại:
• Thông tin v ề ng ườ i dùng trong t ổ ch ứ c ả o :
Các thông tin về tổ chức ảo, nhóm của người dùng trong tổ chức, vai trò của họ trong nhóm và các quyền tương ứng người đó được phép thực hiện
• Thông tin v ề các quy ề n c ủ a ng ườ i dùng v ớ i RP :
Phụ thuộc vào thông tin của người dùng trong VO, các thông tin ở RP sẽ được ánh xạ tương đương
Nhóm các thông tin về người dùng trong tổ chức ảo được quản lý tập trung tại server của VO, nhóm thông tin về quyền của người dùng với RP được lưu tại các tài nguyên được yêu cầu Nhóm thông tin thứ hai được RP tạo ra dựa trên các chính sách sử dụng tài nguyên lưới cục bộ và các thỏa thuận cam kết tài nguyên với VO Các thông tin này được lưu dưới dạng danh sách quản lý các truy cập (Access Control List
- ACL), quyết định việc truy cập tài nguyên có được phép hay không
Dù vai trò của VO và RP là khác nhau trong việc quản lý và sử dụng tài nguyên, nhưng sự phối hợp giữa chúng sẽ quyết định tính nhất quán trong chính sách sử dụng tài nguyên của toàn bộ lưới Điều kiện đầu tiên cho một người dùng muốn tham gia lưới, họ phải là thành viên của một VO nào đó Tổng quát, họ có thể là thành viên của nhiều VO khác nhau
Trong mỗi VO, người dùng lại có các vai trò khác nhau Yêu cầu được đặt ra là: ngay sau khi người dùng đăng nhập, họ có quyền chọn các VO mà họ tham gia Các quyền tương ứng với vai trò của họ trong VO đó phải được xác định ngay sau đó
Về phía RP, căn cứ vào vai trò người dùng lưới trong VO, sẽ ánh xạ họ vào các người dùng địa phương trên máy cục bộ Các quyền của người dùng địa phương phải đảm bảo cho người dùng lưới thực thi được các quyền của họ trong VO Do đó, đảm bảo được tính nhất quán trong chính sách sử dụng tài nguyên của VO nói riêng và toàn bộ lưới nói chung
3.1.3 Thông tin người dùng trong tổ chức ảo
Cấu trúc tổ chức của tổ chức ảo là cấu trúc phân cấp Tổ chức ảo là nhóm lớn nhất Từ nhóm lớn nhất lại chia nhỏ thành các nhóm con trực thuộc Mỗi nhóm có quyền khác nhau trên những tài nguyên lưới mà tổ chức ảo được cấp Tùy theo yêu cầu, người dùng được chia vào các nhóm phù hợp với nhiệm vụ của họ
Mỗi nhóm có một hoặc nhiều người quản trị Có 2 cấp độ quản trị là quản lý nhóm và quản trị toàn bộ VO Ở mức nhóm, các công việc quản trị là quản lý thành viên trong nhóm, xử lý các yêu cầu tham gia nhóm, gán các quyền quản trị cho thành viên trong nhóm Lên tới cấp độ toàn VO, người quản trị có thêm quyền xét duyệt đơn đăng ký tham gia vào VO
Có thể biểu diễn cấu trúc của VO bằng đồ thị có hướng không chu trình
Hình 3- 3: Cây phân cấp VO
HỆ THỐNG QUẢN LÝ TỔ CHỨC ẢO
Dịch vụ thành viên tổ chức ảo VOMS là nỗ lực phát triển chung của hai dự án Lưới dữ liệu Châu Âu - European DataGrid và Atlantic Trải qua hơn 10 năm phát triển, ngày nay VOMS đã được tích hợp sẵn trong Glite và là thành phần không thể tách rời trong mô hình quản lý người dùng lưới theo tổ chức ảo của cộng đồng lưới này
VOMS cho phép quản lý thông tin phân quyền của người dùng trong VO theo thời gian thực Các thông tin phân quyền được lưu bao gồm các thông tin chứng thực, vai trò người dùng và các quyền của họ trong VO VOMS cung cấp thêm các thông tin bổ sung vào giấy phép của người dùng RP sẽ căn cứ vào các thông tin này để phân quyền
Hình 3-4 minh họa các tương tác giữa người dùng với VOMS 2 loại người dùng tương tác với hệ thống là người dùng lưới và người quản trị VO Người dùng lưới đăng ký và xin giấy phép hoạt động với VOMS Người quản trị quản lý VO và
3.2.1.1 Ng ườ i dùng l ướ i v ớ i VOMS
Muốn sử dụng tài nguyên trong lưới, người dùng phải tham gia vào VO có quyền sử dụng tài nguyên đó Việc đầu tiên người dùng cần làm là đăng ký thành viên với người quản trị VO Mỗi người dùng có thể đăng ký với nhiều VO khác nhau Sau khi được chấp nhận, người dùng xin chứng nhận tạm thời (proxy cerfiticate) để có quyền truy cập tài nguyên
Cụ thể, quy trình người dùng xin gia nhập VO như sau:
1/ Người dùng sở hữu chứng chỉ số của CA được VOMS Server tín nhiệm Người dùng truy cập web admin của VOMS Server, cung cấp một số thông tin cá nhân, đồng ý với các điều khoản sử dụng lưới của VO và nộp đơn xin gia nhập
2/ Một email được gửi tới hòm thư của người dùng Người dùng nhận được email, lựa chọn đồng ý tiếp tục quá trình đăng ký
3/ Người dùng chờ quyết định từ VO-Admin xem xét đơn gia nhập VO Một email thông báo sẽ được gửi tới người dùng khi có kết quả xét duyệt của người quản trị VO
Hình 3- 5: Quy trình xin đăng ký dùng lưới tính toán grid-proxy-init là công cụ để cấp phép chứng chỉ số tạm thời cho người dùng lưới Thay vì sử dụng grid-proxy-init, ta sẽ sử dụng voms-proxy-init để xin cấp chứng thực quyền thành viên Giống như công cụ grid-proxy-init, công cụ voms-proxy-init cũng tạo ra chứng chỉ số tạm thời cho người dùng lưới, và gắn thêm các thông tin về phân quyền của người dùng từ VOMS server
Các thông tin này bao gồm giấy ủy quyền của người dùng, của VOMS server và thời hạn của chứng nhận tạm thời Tất cả các thông tin này sau đó đều được xác nhận bằng chữ kỹ số của VOMS server Các chứng nhận do voms-proxy-init sinh ra đều hoạt động tốt với các hệ thống cũ không hỗ trợ VO để đảm bảo tính tương thích ngược
Quy trình người dùng xin chứng chỉ số tạm thời như sau như sau:
1/ Người dùng và VOMS server xác thực lẫn nhau
2/ Người dùng gửi yêu cầu xin chứng thực đến VOMS server
3/ VOMS server xác nhận thành viên & vai trò của người dùng trong VO và kiểm tra lại yêu cầu; sau đó cấp và trả lại cho người dùng các thông tin được yêu cầu
4/ Người dùng kiểm tra các thông tin nhận được
Ngoài các thuộc tính cơ bản của chứng nhận lưới, chứng nhận tạm thời gắn thêm các thuộc tính nhận được từ VOMS server Ngoài ra, người dùng có thể tích hợp thêm các thuộc tính xác thực khác như phương pháp Kerberos, nhãn thời gian…
Sau khi có chứng nhận VO từ VOMS, người dùng gửi các chứng nhận này đến đến RP để sử dụng tài nguyên Để kiểm tra quyền, Gatekeeper bên phía thực thi sẽ tách các thuộc tính bổ sung từ VOMS, kiểm định và xác thực các thuộc tính phân quyền Các thuộc tính này, kết hợp với chính sách sử dụng tài nguyên trước đó giữa
VO và RP, sẽ quyết định các tài nguyên người dùng được phép sử dụng Các thuộc tính này là không bắt buộc, nên các chứng thực do VOMS sinh ra vẫn đảm bảo tính tương thích ngược, tức là làm việc được với các hệ thống không hỗ trợ kiểm tra các thuộc tính về phân quyền
3.2.1.2 Ng ườ i qu ả n tr ị v ớ i VOMS
Người quản trị VOMS được chia ra 2 cấp độ quản trị Ở cấp độ quản lý nhóm, họ quản lý quyền, thành viên của các nhóm con trong VO Ở cấp độ toàn
VO, người quản trị có thêm nhiệm vụ quản lý các đơn gia nhập VO
Cụ thể, người quản trị nhóm có các quyền sau:
Hình 3- 7: Người quản trị nhóm với hệ thống
Người quản trị nhóm phụ trách quản lý người dùng (thêm, xóa, tìm kiếm), quản lý nhóm (thêm, xóa, tìm kiếm, quản lý ACL cho nhóm), quản lý vai trò (thêm, xóa, tìm kiếm), quản lý thành viên (thêm, bớt; gán, gỡ bỏ vai trò của các thành viên) Người quản trị VO thừa kế các quyền quản lý của quản trị nhóm
Hình 3-8: Quản trị nhóm và quản trị VO
Ngoài ra, quản trị VO còn có thêm các quyền quản lý riêng ở cấp độ toàn tổ chức Đó là quản lý đăng ký
Hình 3-9: Quản trị VO và hệ thống
Dựa theo 2 loại tác nhân chính tương tác với hệ thống là người dùng lưới và người quản trị, có thể chia dịch vụ VOMS thành 2 phần chính theo phía người dùng và phía quản trị Phía quản trị bao gồm:
• Server quản trị: xử lý các yêu cầu từ phía máy khách, cập nhật, sửa đổi cơ sở dữ liệu
• Client quản trị: đóng vai trò người quản trị VO ( thêm người dùng, tạo, xóa nhóm, thay đổi vai trò…)
Phía người dùng bao gồm:
• Server người dùng: nhận các yêu cầu từ phía máy khách và trả lại các thông tin về người dùng
DỊCH VỤ TẠO DANH SÁCH TRUY CẬP EDG-MKGRIDMAP
Đối với người dùng mới trên lưới tính toán, sau khi hoàn thành bước đăng ký và được chấp nhận là thành viên của lưới, họ có quyền yêu cầu tài nguyên để thực hiện các bài toán trên lưới Trên các máy thực thi, làm thế nào để có thể nhận biết người dùng lưới này có quyền sử dụng tài nguyên hay không, nếu có thì quyền hạn của họ đến đâu Dịch vụ EDG-MKGRIDMAP là một công cụ cho phép kết nối VO với RP hay là người dùng với tài nguyên
EDG-MKGRIDMAP là một perl script, được phát triển bởi European Datagrid Nhiệm vụ của EDG-MKGRIDMAP (EDG Make Gridmap) là tương tác với các dịch vụ quản lý người dùng ở mức trên như VOMS, LDAP và sinh ra các tệp gridmap theo yêu cầu Cụ thể, EDG-MKGRIDMAP thiết lập kênh thông tin an toàn với VOMS server, sau đó nó lấy các thông tin về người dùng trong VO Trên các máy thực thi, người quản trị tác động vào EDG-MKGRIDMAP chính sách tài nguyên cục bộ của mình Chính sách này dựa trên các thỏa thuận với VO về tài nguyên đóng góp, sẽ quy định các quyền hạn định của người dùng lưới trên tài nguyên của họ
Quy định này được thực thi qua 2 bước Bước thứ nhất là tạo ra các tài khoản cục bộ cần dùng và quy định quyền sử dụng tài nguyên đóng góp cho các tài khoản cục bộ đó Bước tiếp theo là quy định các người dùng trên VO sẽ được gắn vào tài khoản nào Các chính sách sử dụng cục bộ này, kết hợp với danh sách các người dùng trong VO được truy xuất lúc hoạt động sẽ là đầu vào của quá trình tạo ra các tệp ánh xạ gridmap Đầu ra của quá trình được các dịch vụ lưới sử dụng để kiểm tra quyền
Có rất nhiều công cụ giống như EDG-MKGRIDMAP, ví dụ GUMS, nhưng EDG-MKGRIDMAP vẫn được sử dụng rộng rãi và phổ biến Tuy quá trình ánh xạ còn cứng nhắc, không hỗ trợ cơ chế ánh xạ động, nhưng nhờ tính đơn giản, gọn nhẹ, dễ sử dụng; EDG-MKGRDIMAP hiện tại là một dịch vụ không thể tách rời trong cộng đồng lưới LCG/EGEE…
KẾT QUẢ THỬ NGHIỆM
HỆ THỐNG QUẢN LÝ NGƯỜI DÙNG LƯỚI TÍNH TOÁN
Tác giả đã tham gia cùng nhóm nghiên cứu lưới AGP, thuộc trung tâm tính toán hiệu năng cao HPCC (Đại Học Bách Khoa Hà Nội) để thiết kế và xây dựng thành phần bảo vệ cho hệ thống lưới tìm kiếm và so khớp tài liệu điện tử GOODAS (Grid Oriented Online Document Analysing System) GOODAS là một hệ thống lưới phục vụ chia sẻ, tra cứu trong công tác nghiên cứu và giảng dạy và so khớp tài liệu liên trường nhằm phòng chống gian lận
Hệ thống được triển khai thử nghiệm trên hệ thống lưới dữ liệu cục bộ của Trung tâm tính toán hiệu năng cao (Trường Đại học Bách Khoa Hà Nội) Lưới cục bộ bao gồm 10 máy desktop để bàn có cấu hình Pentium D 2.8GHz, bộ nhớ RAM 1,5GB, ổ cứng 80GB Middleware để kết nối các máy trên với nhau là Globus Toolkit 4, version 4.2.1 Hệ điều hành sử dụng Fedora 11 Máy chủ thông tin triển khai VOMS là máy chủ bkluster
An toàn bảo mật cho hệ thống gồm 2 thành phần: quản lý đăng lý lưới và phân quyền trên VO; quản lý người dùng và giấy uỷ nhiệm trên cổng điện tử lưới
Vì vậy, hệ thống thử nghiệm sẽ thiết đặt 1 VOMS Server để quản lý VO và quản trị tham gia lưới Một máy chủ khác sẽ phục vụ cho cổng điện tử lưới, quản lý người dùng và giấy uỷ nhiệm lưới, đồng thời thiết lập kiểm soát truy nhập tài nguyên lưới qua cổng điện tử 10 máy desktop trong lưới dữ liệu sẽ đóng vai trò là các RP, sẽ triển khai dịch vụ ánh xạ
Hướng dẫn chi tiết triển khai dịch vụ quản lý thông tin người dùng VOMS trên cấp độ VO ở máy chủ thông tin Information Server BKLUSTER và dịch vụ ánh xạ EDG-MKGRIDMAP trên 10 máy desktop trong lưới, xem trong phần PHỤ LỤC: CÀI ĐẶT VOMS VÀ EDG-MKGRIDMAP Phần triển khai cổng điện tử và dịch vụ quản lý giấy uỷ nhiệm được trình bày ở các phần sau
4.1.1 Giới thiệu hệ thống GOODAS
Vấn đề quản lý các tài liệu điện tử phân tán trên mạng đặt ra nhiều thách thức như quản lý tài nguyên động, các yêu cầu an toàn bảo mật và chia sẻ Hệ thống GOODAS ra đời, dựa trên việc kết hợp của công nghệ tính toán lưới và mô hình tổ chức ảo, nhằm tạo ra một lưới dữ liệu về chia sẻ và quản lý các tài liệu điện tử phân tán giữa các trường đại học và trên phạm vi quốc gia
Hệ thống GOODAS được xây dựng theo kiến trúc phân tầng, các thành phần đều hướng dịch vụ và phục vụ các yêu cầu cụ thể Các điểm mạnh của hệ thống là tính khả mở, tính thân thiện và duy trì hạ tầng an toàn bảo mật lưới trong suốt với người dùng
Hình 4- 1: Kiến trúc hệ thống GOODAS
- Tầng tài nguyên: là các hệ thống lưu trữ, hệ thống máy tính và hạ tầng mạng có hiệu năng tính toán cao
- Tầng trung gian: bao gồm hạ tầng an toàn bảo mật lưới GSI, các dịch vụ truyền file, sao lưu dữ liệu, khám phá tài nguyên và dịch vụ quản lý giấy uỷ nhiệm
- Tầng dịch vụ ứng dụng: tầng dịch vụ ứng dụng cung cấp các dịch vụ lưới hướng ứng dụng & hướng người dùng, nhằm tận dụng sức mạnh mà hạ tầng lưới mang lại Trong phạm vi hệ thống quản lý tài liệu điện tử, tầng ứng dụng triển khai các dịch vụ tiện ích như quản lý tài liệu, tìm kiếm, đánh chỉ mục, so khớp văn bản
- Tầng trình diễn: chính là cổng điện tử lưới (Cổng điện tử lưới), cung cấp các khả năng truy cập để sử dụng dịch vụ và tài nguyên lưới Cổng điện tử lưới làm trong suốt sự phức tạp của lưới tới người dùng, và là sự lựa chọn cho hầu hết các lưới dữ liệu lớn trên thế giới hiện nay.
Hình 4-2 minh hoạ mô hình triển khai của hệ thống:
Hình 4- 2: Mô hình triển khai hệ thống GOODAS
Người dùng truy cập hệ thống thông qua portal của các trường và thực hiện các yêu cầu như tìm kiếm, so khớp văn bản…Với mỗi yêu cầu của người dùng, site cục bộ sẽ liên hệ với Dịch vụ Giám sát & quản lý thông tin để lấy về thông tin các site khác trên hệ thống & đồng thời gửi các yêu cầu xử lý (như tìm kiếm hay so khớp một văn bản) tới các site đó Sau khi nhận được kết quả từ các site khác, site cục bộ phải tổng hợp kết quả và trả về cho người dùng qua portal Việc tổng hợp kết quả cần phải có các thông tin về dữ liệu mô tả từ các site, được cung cấp bởi Dịch vụ siêu dữ liệu mô tả từ Information Server
4.1.2 Mô hình bảo mật cho GOODAS
Thiết kế mô hình bảo mật cho hệ thống GOODAS phải duy trì an toàn bảo mật cho hạ tầng lưới, nhưng phải bảo đảm tính trong suốt và thân thiện với người dùng Giải pháp được lựa chọn là việc kết hợp giữa quản lý người dùng lưới với quản lý người dùng portal và ứng dụng tổ chức ảo VO
Hình 4- 3: Mô hình bảo mật cho GOODAS
Mô hình bảo vệ thông tin bao gồm các thành phần sau đây:
Nhà cung cấp chứng chỉ số (Online CA): cấp phát và kiểm tra các chứng chỉ số theo chuẩn X509 cho người dùng lưới Có rất nhiều nhà cung cấp chứng chỉ số khác nhau, tuỳ theo mục đích sử dụng và thiết lập hạ tầng an toàn bảo mật của các hệ thống tính toán lưới Nhà cung cấp chứng chỉ My Proxy CA và Simple CA thường được dùng phổ biến trong các lưới nghiên cứu
Dịch vụ quản lý giấy uỷ nhiệm (Credential Management): giải pháp quản lý giấy uỷ nhiệm được sử dụng rộng rãi trong các hệ thống tính toán lưới hiện đại ngày nay Dịch vụ bao gồm kho lưu trữ giấy uỷ nhiệm (Credential Repository) và một nhà chứng thực thẩm quyền trực tuyến (MyProxy CA) để cho phép người dùng lấy lại các giấy uỷ nhiệm lưới khi cần
Hệ thống quản lý tổ chức ảo (VO Management): cung cấp các giấy uỷ nhiệm mở rộng, có thêm các thuộc tính phân quyền của VO cho cổng điện tử lưới
Ngoài ra hệ thống cung cấp một giao diện quản trị riêng cho phép VO đăng ký gia nhập lưới và quản lý các VO qua giao diện web
THÀNH PHẦN QUẢN LÝ TỔ CHỨC ẢO
Thành phần này cho phép phân nhóm người dùng, gán vai trò, xác định quyền truy nhập đến các dịch vụ của hệ thống Ngoài ra mođun còn có chức năng quản lý các tổ chức ảo cho cho phép người dùng đăng ký gia nhập VO
2 loại người dùng chính tương tác với dịch vụ quản lý tổ chức ảo VOMS là
4.2.1.1 Người dùng lưới và VOMS
Người dùng lưới thông qua VOMS để đăng ký gia nhập VO và xin các chứng nhận sử dụng lưới Quy trình đăng ký được thực hiện trên giao diện Website VOMS-Admin Quy trình xin chứng nhận được thực hiện với VOMS client a) Quy trình đăng ký lưới Để có thể đăng ký dùng lưới, người dùng phải có chứng chỉ số được cấp bởi nhà cung cấp chứng chỉ số CA (được VOMS GOODAS tin tưởng) Hiện tại, GOODAS tin tưởng bởi các nhà cung cấp AGP Globus Simple CA và HaNoi CA
Các bước cần thực hiện để gia nhập VO là:
1/ Người dùng sở hữu chứng chỉ số của các CA được VOMS Server tín nhận
Người dùng truy cập web admin của VOMS Server, cung cấp 1 số thông tin cá nhân, đồng ý với các điều khoản sử dụng lưới của VO và nộp đơn xin gia nhập
- Chuẩn bị các chứng chỉ số: cần phải thiết lập hạ tầng an toàn thông tin GSI của Globus Toolkit với các chứng chỉ lưới hợp lệ
Hình 4- 4: Các giấy chứng nhận lưới
- Các chứng nhận định dạng PEM không được trình duyệt hỗ trợ Vì vậy, chuyển chúng sang định dạng được chấp nhận pkcs12
$openssl pkcs12 -export -in usercert.pem -inkey userkey.pem -out usercert.p12 Enter Export Password:
- Người dùng nhập các chứng nhận định dạng pkcs12 vào trình duyệt
- Truy cập VOMS-Admin GOODAS tại địa chỉ: https://bkluster.hut.edu.vn:9443/voms/GOODAS, cung cấp các thông tin cần thiết Đầu tiên, người dùng xác thực chứng nhận của GOODAS VOMS Server
GOODAS VOMS server xác thực lại chứng nhận của người dùng
Sau khi quá trình xác thực lẫn nhau thành công, người dùng đến trang đăng ký và điền đầy đủ các thông tin
2/ Một email được gửi tới hòm thư của người dùng Người dùng nhận được email, lựa chọn đồng ý tiếp tục quá trình đăng ký
- Thông báo đã gửi email xác nhận tới cho người dùng
Hình 4- 5: Chờ đơn xét duyệt của người quản trị VO
3/ Người dùng chờ quyết định từ VO-Admin xem xét đơn gia nhập VO Một email thông báo sẽ được gửi tới người dùng khi có kết quả xét duyệt của người quản trị VO
- Người quản trị nhận được thông báo có đơn gia nhập VO mới
- Người quản trị tiến hành xét duyệt đơn đăng ký
Hình 4- 7: Người quản trị duyệt đơn đăng ký
- Dù được người quản trị VO đồng ý hay chấp nhận, một email sẽ được thông báo cho người dùng b) Quy trình xin chứng nhận sử dụng lưới
Sau khi hoàn tất quá trình đăng ký, người dùng lưới cài đặt VOMS client cho các máy trong lưới của mình Sau khi cài đặt thành công, người dùng tiến hành xin giấy chứng nhận sử dụng lưới Quy trình xin giấy chứng nhận sử dụng lưới như sau:
1/ Người dùng gửi yêu cầu xin chứng thực đến VOMS server
2/ VOMS server xác nhận thành viên & vai trò của người dùng trong VO và kiểm tra lại yêu cầu; sau đó cấp và trả lại cho người dùng các thông tin được yêu cầu
Người dùng kiểm tra các thông tin nhận được
4.2.1.2 Người quản trị và VOMS
Có 2 cấp độ người quản trị trong VO Đó là cấp quản lý nhóm và cấp quản trị toàn VO Người quản trị nhóm phụ trách quản lý người dùng (thêm, xóa, tìm kiếm), quản lý nhóm (thêm, xóa, tìm kiếm, quản lý ACL cho nhóm), quản lý vai trò (thêm, xóa, tìm kiếm), quản lý thành viên (thêm, bớt; gán, gỡ bỏ vai trò của các thành viên) Người quản trị VO thừa kế các quyền quản lý của quản trị nhóm Ngoài ra, họ có thêm quyền xét duyệt đăng ký cho người dùng vào VO a) Quản lý người dùng
Hình 5: Liệt kê các người dùng trong VO
Hình 4- 8: Quản lý email cá nhân và thông tin thành viên của người dùng b) Quản lý nhóm
Hình 4- 9: Liệt kê các nhóm trong VO
- Chi tiết nhóm: Quản lý danh sách điều khiển truy nhập (ACL) và các thành viên trong nhóm
- Thêm mới ACL cho nhóm
Hình 4- 12: Thêm ACL cho nhóm
Hình 4- 13: Tìm kiếm nhóm c) Quản lý chức năng của hệ thống
- Liệt kê các chức năng
Hệ thống lưới phân tích tài liệu trực tuyến GOODAS có các chức năng: quản trị, giảng viên và các thành viên
Hình 4- 15: Tạo mới chức năng
Hình 4- 16: Tìm kiếm chức năng
- Xóa chức năng d) Quản lý đăng ký
- Duyệt các đơn đăng ký chưa được xử lý
Hình 4- 17: Người quản trị duyệt các đơn đăng ký chưa xử lý
- Chi tiết người dùng đăng ký
- Các đơn đăng ký đã duyệt
Hình 4- 19: Các đơn đăng ký đã duyệt e) Quản lý cấu hình
- Thông tin cấu hình của VO
Hình 4- 20: Thông tin cấu hình của VO
- Thực thi edg-mkgridmap lần đầu tiên:
/opt/edg/sbin/edg-mkgridmap output=/etc/grid-security/grid-mapfile
- Các lần tiếp theo, thêm edg-mkgridmap vào danh sách các công việc chạy tự động Dưới tài khoản root của máy thực thi, sử dụng crontab -e và thêm các tham số thiết lập “cron job” vào crontab:
41 3,9,15,21 * * * /opt/edg/sbin/edg-mkgridmap output=/etc/grid-security/grid- mapfile >> /opt/edg/log/edg-mkgridmap.log 2>&1
THÀNH PHẦN QUẢN LÝ GIẤY UỶ NHIỆM
Thành phần này thiết lập các kiểm soát truy nhập dịch vụ và tài nguyên lưới thông qua giấy uỷ nhiệm lưới theo chuẩn X509 Người dùng qua cổng điện lưới chỉ có thể truy nhập tài nguyên khi có giấy uỷ nhiệm hợp lệ Thành phần còn có chức năng quản lý các giấy uỷ nhiệm lưới như thêm mới, gia hạn, gỡ bỏ cho từng người dùng trên cổng điện tử lưới
Cổng điện tử lưới được hiểu là cổng kết nối giữa người dùng với các dịch vụ lưới ở tầng dưới So với các ứng dụng dựa trên Web thông thường, cổng điện tử lưới ưu việt hơn nhờ khả năng tùy biến môi trường người sử dụng, cho phép tách biệt các thành phần nghiệp vụ từ máy chủ ứng dụng và tái sử dụng các thành phần của Web Chính nhờ khả năng này, Cổng điện tử lưới đã trở thành sử lựa chọn phổ biến cho các nhà phát triển ứng dụng lưới
Hình 4-21: Cổng điện tử lưới
Trên đây là mô hình truy nhập dịch vụ lưới từ cổng điện tử lưới Người dùng sẽ đăng nhập vào cổng điện tử lưới với tài khoản của mình, đưa ra các đặc tả công việc, các yêu cầu sẽ được chuyển xuống các dịch vụ lưới, phân bổ xuống các tài nguyên lưới để thực hiện, và cuối cùng trả về kết quả cho người dùng trên giao diện Web Tuy nhiên, khi xây dựng các cổng giao diện lưới, nảy sinh một số yêu cầu bảo mật sau:
Người sử dụng phải có một trình duyệt Web chuẩn để tiếp cận các Cổng điện tử lưới
Người sử dụng vẫn có thể truy nhập từ những nơi mà những nơi mà giấy ủy nhiệm Grid là không có sẵn đối với họ
Người sử dụng có thể làm bất cứ điều gì thông qua Cổng điện tử lưới mà giấy ủy nhiệm có thể cho phép họ làm
4.3.1 Mô hình uỷ quyền truy nhập trên cổng điện tử lưới
Việc truy xuất giấy uỷ nhiệm lưới và uỷ quyền truy nhập lưới cho các cổng điện tử được thể hiện như hình vẽ:
Hình 4-22: Mô hình uỷ quyền truy nhập trên cổng điện tử lưới
(1) Người dùng có thể kết nối với cổng điện tử lưới sử dụng trình duyệt Web và cung cấp các thông tin chứng thực đã đưa ra trước đây tới kho lưu trữ thông qua các form trên web hay các giao diện đơn giản Người sử dụng có thể xác định một kho lưu trữ MyProxy cho cổng điện tử để sử dụng, nếu có nhiều hơn một kho
(2) Cổng điện tử sử dụng các thông tin đăng nhập (định danh và mật khẩu) của người dùng yêu cầu lấy giấy ủy nhiệm từ kho lưu trữ
(3) Khi thông tin đăng nhập là hợp lệ, MyProxy sẽ gửi lại cho cổng điện tử lưới một giấy ủy nhiệm của người dùng Khi ấy cổng điện tử có thể thay mặt người dùng tiếp cận an toàn tới các dịch vụ lưới
Hành động logout ra khỏi cổng điện tử sẽ xóa giấy ủy quyền của người dùng trên portal Khi người dùng quên logout, giấy chứng nhận sẽ mãn hạn tại một thời điểm nhất định khi yêu cầu từ dịch vụ MyProxy.Thời gian sống thường là khoảng vài giờ Quá trình này có thể lặp lại nhiều lần, khi người dùng đòi hỏi, cho tới khi giấy ủy quyền giữ bởi MyProxy mãn hạn Tại thời điểm này, người sử dụng cần chạy chương trình myproxy-init từ vị trí nơi các giấy chứng nhận có sẵn và ủy nhiệm tập mới các giấy ủy quyền tới kho lưu trữ Thời gian lớn nhất của giấy ủy
4.3.3 Dịch vụ quản lý giấy uỷ nhiệm
Dịch vụ này giúp cho người dùng có thể truy nhập các dịch vụ lưới hỗ trợ bảo mật GSI một cách dễ dàng, có thể đăng nhập một lần hay ủy quyền cho cổng điện tử lưới thực hiện các công việc trên lưới
Một số chức năng của dịch vụ như sau:
- Xác thực người dùng lưới: Dịch vụ có cơ chế kiểm tra tính hợp lệ của người dùng, bảo đảm người dùng phải có một giấy ủy nhiệm X509 còn thời hạn khi sử dụng các dịch vụ cài đặt bảo mật GSI Nếu không hợp lệ, người dùng phải quay lại màn hình đăng nhập xin cấp giấy ủy nhiệm từ dịch vụ
- Quản lý vòng đời: Dịch vụ có khả năng cập nhật động thời gian sống của giấy ủy nhiệm, một khoảng thời gian nhất định, giấy ủy nhiệm sẽ tự hủy nếu người dùng quên (bỏ) kích hoạt nó
- Cấp lại giấy ủy nhiệm: Do giấy ủy nhiệm cho người dùng có thời gian sống là hạn chế, khi người dùng sử dụng một dịch vụ tính toán nào đó với bộ dữ liệu lớn, thời gian xử lý lâu thì dịch vụ bảo mật phải có cơ chế làm tươi lại giấy ủy nhiệm, không làm ảnh hưởng tới công việc của người trên lưới
- Quản lý kho lưu trữ: Rõ ràng hệ thống lưu trữ rất nhiều giấy ủy nhiệm người dùng để ủy quyền lên portal, nên việc quản lý kho lưu trữ là rất quan trọng Các giấy ủy nhiệm người dùng được mã hóa trong kho lưu trữ, để cho dù kho lưu trữ có bị tổn thương, kẻ địch vẫn phải mất một thời gian để giải mã, và khi đó giấy ủy nhiệm người dùng có thể sẽ hết hạn Dịch vụ cung cấp khả năng cho phép người dùng lựa chọn các hệ thống kho lưu trữ trên các miền phân tán khác nhau về mặt địa lý qua công nghệ phân tán của dịch vụ lưới
- Quản lý giấy ủy nhiệm đa người dùng: người dùng có thể có nhiều giấy chứng nhận khác nhau, từ các nhà thẩm quyền CA khác nhau Dịch vụ cung cấp khả năng lưu trữ tất cả các giấy chứng nhận của người dùng, đưa thông tin về công việc người dùng muốn thực hiện, lựa chọn giấy ủy nhiệm đúng đắn cho mỗi phần việc, sau đó trả lại giấy ủy nhiệm cho người dùng
Dịch vụ được xây dựng dựa trên các nền tảng:
- Globus Toolkit: đây là bộ công cụ nền tảng để phát triển lưới, với chuẩn mở xây dựng các dịch vụ lưới OGSA và hạ tầng bảo mật GSI
- SimpleCA: nhà thẩm quyền cung cấp các giấy ủy nhiệm lưới, là nền tảng trong cấu hình bảo mật GSI
- Gridsphere Portal: cổng điện tử chuẩn mở, kết hợp giữa hai công nghệ Web và
Grid, tạo nên một nền tảng cho cả người sử dụng và các nhà phát triển lưới Đã có rất nhiều dự án đã và đang phát triển trên nền tảng Gridsphere như HPC Europa, D-Grid, P-Grade, BIRN, Telescience, Australian Virtual Observatory,
- MyProxy: máy chủ để lưu trữ các giấy ủy nhiệm trực tuyến
- Java Cog Kit: là bộ cung cụ phát triển lưới, ánh xạ giữa công nghệ Java và
Globus Toolkit, cho phép các nhà phát triển xây dựng các ứng dụng lưới bằng ngôn ngữ Java
Dưới đây là mô tả các thể hiện của dịch vụ trên nền tảng Gridsphere:
- Quản lý người dùng lưới
- Quản lý giấy uỷ nhiệm lưới:
- Các quyền cho các giao dịch truyền file có hỗ trợ GSI:
- Đệ trình các công việc trên lưới:
4.4 MỘT SỐ HẠN CHẾ CỦA VOMS
Hai dịch vụ chính của hệ thống quản lý tổ chức ảo là dịch vụ VOMS và dịch vụ EDG-MKGRIDMAP Hai dịch vụ ăn khớp, phối hợp tốt với nhau trong hệ thống quản lý người dùng lưới nói chung nên rất phù hợp khi vận dụng vào môi trường lưới của hệ thống liên thư viện GOODAS Trong đó, dịch vụ VOMS là một dịch vụ mã nguồn mở Từ đó, luận văn đóng góp thêm phần thiết kế đa ngôn ngữ cho giao diện quản trị của VOMS-Admin, giúp cho quy trình quản lý thân thiện hơn nhiều người dùng
Tuy nhiên, hệ thống quản lý tổ chức ảo vẫn còn nhiều vấn đề Dịch vụ phụ trách quản lý thông tin người dùng trên cấp độ VO và dịch vụ ánh xạ người dùng trên cấp độ RP vẫn còn có các hạn chế cơ bản của nó