Upload
xi-trum
View
150
Download
0
Embed Size (px)
Citation preview
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
---------------------------
BÁO CÁO BÀI TẬP LỚN
MÔN TÍNH TOÁN LƯỚI
ĐỀ SỐ 1:
TÌM HIỂU VỀ CƠ CHẾ BẢO MẬT CỦA GRID
COMPUTING
Giảng viên hướng dẫn: TS. Huỳnh Công Pháp
Thực hiên : Bùi Đức Thọ
Nguyễn Thị Vui
Lớp : Khoa học máy tính K23
Đà Nẵng, tháng 09 năm 2011Đà Nẵng, tháng 09 năm 2011Đà Nẵng, tháng 09 năm 2011Đà Nẵng, tháng 09 năm 2011Đà Nẵng, tháng 09 năm 2011
Đà Nẵng, tháng 05 năm 2012
MỤC LỤC
LỜI MỞ ĐẦU....................................................................................................................4
CHƯƠNG 1 TỔNG QUAN VỀ GRID COMPUTING..................................................5
1. Grid computing là gì?.............................................................................................5
2. Lợi ích của Grid computing...................................................................................6
2.1 Khai thác tài nguyên xử lý..............................................................................6
2.2 Khả năng xử lý song song...............................................................................6
2.3 Sự cộng tác các tài nguyên tổ chức ảo...........................................................7
2.4 Sự truy cập các tài nguyên khác....................................................................8
2.5 Cân bằng tài nguyên.......................................................................................9
2.6 Độ tin cậy........................................................................................................10
2.7 Khả năng quản lý..........................................................................................11
3. Các thành phần của Grid.....................................................................................12
3.1 Thành phần quản lý......................................................................................12
3.2 Thành phần donor.........................................................................................13
3.3 Phần mềm đệ trình........................................................................................14
3.4 Quản lý phân tán...........................................................................................14
3.5 Bộ lập lịch.......................................................................................................14
3.6 Các thành phần truyền thông......................................................................15
3.7 Các thành phần quản lý, theo dõi và đo lường...........................................15
CHƯƠNG 2 CƠ CHẾ BẢO MẬT TRONG GRID COMPUTING............................16
1. Những thách thức cho tính toán lưới..................................................................16
2. Những yêu cầu an ninh trong hệ thống tính toán lưới......................................19
2.1 Tích hợp.........................................................................................................19
2.2 Khả năng cộng tác.........................................................................................19
2.3 Mối quan hệ tin cậy.......................................................................................20
3. Bảo mật của hệ thống tính toán lưới...................................................................20
4. Bảo mật thông tin.................................................................................................21
4.1 Hệ mã khóa bí mật........................................................................................21
4.2 Hệ mã khóa công khai...................................................................................22
5. Mô hình bảo mật trong Grid...............................................................................22
5.1 Binding Security............................................................................................23
5.2 Policy expression and Exchange..................................................................23
5.3 Secure Association.........................................................................................23
5.4 Authorization Enforcement..........................................................................24
5.5 Identity and Credential Mapping/Translation...........................................24
5.6 Secure Logging..............................................................................................24
5.7 Management of Security...............................................................................25
6. Cơ sở hạ tầng bảo mật lưới..................................................................................25
6.1 Cơ chế xác thực GSI......................................................................................25
6.2 Authentication và authorization..................................................................26
6.3 Cơ chế uỷ quyền (delegation).......................................................................27
6.4 Thiết lập giao tiếp an toàn giữa Client và Service......................................30
6.5 Các mô hình bảo mật Grid trong các phiên bản Globus Toolkit.............35
6.6 Bảo mật trong cơ sở kiến trúc hệ thống của Grid......................................38
KẾT LUẬN.......................................................................................................................39
1. Kết quả đạt được..................................................................................................39
2. Hạn chế..................................................................................................................39
3. Hướng phát triển..................................................................................................39
TÀI LIỆU THAM KHẢO...............................................................................................40
Báo cáo bài tập lớn môn Tính toán lưới
LỜI MỞ ĐẦU
Trong vài năm trở lại đây tính toán mạng lưới (Grid computing) đã phát triển
mạnh mẽ, mở ra các giải pháp mới cho các ứng dụng đòi hỏi khả năng tính toán lớn. Grid
computing có thể được sử dụng cho các bài toán nghiên cứu về sinh học, y học, vật lí,
hóa học…cũng như các ứng dụng trong phân tích và đánh giá tài chính, khai phá dữ liệu,
các ứng dụng trong chính phủ điện tử và rất nhiều các loại ứng dụng khác.
Trong báo cáo này, chúng tôi trình bày một cách tổng quan về công nghệ Grid
computing như ưu nhược điểm, các mô hình kiến trúc và công nghệ liên quan. Trên cơ sở
đó đi sâu vào tìm hiểu các cơ chế bảo mật của Grid Computing.
Báo cáo này gồm có các chương như sau:
Chương 1: Tổng quan về Grid Computing.
Chương 2: Tìm hiểu các cơ chế bảo mật trong Grid Computing.
Trang 4
Báo cáo bài tập lớn môn Tính toán lưới
CHƯƠNG 1 TỔNG QUAN VỀ GRID COMPUTING
1. Grid computing là gì?
Có nhiều cách khác nhau để định nghĩa thế nào là Mạng tính toán lưới (Grid
Computing). Để có thể hình dung Grid Computing là gì, chúng ta có thể tưởng tượng nó
như một mạng lưới điện mà mọi người chỉ cần cắm phích điện vào để sử dụng mà không
cần biết nguồn điện từ đâu đến.Tương tự như vậy, trong Grid Computing, một người
dùng nào đó có thể truy nhập vào các tài nguyên (bao gồm: bộ xử lý, ổ lưu trữ, dữ liệu...)
mà không cần biết các tài nguyên này nằm ở đâu, chúng dùng công nghệ gì, cấu hình
phần cứng như thế nào,.v.v.
Grid computing đã phải trải qua nhiều công đoạn hợp nhất các công nghệ và giải
pháp để đạt được thành quả như hiện nay.Nhân tố cơ bản của Grid là công nghệ phân tán
các thiết bị tính toán.Với công nghệ này, ta có thể chia sẻ tài nguyên và liên kết các tổ
chức lại với nhau.Đây còn gọi là công nghệ ảo hóa. Để có được một môi trường hỗn hợp
có thể chia sẻ tài nguyên, ngoài công nghệ ảo hóa, Grid còn dùng các công nghệ khác
trong các lĩnh vực lập lịch, tài chính, bảo mật,.v.v.
Sự ảo hóa trong môi trường grid có nhiều cấp độ khác nhau. Mỗi cấp độ phụ thuộc
vào phạm vivà tính đồng nhất của tổ chức. Hình 1 mô tả từng cấp độ của sự ảo hóa từ
đơn giản đến phức tạp khi đi theo chiều từ trái sang phải. Ở hình trái nhất là tổ chức đồng
nhất, đơn tài nguyên. Tài nguyên ở đây có thể là CPU, ổ lưu trữ,các thiết bị và chương
trình. Tiếp đến là hệ thống hỗn hợp gồm nhiều tài nguyên khác nhau. Cấp độ ảo hóa phức
tạp hơn là ảo hóa trong một xí nghiệp. Hình bên phải là mức độ ảo hóa cao nhất với phạm
vi trên toàn mạng Internet, bao gồm các đa tổ chức hỗn hợp.
Trang 5
Báo cáo bài tập lớn môn Tính toán lưới
Hình 1: Sự ảo hóa với nhiều cấp độ
2. Lợi ích của Grid computing
2.1 Khai thác tài nguyên xử lý
Một trong những tính năng cơ bản của tính toán mạng lưới là khả năng chạy một
chương trình trên nhiều máy tính khác nhau. Trong một mạng lưới bao gồm nhiều máy
tính, có một số máy ở trạng thái bận do khối lượng công việc lớn, một số khác ở trạng
thái rỗi do khối lượng công việc nhỏ.
Trong hầu hết các tổ chức, luôn có những khối lượng lớn những tài nguyên dùng để
tính toán.Trung bình mỗi ngày, mỗi máy tính có thời gian trung ở trạng thái thái bận là
5%. Điều đó chứng tỏ khối lượng tài nguyên rỗi trong một mạng là rất lớn. Grid cung cấp
một khung làm việc (framework) để tận dụng những tài nguyên này và vì thế có thể tăng
hiệu quả trong việc sử dụng các tài nguyên.
Ngoài tài nguyên xử lý, tài nguyên lưu trữ cũng được sử dụng hiệu quả hơn nhờ
Grid computing. Grid tận dụng các dung lượng đĩa cứng còn trống trong các máy tính để
tập hợp thành một tài nguyên lưu trữ ảo trong mạng.
2.2 Khả năng xử lý song song
Khả năng kết hợp nhiều CPU cùng xử lý song song là một tính năng hấp dẫn của
Grid computing. Các chương trình chạy trên môi trường Grid sử dụng các thuật toán để
Trang 6
Báo cáo bài tập lớn môn Tính toán lưới
phân chia công việc xử lý thành nhiều thành phần độc lập. Mỗi CPU trên mỗi máy tính
trong mạng đảm nhận việc xử lý một hay nhiều thành phần đó. Tính độc lập của các
thành phần càng cao thì chương trình càng dễ dàng được mở rộng trên phạm vi mạng lưới
nhiều máy tính hơn. Một mạng lưới được gọi là hoàn hảo nếu với mười máy tính, tốc độ
xử lý của mạng tăng lên gấp mười.Tuy nhiên, trên thực tế không có mạng lưới hoàn hảo.
Có hai lí do chính để mạng lưới trên thực tế không thể trở thành hoàn hảo.
Thứ nhất là: việc sử dụng thuật toán phân chia công việc ảnh hưởng lớn đến
hiệu năng tính toán chung của mạng.
Thứ hai là: các thành phần của công việc không hoàn toàn độc lập với nhau.
Không phải ứng dụng nào cũng có thể chuyển đổi để Grid có thể xử lý song song.
Hơn nữa, không có một công cụ nào có thể chuyển đổi một ứng dụng bất kỳ sang dạng
chạy song song trên grid. Khả năng xử lý song song của một chương trình trên mạng lưới
phụ thuộc vào người thiết kế và đó không phải là công việc đơn giản.
2.3 Sự cộng tác các tài nguyên tổ chức ảo
Một khả năng khác của grid computing là tạo nên môi trường cộng tác rộng lớn, đồng
nhất. Mỗi môi trường đó được gọi là một tổ chức ảo. Grid computing thậm chí có khả
năng tạo nên một môi trường rộng lớn hơn bằng cách kết hợp các tổ chức ảo, không đồng
nhất với nhau để cùng cộng tác với nhau. Hình 2 mô tả môi trường không đồng nhất đó.
Mỗi người sử dụng mạng lưới được phân bổ vào một tổ chức ảo nào đó. Các tổ chức ảo
này có thể chia sẻ tài nguyên với nhau như một mạng lưới lớn.
Chia sẻ tài nguyên bắt đầu với dữ liệu dạng tệp hay cơ sở dữ liệu. Lưới dữ liệu có thể
mở rộng dữ liệu theo nhiều cách khác nhau. Đầu tiên, tệp hay cơ sở dữ liệu có thể được
trải rộng trên nhiều hệ thống tạo nên dung lượng lớn hơn rất nhiều so với hệ thống đơn.
Cách trải dữ liệu này có thể tăng tốc độ truyền dữ liệu với công nghệ striping. Dữ liệu
thường xuyên được sao lưu phục vụ cho việc khôi phục dữ liệu.
Ngoài việc chia sẻ tài nguyên là các tệp và cơ sở dữ liệu, ta có thể chia sẻ nhiều tài
nguyên khác, như các thiết bị chuyên dụng, phần mềm, dịch vụ, ...Những tài nguyên này
được “ảo hóa” để giữ chúng đồng bộ trong một hệ thống mạng luới không đồng nhất. Các
tài nguyên đó gọi là các tài nguyên ảo.
Trang 7
Báo cáo bài tập lớn môn Tính toán lưới
Những người tham gia hay sử dụng grid là một thành viên trong một tổ chức nào đó.
Grid có thể yêu cầu người dùng đó tuân thủ các luật lệ, quyền hạn sử dụng, từ đó có thể
giải quyết được các vấn đềvề ưu tiên, bảo mật,...
Hình 2: Mạng grid ảo không đồng nhất
2.4 Sự truy cập các tài nguyên khác
Ngoài CPU và tài nguyên lưu trữ, Grid còn có thể truy nhập đến những tài nguyên
khác. Các tài nguyên này có thể được cung cấp dưới dạng số lượng hoặc khả năng lưu
trữ, băng thông. Ví dụ, nếu một người muốn tăng băng thông truy nhập Internet để thực
hiện việc khai thác dữ liệu tìm kiếm, công việc này có thể phân chia giữa các máy trong
mạng grid có đường truyền Internet không phụ thuộc nhau. Trong trường hợp này, khả
năng tìm kiếm được nhân lên, khi mỗi máy có đường truyền riêng biệt. Nếu các máy chia
sẻ đường kết nối Internet, thì nó sẽ không tăng băng thông.
Trong một mạng lưới, một số máy tính nào có thể được cài đặt những phần mềm đắt
tiền, có bản quyền mà một máy khác không có. Người sử dụng máy tính không cài đặt
phần mềm đó có thể sử dụng phần mềm này bằng cách gửi công việc đến máy tính được
cài phần mềm để yêu cầu xử lý. Đó là khả năng tận dụng phần mềm của Grid.
Một vài máy tính có thể có những thiết bị đặc biệt, chẳng hạn như máy in. Hầu hết
các máy in được sử dụng từ xa. Grid có thể chia sẽ được những thiết bị đặc biệt này.
Trang 8
Báo cáo bài tập lớn môn Tính toán lưới
Thậm chí grid có thể chia sẻ những thiết bị, tài nguyên phức tạp như máy chuẩn đoán
bệnh hay robot hỗ trợ phẫu thuật.
2.5 Cân bằng tài nguyên
Grid liên kết các tài nguyên từ nhiều máy khác nhau tạo thành một hệ thống duy
nhất. Grid có thể thực hiện cân bằng tài nguyên trong các chương trình bằng cách lập lịch
làm việc cho các công việc, như hình 3 dưới đây. Chức năng này có ý nghĩa rất lớn trong
việc xử lý các trường hợp quá tải về xử lý, tính toán trong một tổ chức. Chức năng cân
bằng có thể được thực theo 2 cách sau:
Những điểm quá tải được đưa đến những máy rỗi trên mạng lưới.
Nếu toàn mạng grid đã bận, những công việc có độ ưu tiên thấp được tạm
ngừng nhường cho những công việc khác có độ ưu tiên cao.
Đôi khi có những công việc đột ngột được tăng độ ưu tiên do cần hoàn thành gấp.
Grid không thể xử lý được những công việc cần hoàn thành quá gấp.Tuy nhiên grid có
thể phân chia nó thành nhiều công việc nhỏ và huy động một lượng lớn tài nguyên để xử
lý nó một cách nhanh nhất.
Hình 3: Chia sẻ công việc trong mạng
Một lợi ích khác khi dùng grid là cân bằng tải. Khi một công việc liên lạc với một
công việc khác, với Internet, hoặc các tài nguyên khác, Grid có thể lập lịch cho chúng để
Trang 9
Báo cáo bài tập lớn môn Tính toán lưới
có thể giảm thiểu tối đa lưu lượng đường truyền cũng như khoảng cách truyền. Điều này
giúp Grid có thể giảm thiểu tắc nghẽn mạng.
Cuối cùng, Grid còn có khả năng thương mại tài nguyên. Các trạng thái của tất cả
các tài nguyên trong mạng được Grid quản lý. Các tổ chức trên grid có thể tạo tài khoản
và trả tiền để sử dụng các tài nguyên này khi cần thiết. Điều này tạo nên tài chính mạng
lưới.
2.6 Độ tin cậy
Những hệ thống tính toán mạnh sử dụng phần cứng đắt tiền để tăng độ tin cậy.
Chúng sử dụng bộ xử lý kép để khi hỏng hóc có thể thay thế bộ xử lý thứ hai mà không
cần tắt hệ thống. Các nguồn và hệ thống làm mát cũng đều được nhân bản. Hệ thống còn
sử dụng một nguồn đặc biệt có thể phát điện khi nguồn điện bị mất. Tất cả chúng tạo nên
một hệ thống tin cậy, tuy nhiên, giá thành cho hệ thống này rất cao.
Trong tương lại, một mạng lưới có thể có khả năng thay thế một hệ thống đáng tin cậy
như thế. Grid mới chỉ bắt đầu công nghệ này. Mô hình máy chủ đáng tin cậy sử dụng
Grid có thể được mô tả như sau. Một mạng lưới gồm nhiều máy tính được phân bố khắp
nới. Do đó, khi có một sự cố tại một nốt mạng nào đó trên mạng lưới, các điểm khác sẽ
không bị ảnh hưởng. Khi một máy tính bị hỏng hóc, phần mềm quản lý trong Grid có thể
tự động chuyển công việc xử lý từ máy này đến một máy nào đó trong mạng. Trong
trường hợp quan trọng, nhiều bản sao của công việc được tạo ra và được chuyển đến
nhiều máy khác nhau trên mạng lưới như hình 4 dưới đây.
Trang 10
Báo cáo bài tập lớn môn Tính toán lưới
Hình 4: Các bản sao của công việc
Những hệ thống grid như thế sẽ tạo nên khả năng tính toán tự động. Nó là một dạng
phần mềm có khả năng tự sửa lỗi trên grid, trước khi thông báo cho bộ xử lý hay người
quản lý biết. Về nguyên tắc, hầu hết những hệ thống tin cậy đắt tiền ngày nay dựa vào
phần cứng hoàn toàn cũng có thể dùng phần mềm để tạo nên sự tin cậy đó.
2.7 Khả năng quản lý
Việc ảo hóa tài nguyên và nhiều hệ thống hỗn hợp được tạo ra trên grid sẽ tạo nên
quy mô rộng hơn, các thiết bị được phân phối nhiều hơn. Nó làm cho các nhà doanh
nghiệp dễ dàng quản lý chi phí và tài nguyên tính toán trên phạm vi lớn.
Grid quản lý độ ưu tiên giữa các dự án. Trước đây, mỗi dự án quản lý riêng tài
nguyên và chi phí của nó. Có thể những tài nguyên đang rỗi trong khi các dự án khác gặp
sự cố, cần thêm những tài nguyên khác. Với tầm nhìn bao quát, grid có thể giải quyết dễ
dàng tình huống này. Trong hình 5, nhà quản lý có thể thay đổi các quyền hạn với tài
nguyên để các tổ chức khác có thể chia sẻ hay sử dụng.
Trang 11
Báo cáo bài tập lớn môn Tính toán lưới
Hình 5: Các nhà quản trị có thể điều chỉnh chính sách thích hợp với tài nguyên
3. Các thành phần của Grid
3.1 Thành phần quản lý
Bất kì một lưới nào cũng cần có một thành phần quản lý. Trước hết, thành phần này
theo dõi các tài nguyên đang sẵn dùng và thành viên nào đang có mặt trong hệ thống. Các
thông tin này rất quan trọng trong việc gán công việc cho máy nào trong lưới.
Tiếp đó là thành phần đo lường xác định dung lượng của từng nút mạng và tỉ lệ tài
nguyên được sử dụng tại một thời điểm bất kì. Điều này là cơ sở cho việc lập lịch cho các
tiến trình lưới. Nó cũng cho thấy tình trạng của lưới, cảnh báo tới người sử dụng về khả
năng có thể xảy ra thất bại do thiếu tài nguyên, đụng độ hay các nguyên nhân khác. Một
thủ tục khác cũng cần đến các thông tin này là các thống kê về sử dụng hệ thống, việc chi
trả cho hệ thống khi chạy các phần mềm trên lưới.
Trang 12
Báo cáo bài tập lớn môn Tính toán lưới
3.2 Thành phần donor
Mỗi máy tính thành viên đóng góp tài nguyên vào hệ thống đều cần có quá trình
đăng nhập trước khi được xem như một thành viên chính thức. Thường thì sẽ có các thủ
tục định danh và thẩm quyền để thực hiện, các thủ tục này sẽ giúp tạo lập một tài khoản
cho máy thành viên cũng như người chủ của máy đó.
Một số hệ thống lưới tự động đăng nhập trong khi một số khác sử dụng ngay việc
đăng nhập vào hệ điều hành trên máy địa phương. Trong kiểu thứ hai, hệ thống đối chiếu
định danh người dùng sẽ quyết định quyền của người sử dụng đối với các máy khác nhau
trong hệ thống lưới. Những quyền hạn này thường được quyết định bởi người quản trị hệ
thống. Anh ta sẽ lập ra CSDL về người dùng và cả vào nơi được bảo vệ cẩn mật.
Trong một số hệ thống lưới, người ta không có một cơ chế định danh hay thẩm quyền
nào, và người dùng nào cũng có thể đệ trình công việc để thực hiện trên lưới. Các hệ
thống như vậy có ưu điểm là dễ cài đặt, các phần mềm không phức tạp.Tuy vậy, khi quy
mô của hệ thống được mở rộng thì điều này là cực kì nguy hiểm bởi nó sẽ dễ dàng bị
hacker tấn công và hậu quả thật khó lường trước.
Hệ thống lưới có khả năng thông báo tới tất cả các máy thành viên rằng có một tài
nguyên mới được kết nối vào hệ thống. Máy đệ trình phải tiến hành một số các hoạt động
theo dõi, đo lường tỉ lệ tài nguyên được sử dụng trên một máy, máy nào ở trạng thái nghỉ,
…Các thông tin này được truyền đến hệ thống quản lý lưới phục vụ cho công việc lập
lịch sau này.
Vấn đề quan trọng nhất vẫn là khả năng tiếp nhận công việc và thực hiện công việc
của một phần mềm được cài đặt trên một máy nào đó khi được gán nhiệm vụ. Quá trình
được mô tả như sau: tại một trạm nào đó trên lưới, người sử dụng đệ trình một công việc
và yêu cầu thực hiện trên lưới. Phần mềm quản lý phải có khả năng chọn ra máy thực
hiện, liên lạc với máy đó để gửi công việc cần thực hiện. Phần mềm đệ trình phải có khả
năng nhận được file chạy hoặc chọn bản copy trên máy sẵn, tiếp đó file chạy được thực
hiện trên máy đệ trình và kết quả được trả về cho người yêu cầu. Hệ thống tiên tiến còn
cho phép điều chỉnh động ưu tiên cho các công việc, dừng chúng lại khi cần thiết và sau
đó có thể khởi động tiếp tục quá trình trên một máy khác. Các hoạt động này thường căn
cứ vào tải hiện thời của hệ thống, các ưu tiên thay đổi trên lưới.
Trang 13
Báo cáo bài tập lớn môn Tính toán lưới
3.3 Phần mềm đệ trình
Thông thường người ta có thể dùng bất cứ máy thành phần nào trong lưới để tiến
hành đệ trình một công việc nào đó. Tuy vậy, trong một số hệ thống, việc đệ trình các
công việc được thực hiện bởi một số thành phần cài đặt trên một số máy gọi là nút đệ
trình hay máy khách đệ trình. Khi lưới được xây dựng dựa trên các tài nguyên chuyên
dụng hơn tài nguyên thường thì các thành phần đệ trình thường được cài đặt trên máy của
người dùng hay các trạm làm việc.
3.4 Quản lý phân tán
Các lưới được cài đặt trên phạm vi rộng lớn thường có cấu trúc hình cây hay các
dạng thù hình khác phù hợp với dạng kết nối. Theo đó, các máy tính được kết nối thông
qua mạng LAN tạo thành các cluster. Các lưới có thể được tạo nên từ các cluster của các
cluster này. Vì thế đòi hỏi phải có các thủ tục quản lý các lưới phân tán sao cho đạt hiệu
quả tính toán cao nhất.Các thao tác trên lưới cũng như các thủ tục chia sẻ dữ liệu và lập
lịch phải phù hợp với cấu hình của lưới. Ví dụ: bộ lập lịch trung tâm sẽ không gán trực
tiếp công việc cho một máy cụ thể mà gán cho một cluster ở dưới nó, sau đó bộ lập lịch
của cluster này mới thực hiện gán công việc cho một máy cụ thể trong cluster đó. Tương
tự như thế khi một máy đệ trình một công việc nào đó: công việc này sẽ được chuyển tới
bộ quản lí của cluster chứa máy thành phần, sau đó được tiếp tục chuyển lên bộ quản lí
cao hơn để từ đó thực hiện lập lịch cho công việc này.
3.5 Bộ lập lịch
Phần lớn các lưới tính toán đều có các phần mềm lập lịch, các phần mềm này có
nhiệm vụ chọn ra các máy thành phần để thực thi các công việc được đệ trình tại một
máy nào đó. Cơ chế lập lịch đơn giản nhất là cơ chế round-robin, tức là hệ thống sẽ chọn
máy tiếp theo có các tài nguyên đáp ứng nhu cầu của công việc để thực thi. Tuy vậy trong
các hệ thống tiên tiến thì các cơ chế lập lịch phức tạp và hiệu quả hơn sẽ được áp dụng.
Một số bộ lập lịch thực hiện gán ưu tiên cho từng công việc. Điều này được thực hiện
bằng cách duy trì các hàng đợi công việc, mỗi hàng đợi chứa một tập các công việc với
cùng mức ưu tiên. Khi một máy đã thực hiện xong công việc của mình, nó sẽ chọn tiếp
một công việc ở hàng đợi có mức độ ưu tiên cao nhất. Cơ chế này sẽ được kết hợp với
một số quy định khác dựa trên cơ sở là các tài nguyên người sử dụng ....Ví dụ như một tài
nguyên trong tổ chức có thể bị hạn chế sử dụng trong khoảng thời gian nào đó trong
ngày.
Trang 14
Báo cáo bài tập lớn môn Tính toán lưới
Bộ lập lịch phải dựa vào các thông tin như tải của lưới, các thông tin được đo lường
như tỉ lệ tài nguyên được sử dụng để có thể quyết định xem máy thành phần có bận
không trước khi đệ trình một công việc. Cũng như tổ chức của mạng, bộ lập lịch cũng có
thể được tổ chức theo cấu trúc cây. Ví dụ: bộ siêu lập lịch (meta-scheduler) sẽ đệ trình
một công việc tới một bộ lập lịch ở mức dưới chứ không phải là một máy thành phần cụ
thể.
Các bộ lập lịch tiên tiến hơn còn có các chức năng theo dõi quá trình thực hiện của
các công việc trong lưới, từ đó có thể quản lí được luồng công việc của toàn bộ hệ thống.
Nếu một công việc bị ngừng do thiếu tài nguyên hệ thống, bộ lập lịch tốt phải có nhiệm
vụ đệ trình lại công việc tại một nơi khác trong hệ thống. Tương tự như vậy: khi tiến trình
rơi vào trạng thái lặp vô hạn và đạt tới thời gian giới hạn thì công việc đó sẽ không được
thực hiện lại nữa. Thường thì mỗi công việc sẽ có một mã trả về khi kết thúc. Điều này sẽ
giúp thực hiện các hoạt động sau này (ví dụ có phải thực hiện lại hay không).
Việc đặt trước các tài nguyên để phục vụ cho việc thực hiện các công việc sau này
được thực hiện bởi các hệ thống đặt trước chuyên dụng. Đây thực chất không phải bộ lập
lịch thông thường, mà trước hết nó như bộ lịch công tác quy định các công việc cụ thể
trong một khoảng thời gian nhất định và bảo vệ các tài nguyên được sử dụng khỏi sự
chiếm dụng của các tiến trình khác. Nó còn có khả năng dừng các công việc đang thực
hiện khi tới thời gian được đặt từ trước.
3.6 Các thành phần truyền thông
Hệ thống lưới có thể có các phần mềm giúp các tiến trình có thể liên lạc với nhau.
Ví dụ: trong trường hợp một công việc được chia thành nhiều công việc nhỏ khác nhau,
các công việc này được thực hiện riêng lẻ trên lưới. Tuy vậy, có thể các công việc này
phải sử dụng kết quả của công việc khác. Điều này dẫn đến việc các công việc phải có
khả năng liên kết với nhau. Các phần mềm truyền thông sẽ giúp một tiến trình có khả
năng liên lạc với các tiến trình khác, gửi và nhận các dữ liệu cần thiết. Trong hệ thống có
thể sử dụng chuẩn giao diện MPI (Message Passing Interface) và một số chuẩn khác để
thực hiện các liên kết này.
3.7 Các thành phần quản lý, theo dõi và đo lường
Như ta đã đề cập ở trên các hoạt động lập lịch đòi hỏi phải có các thông tin về hệ
thống hiện tại như các máy nào sẵn dùng, tỉ lệ tài nguyên được sử dụng, tải của các nút
Trang 15
Báo cáo bài tập lớn môn Tính toán lưới
lưới.... Thông thường các phần mềm donor sử dụng một số công cụ của hệ điều hành
hoặc trực tiếp đo các thông số này. Các phần mềm này đôi khi còn được gọi là “sensor
tải”. Các thông tin này không những có giá trị với việc lập lịch mà nó còn đo lường được
khả năng sử dụng lưới. Các thông số này có thể dự báo cho người quản trị thấy được xu
hướng của lưới và các thiết bị có thể cần thiết phải thêm vào hệ thống.
Các thông tin đo lường có thể tiết kiệm cho mục đích kế toán, là cơ sở cho thủ tục môi
giới tài nguyên, quản lý ưu tiên dễ dàng hơn. Người ta có thể thể hiện các thông tin đo
lường dưới các dạng biểu diễn khác nhau sao cho trực quan đối với người sử dụng nhất.
CHƯƠNG 2 CƠ CHẾ BẢO MẬT TRONG GRID COMPUTING
1. Những thách thức cho tính toán lưới
An ninh trong môi trường tính toán lưới phải đáp ứng được những yêu cầu về tính
toán diện rộng, tính “động” của hệ thống, và phân phối những “tổ chức ảo”. Từ góc độ an
ninh, một thuộc tính quan trọng của các “tổ chức ảo” là những thành viên và tài nguyên
được điều phối bởi các quy định và chính sách của tổ chức trước đó mà họ là thành viên.
Mặt khác, trong khi một số “tổ chức ảo”, như tổ chức hợp tác khoa học trong nhiều năm,
có thể rất lớn và tồn tại lâu dài (giả sử rằng các đàm phán với những nhà cung cấp tài
Trang 16
Báo cáo bài tập lớn môn Tính toán lưới
nguyên đã được chấp nhận), thì một số “tổ chức ảo” chỉ tồn tại thời gian ngắn, để hỗ trợ
một nhiệm vụ nhỏ duy nhất, ví dụ hai cá nhân chia sẻ tài liệu, dữ liệu. Trong những
trường hợp nhỏ như vậy, những yêu cầu về điều khiển và an ninh trong “tổ chức ảo”
không được quá lớn.
Một yêu cầu cơ bản như vậy là để cho phép các “tổ chức ảo” truy cập vào tài
nguyên tồn tại trong các tổ chức trước đó.Khi đó đã có chính sách giữa những người sử
dụng.Một “tổ chức ảo” phải được thiết lập và phối hợp thông qua các sự tin tưởng giữa
những người dùng địa phương với tổ chức của họ; và của những “tổ chức ảo” với người
sử dụng. Chúng ta không thể khẳng định sự tin cậy giữa những tổ chức trước đây và
những “tổ chức ảo” hay những thành viên bên ngoài. Như trong hình 6 hệ thống an ninh
trong tính toán lưới giải quyết yêu cầu đó bằng cách xem một “tổ chức ảo” là một lớp phủ
với chính sách khu vực và lưới địa chỉ các cơ chế bảo mật những thách thức bằng cách
cho phép một VO được đối xử như là một lớp phủ chính sách miền. Nhiều nguồn tài
nguyên đang thuê hoặc các tổ chức hỗ trợ bên ngoài sẽ cấp phát một số quyền cho tổ
chức thứ ba: một “tổ chức ảo” điều phối các chính sách nguồn tài nguyên bên ngoài nhằm
thống nhất cách thức phối hợp tài nguyên và chia sẻ sử dụng.
Trang 17
Báo cáo bài tập lớn môn Tính toán lưới
Hình 6: Các miền (Domain) trong tổ chức ảo VO
Hệ thống an ninh trong tính toán lưới rất phức tạp vì trên thực tế, có rất nhiều dịch
vụ mới (tài nguyên) được phát triển và vận hành trong suốt quá trình chạy của một “tổ
chức ảo”. Ví dụ như người dùng có thể thiết lập một giao diện cá nhân để truy xuất vào
các tài nguyên, hay “tổ chức ảo” có thể tự sinh ra một thư mục để lưu lại lịch sử làm việc
của các thành viên trong tổ chức. Sự kết hợp của các lớp phủ (và chính sách liên quan)
với các thực thể (được tạo ra liên tục) cần ba yếu tố quan trọng trong một mô hình an
ninh dành cho tính toán lưới.
Cơ chế bảo mật đa thành phần
Những tổ chức tham gia các “tổ chức ảo” thường đã đầu tư đáng kể cho cơ chế an
ninh và cơ sở hạ tầng. Hệ thống bảo mật mới thích ứng với cái đang có, thay vì thay thế
chúng.
Linh động tạo ra những dịch vụ
Người sử dụng phải có quyền tạo ra các dịch vụ mới (tài nguyên) một cách tự động
mà không cần sự can thiệp của quản trị. Những dịch vụ này phải được phối hợp được và
Trang 18
Báo cáo bài tập lớn môn Tính toán lưới
phải tương tác an toàn với các dịch vụ khác. Những người tham gia phải định danh được
những dịch vụ đó để cấp quyền tương ứng và phù hợp với những quy tắc chung.
Linh động thiết lập các khu vực tin cậy
Để phối hợp các nguồn tài nguyên, những “tổ chức ảo” cần thiết lập sự tin tưởng
không chỉ giữa những người sử dụng với các nguồn tài nguyên của hệ thống mà còn giữa
chính các nguồn tài nguyên với nhau. Những khu vực tin cậy này có thể mở rộng ra và
phải linh động thích ứng với những cá nhân hay tổ chức mới gia nhập vào, hoặc rời khỏi
hệ thống. Những cơ chế quản lý an ninh truyền thống không thể giải quyết các vấn đề cấp
phát động của hệ thống tính toán lưới. Chúng ta cần một mô hình linh động hướng đến
người sử dụng để họ có thể tạo ra những thực thể và những khu vực quy định chung, từ
đó tham gia vào và cùng chia sẽ tài nguyên trong những “tổ chức ảo”.
2. Những yêu cầu an ninh trong hệ thống tính toán lưới
”Tổ chức ảo” là một trong những khái niệm cơ bản trong tính toán lưới. Một “tổ
chức ảo” được định nghĩa là một nhóm linh động (có thể tham gia vào hoặc rời khỏi
nhóm trong quá trình vận hành) của nhiều cá nhân, nhóm, hoặc các tổ chức thỏa mãn các
điều kiện và quy định chia sẻ tài nguyên. Một môi trường tính toán lưới rất cần thiết để
phối hợp quản lý tài nguyên và chia sẻ chúng trong một “tổ chức ảo”, và tổ chức ảo này
có thể mở rộng, tích hợp thêm nhiều tổ chức khác nữa. Điều này cho thấy một ứng dụng
tính toán lưới có thể bao trùm lên nhiều khu vực được cấp quyền khác nhau. Mỗi khu vực
cấp quyền đó sẽ có những yêu cầu và chính sách riêng. Một cơ sở hạ
tầng an ninh cho tính toán lưới là cần thiết để bảo vệ cho những chính sách của từng khu
vực cũng như những chính sách do “tổ chức ảo” đặt ra. Để đạt được yêu cầu về cơ sở hạ
tầng an ninh tính toán lưới thì cần phải có khả năng tương tác giữa các khu vực khác
nhau trong khi vẫn duy trì một sự tách biệt rõ ràng về các chính sách an ninh và cơ chế
triển khai của hai tổ chức ảo và thực.
2.1 Tích hợp
Cơ sở hạ tầng an ninh của lưới cần phải tích hợp với cơ sở hạ tầng hiện tại thông
qua nền tảng và môi trường lưu trữ. Các kiến trúc an ninh tổng thể cần phải được hiện
thực độc lập và có khả năng mở rộng để kết hợp các dịch vụ bảo mật mới.
2.2 Khả năng cộng tác
Các dịch vụ tính toán lưới di chuyển qua nhiều khu vực và các môi trường lưu trữ
cần có khả năng tương tác với nhau để trao đổi các thông điệp (ví dụ, thông qua SOAP /
Trang 19
Báo cáo bài tập lớn môn Tính toán lưới
HTTP), cho phép mỗi tổ chức xác định chính sách an ninh áp dụng cho mỗi giao dịch, và
xác nhận một người sử dụng của một khu vực cho một khu vực khác.
2.3 Mối quan hệ tin cậy
Một yêu cầu dịch vụ trên lưới có thể bao trùm nhiều khu vực an ninh khác nhau.
Những khu vực an ninh liên quan đáp ứng một yêu cầu dịch vụ sẽ thiết lập một cơ chế tin
cậy với nhau. Do tính chất năng động của môi trường tính toán lưới, đó là không thể thiết
lập toàn bộ các mối tin cậy trước khi thực hiện các ứng dụng. Vấn đề cơ sở tin cậy trở
nên phức tạp trong hệ thống tính toán lưới.
3. Bảo mật của hệ thống tính toán lưới
Các hệ thống tính toán lưới cao cấp yêu cầu mức độ bảo mật có các đặc điểm sau:
Chứng thực: các giao thức “Cung cấp chứng thực” cần có để tích hợp các cơ
chế bảo mật và cách thức để các cơ chế này hoạt động với nhau.
Ủy quyền: những cơ chế cung cấp “ủy quyền” để cho phép người được ủy thác
có quyền yêu cầu các dịch vụ đồng thời đảm bảo rằng các quyền truy cập được giới hạn
cho các dịch vụ đó phù hợp với chính sách của toàn hệ thống.
Đăng nhập một lần: điều này đảm bảo cho việc xác thực người sử dụng xuyên
suốt trong quá trình làm việc, dù cho công việc này cần phải qua nhiều khu vực tài
nguyên khác nhau tại các khoảng thời gian khác nhau.
Làm mới một chứng thực: hệ thống có khả năng làm mới lại một chứng thực
nếu thời gian thực hiện tác vụ lớn hơn thời gian sống của một chứng thực đã được cấp.
Xác minh danh tính: để khẳng định đúng người sử dụng được cấp quyền truy
cập vào hệ thống.
Tính riêng tư: yêu cầu cả người yêu cầu dịch vụ và nhà cung cấp chấp hành
chính sách về riêng tư.
Bí mật: bảo vệ bí mật nội dung các thông điệp bên trong quá trình truyền tải,
các thành phần OGSA trong tất cả mà chúng xuất hiện.
Kiểm định thông điệp: bảo đảm rằng việc thay đổi trái phép nội dung thông
điệp hoặc dữ liệu sẽ bị phát hiện tại điểm nhận.
Đàm phán chính sách: cho phép ngữ cảnh bảo mật đàm phán cơ chế giữa các
yêu cầu dịch vụ và các nhà cung cấp dịch vụ tùy vào các thông tin của chính sách an
ninh.
Trang 20
Báo cáo bài tập lớn môn Tính toán lưới
Bảo mật đăng nhập: cung cấp cơ sở cho việc “không thể chối bỏ” đăng nhập và
kiểm tra đăng nhập để tất cả các dịch vụ sẽ được định dấu thời gian mà không là gián
đoạn thông tin.
Khả năng quản lý: cung cấp những công cụ có thể giám sát và quản lý ở các
mức và các môi trường lưu trữ
Thông qua tường lửa: để giải quyết vấn đề bảo mật khi có nhiều dịch vụ cần
mức độ bảo mật khác nhau và các vấn đề như quản lý danh tính, chính sách quản lý.
Đảm bảo cơ sở hạ tầng OGSA:
4. Bảo mật thông tin
Bảo mật thông tin là khoa học nghiên cứu các nguyên lý và phương pháp cho phép
mã hoá thông tin sao cho chỉ người có khóa giải mã (bí mật) mới có thể giải để hiểu đuợc
thông tin gốc.
Ví dụ: Nếu một người gửi tới một mật mã bắt đầu bằng "ULFW NZFXZ", dựa vào
khóa đã có tôi dễ dàng giải mã được thông tin đó "VIDU BAOMAT" vì chữ U thay chữ
V, chữ L thay chữ I, chữ F thay chữ D...
Trong bảo mật thông tin hai vấn đề cần nghiên cứu về mặt nguyên lý lẫn phương pháp là:
Bảo mật (Encryption): Nhằm ngăn cản không cho người lạ trích chọn thông
tin từ các thông điệp được gửi trên các kênh truyền phổ biến.
Chứng thực (CA – Certification (Authority): Nhằm đảm bảo chỉ có người
nhận đúng mới có thể đọc thông điệp, đồng thời người gửi không thể phủ nhận thông
điệp mình gửi.
Có thể chia các hệ mã thành 2 loại chính:
4.1 Hệ mã khóa bí mật
Quá trình mã hóa và giải mã đều sử dụng một khóa gọi là khóa bí mật, hay còn gọi
là hệ mã đối xứng. Trong quá trình trao đổi thông tin giữa A với B nếu dùng hệ mã khóa
bí mật ek. Thì A người gửi sẽ mã hóa thông điệp của họ bằng ek này.Về phía B người
nhận, sau khi nhận thông điệp thì giải mã thông điệp đó cũng bằng khoá ek. Như vậy một
người khác đánh cắp đuợc khoá ek thì họ sẽ có thể giải mã và xem được nội dung thông
điệp của người gửi. Điển hình thuật toán khóa bí mật là mã hóa khối với n Byte đầu vào
thành một khối Byte ở đầu ra, các phương pháp mã hóa khối đã được đưa vào ứng dụng
như:RC2 (8Byte), DES (8Byte), TRIPPLE DES (24Byte), RIJINDAEL (32 Byte),…thuật
toán mã hóa bí mật có tốc độ nhanh hơn so với hệ mã khóa công khai.
Trang 21
Báo cáo bài tập lớn môn Tính toán lưới
4.2 Hệ mã khóa công khai
Quá trình mã hoá sử dụng một khóa có thể công khai và khi giải mã thì sử dụng một
khóa khác.Vì sử sụng 1 cặp khóa trong đó có một khóa có thể được công bố nên gọi là hệ
khóa công khai, hay còn gọi là hệ phi đối xứng. Thực chất hệ mã khoá công khai sử dụng
hai khóa có liên quan với nhau:
Khóa công khai (Public key) được sử dụng để mã hoá những thông tin mà bạn
muốn chiasẽ với bất cứ ai. Chính vì vậy bạn có thể tự do phân phát nó cho bất cứ ai mà
bạn cần chiasẻ thông tin ở dạng mã hoá.
Khoá riêng (Privatekey) khóa này thuộc sở hữu riêng tư của người được cấp
và nó được sử dụng để giải mã thông tin.
5. Mô hình bảo mật trong Grid
Mô hình bảo mật trong grid được phân làm hai loại:
Xây dựng một mô hình hoàn toàn mới để bảo mật cho grid.
Xây dựng dịch vụ bảo mật dựa trên những yêu cầu cần thiết: điều đó có nghĩa
là dịch vụ bảo mật được xây dựng cung cấp một tập các service cho các ứng dụng bên
phía host trong môi trường OGSA. Hình 7 mô tả các chức năng một mô hình bảo mật có
thể có trong grid gồm các chức năng binding security, audit & non-repudiation, mapping
rules, privacy policy, authorization policy, service/end-point policy… Sau đây chúng ta
sẽ tìm hiểu qua một số chức năng.
Hình 7: Mô hình an ninh mạng lưới
Trang 22
Báo cáo bài tập lớn môn Tính toán lưới
5.1 Binding Security
SOAP và IIOP thường được sử dụng trong lớp Binding security.Bảo mật binding
dựa trên bảo mật của giao thức hoặc kiểu định dạng dữliệu được sử dụng. Khi một giao
thức hay một định dạng dữ liệu mới được đưa ra cần phải có các yêu cầu bảo mật đi kèm
và phải đảm bảo tối thiểu 3 yêu cầu: xác thực, toàn vẹn và bảo mật. HTTP là một giao
thức quan trọng vì nó “trong suốt” với firewall và được chấp nhận rộng rãi.Trong trường
hợp liên kết dựa trên HTTP, các request có thể được gửi thông qua SSL, SSL hỗ trợ cơ
chế xác thực, toàn vẹn và bảo mật. Tuy nhiên SSL chỉ đảm bảo chất lượng dịch vụ nếu
các end point tham gia sử dụng kết nối SSL. Nếu một request cần traverse thông qua các
điểm trung gian thì tại mỗi end-to-end các vấn đề bảo mật cũng cần phải được đưa ra tại
lớp phía trên giao thức SSL.
Trong trường hợp dữliệu sử dụng cơ chế SOAP, thông tin bảo mật có thể được đính
kèm trong chính dữliệu SOAP này. Ngoài ra dữliệu SOAP còn được bảo mật và toàn vẹn
khi sử dụng XML Digital Signature và XML Encryption.
5.2 Policy expression and Exchange
Web services cần phải đưa ra các yêu cầu để những ai sử dụng phải tuân thủ, các
yêu cầu này cần phải được giải quyết trước khi user tương tác được với service. Ví dụ,
khi một requester muốn sửdụng một service thì requester cần đưa ra các chứng thực đảm
bảo rằng mình có quyền sử dụng service này đồng thời các message phải đúng format do
service này yêu cầu... Điều quan trọng đối với service requester là làm thế nào để biết
được các requirement đi kèm với target service. Ngay khi service requester biết được các
yêu cầu và khả năng mà target service hỗ trợ, nó sẽ tính toán và cả service requester lẫn
service provider sẽ lựa chọn một tập các binding tối ưu nhất để giao tiếp với một service
khác. WS-policy sẽ mô tả làm thế nào để cả service provider và service requester có thể
đưa ra các yêu cầu và khả năng cung cấp của mình. Như vậy lớp policy expression and
exchange sẽ giải quyết yêu cầu về trao đổi chính sách giữa các end-point tham gia. Xa
hơn nữa cho phép service requester và service provider khám phá policy của service
khác.
5.3 Secure Association
Service requester và service provider cần phải trao đổi nhiều thông tin, để bảo mật
thông tin khi truyền trên mạng cần có cơ chế thực thi việc xác thực và thiết lập kết nối
trong ngữ cảnh an toàn. Có nhiều giao thức (IPSEC, SSL, IIOP...) và cơ chế (Kerberos...)
Trang 23
Báo cáo bài tập lớn môn Tính toán lưới
được hỗ trợ bảo mật trong ngữ cảnh này. WS-SecureConversation là một đặc tả Web
service được đưa ra bởi IBM và các tổ chức khác, làm việc cùng với WS-Security, WS-
Trust và WS-Policy cho phép tạo ra ngữ cảnh bảo mật khi trao đổi dữ liệu SOAP, WS-
SecureConversation sẽ mô tả làm thế nào một web service có thể xác thực các thông
điệp được gửi từ service requester, làm thế nào service requester có thể xác thực lại
được service provider, và làm thế nào để thiết lập được cơ chế xác thực lẫn nhau trong
ngữ cảnh bảo mật. WS-SecureConversation được thiết kế để hoạt động trên lớp thông
điệp SOAP bởi vì thông điệp SOAP có thể sẽ traverse thông qua nhiều service trung gian.
5.4 Authorization Enforcement
Chính sách authorization là một phần quan trọng trong mô hình bảo mật lưới.Mỗi
một domain sẽ sở hữu một dịch vụ cấp quyền (authorization service). Trong môi trường
internet, authorization thường kết hợp với service provider để điều khiển truy cập vào
resource dựa trên ID của service requester. Client hay service requester thông thường
phải tin tưởng vào server hoặc service provider.Trong trường hợp không có sự tin tưởng
này thì service provider sẽ cung cấp cơ chế xác thực thông qua giao thức SSL, đây là cơ
chế thiết lập giao tiếp tin tưởng giữa service requestor và service provider.
Authorization trong mỗi domain có các mô hình khác nhau:
Role based authorization.
Rule based authorization.
Capabilities, access control list...
5.5 Identity and Credential Mapping/Translation
Môi trường Grid là sự kết hợp của nhiều tổ chức, mỗi tổ chức lại có domain bảo mật
khác nhau.Operations giữa các entity trong domain khác nhau cần yêu cầu cơ chế xác
thực lẫn nhau (mutual authentication). Tuy nhiên việc giảsửtất cả các domain cùng chia
sẻ một nơi đăng ký (global user registry) là phi thực tế. Bởi vậy khi một operation giữa
các entities vượt quá domain hay ranh giới của VO, ID của service requestor và providers
tương ứng như các credential được mô tả trong domain này có thể không còn đúng về cú
pháp cũng như ngữ nghĩa trong domain của partner. Chính vì vậy cần có thành phần có
chức năng ánh xạID/credentials để chuyển function trong domain này tương ứng các
function trong domain khác.
5.6 Secure Logging
Trang 24
Báo cáo bài tập lớn môn Tính toán lưới
Đây là chức năng cơ bản nhất của một service.Khi bạn muốn sử dụng một service
nào đó, điều đầu tiên là bạn cần phải đăng nhập để xác thực quyền bạn đã đăng ký để sử
dụng service này hay chưa. Chức năng này khá đơn giản nên có thể được áp dụng vào
mọi thành phần trong mô hình.
5.7 Management of Security
Mô hình bảo mật Grid sẽ nhóm các chức năng quản lý bảo mật dựa theo các khía
cạnh về binding, policy và federation. Mỗi một khía cạnh sẽ đưa ra các giải pháp bảo mật
như: sử dụng hàm mã hóa, quản lý đăng ký của user, chính sách authorization, privacy...
Ngoài ra còn phát hiện khả năng xâm phạm, đưa ra các anti-virus service...
6. Cơ sở hạ tầng bảo mật lưới
6.1 Cơ chế xác thực GSI
Khi ta xây dựng được Grid host, làm thế nào để ta có thể yêu cầu CA xác thực (cấp
certificate) cho Grid host này?
Sao chép public key của CA lên grid host.
Tạo private key và certificate cho grid host.
Gửi certificate vừa được tạo ra cho CA.
CA sau khi nhận được yêu cầu sẽ sử dụng private key để chứng thực lên
certificate này và gửi ngược trở lại.
Hình 8 Cơ chế xác thực GSI
Sau khi bước xác thực được hoàn tất trên grid host sẽ có ba tập tin quan trọng:
Public key của CA.
Trang 25
Báo cáo bài tập lớn môn Tính toán lưới
Private key của grid host.
Digital certificate mà CA đã chứng thực cho grid host.
6.2 Authentication và authorization
Giả sử chúng ta là host A và muốn sử dụng một ứng dụng nào đó trên host B. Liệu
chúng ta có đảm bảo rằng ứng dụng chúng ta yêu cầu có phải xuất phát từ chính host B
hay không? Cơ chế authentication sẽgiúp chúng ta xác thực được host B có phải đang
giao tiếp với host A hay không.
Trang 26
1. User bên host A sẽ gửi certificate sang host B.
2. Host B sẽlấy public key của A và sử dụng public key này để lấy thông tin trên
certificate (bằng cách sử dụng public key của CA).
3. Host B tạo một số ngẫu nhiên và gửi lại cho host A.
4. Host A nhận số ngẫu nhiên này và mã hóa sử dụng private key của mình. Sauđó
gửi lại thông điệp đã được mã hóa này cho host B.
5. Host B nhận thông điệp được mã hóa sử dụng public key để giải mã xem sốngẫu
nhiền đó có trùng với số ngẫu nhiên mà host B tạo ra để gửi cho bên A trước đó hay
không? Sau đó host B đã xác thực được certificate thực sự là từ bên host A gửi tới
bởi vì chỉ có bên host A mới có thể mã hóa được.
6. Chứng chỉ của người dùng trên host A đã được host B chứng thực, sau đó, host B
sẽ ánh xạ subject (là một dạng của DN, là tên được sử dụng bởi LDAP để phân biệt
các điểm vào trong directory service) lấy được trong bước 2 vào người dùng cục bộ
thông qua gridmap-file.
Báo cáo bài tập lớn môn Tính toán lưới
Hình 9 Thủ tục chứng thực và phân quyền với GSI.
Lúc này, người dùng trên host A đã được cho phép hoạt động như một người dùng
cục bộ trên host B. Trong môi trường Grid, một host có vai trò là client trong một số
trường hợp, có thể là server trong một số trường hợp khác, do đó host có thể phải chứng
thực một host khác và được chứng thực bởi host kia tại cùng một thời điểm. Trong trường
hợp này có thể sử dụng chức năng mutual authentication của GSI. Chức năng sẽ được
giới thiệu chi tiết hơn ở phần sau.
6.3 Cơ chế uỷ quyền (delegation)
Cơ chế uỷ quyền trong GSI giải quyết yêu cầu về đăng nhập một lần (single sign-on)
của một hệ thống Grid. Đây là một sự mở rộng của protocol SSL nhằm giảm số lần phải
gõ passphrase của người dùng khi sử dụng nhiều tài nguyên Grid có yêu cầu chứng thực.
Người dùng không cần phải gõ lại passphrase bằng cách tạo ra một proxy và ủy quyền
cho nó.
Một proxy bao gồm một chứng chỉ mới (có đính kèm khóa công khai mới của proxy)
và một khóa bí mật mới. Chứng chỉ mới chứa định danh của người chủ proxy, được sửa
lại để cho biết đó là một proxy. Chứng chỉ mới được ký bởi người chủ sở hữu thay vì CA.
Trong proxy certificate có chứa thêm thời gian sống của proxy, khi hết thời gian sống,
proxy sẽ trở nên không hợp lệ, thường thì thời gian sống của proxy rất ngắn. Các proxy
lại có thể tạo ra và uỷ quyền cho các proxy khác tạo thành một chuỗi các đại diện cho
Trang 27
Báo cáo bài tập lớn môn Tính toán lưới
người dùng trên các tài nguyên, từ đó cho phép người dùng có thể sử dụng nhiều tài
nguyên khác nhau mà chỉ cần đăng nhập một lần.
Hình 10 Cơ chế ủy quyền trong GSI.
Cơ chế uỷ quyền được mô tả trong hình 10. Cơ chế gồm 2 bước chính: khởi tạo
proxy trên host ở xa (host B) và chứng thực proxy trên một host khác (host C).
Bước 1: Khởi tạo proxy
Để khởi tạo một proxy:
Hình 11: Thủ tục uỷ quyền của một proxy trong GSI.
Bước 2: Chứng thực proxy
Trang 28
1. Một kết nối tin cậy phải được tạo ra giữa host A và host B (thực hiện quy trình
chứng thực trên host B như ở trên).
2. Người dùng trên host A gửi yêu cầu host B tạo một proxy để đại diện cho mình.
3. Host B tạo một bản yêu cầu cho proxy certificate của người dùng và gửi yêu cầu
này về host A.
4. Host A sử dụng khóa bí mật của người dùng để ký xác nhận vào bản yêu cầu
proxy certificate và gửi nó lại cho host B.
5. Host A gửi chứng chỉ của người dùng cho host B.
Báo cáo bài tập lớn môn Tính toán lưới
Lúc này proxy trên host B đã được người dùng uỷ quyền, proxy trên host B có thể
liên lạc và được chứng thực và phân quyền trên host C như thể là user trên host A.
Trước khi có thể gửi yêu cầu thực hiện công việc trên host C, proxy cần được chứng thực
trên host C. Quy trình thực hiện như sau:
6.4 Thiết lập giao tiếp an toàn giữa Client và Service
Ở đây sẽ cung cấp hai cơ chế xác thực được sử dụng trong Grid: cơ chế bắt tay SSL
và cơ chế Keberos.
Cơ chế bắt tay SSL
Trang 29
6. Proxy của người dùng trên host B gửi user certificate và proxy certificate đến host C.
7. Host C lấy khóa công khai của proxy thông qua thủ tục “path validation”:
7.1. Host C sử dụng khóa công khai của CA để lấy subject và khóa công khai của người
dùng trong user certificate.
7.2. Host C sử dụng khóa công khai của người dùng để lấy subject và khóa công khai
của proxy trong proxy certificate.
7.3. Giả sử subject của người dùng là :
“/O=Grid/O=GridTest/OU=test.domain.com/CN=GreenStar"
Subject của proxy certificate cũng giống như subject của người tạo ra nó (ở đây là người
dùng trên host A) và có dạng như sau:
“/O=Grid/O=GridTest/OU=test.domain.com/CN=GreenStar/CN=proxy"
Do đó, để kiểm tra tính hợp lệ của proxy, host C chỉ cần kiểm tra phần chuỗi còn lại
Báo cáo bài tập lớn môn Tính toán lưới
Để thiết lập giao tiếp an toàn giữa Grid server và Grid client, một cơ chế bắt tay phải
được thiết lập. Cơ chế bắt taySSL có nhiệm vụ xác định những cài đặt SSL cần thiết, cơ
chếtruyền khóa (public key) và các yếu tố căn bản cho xử lý xác thực lẫn nhau (mutual
authentication). Cơ chế bắt tay SSL được thực thi qua những bước sau:
Trang 30
1. Grid Client liên hệvới grid server đểbắt đầu một session sử dụng Digital X.509
ID Certificate.
2. Grid Client tự động gửi cho Grid Server số phiên bản SSL (SSL version
number), cài đặt mã hóa, tự động sinh ra dữ liệu và một vài thông tin khác mà grid
server cần cho quá trình thiết lập giao tiếp với grid client.
3. Grid server đáp ứng lại bằng cách cũng gửi lại cho grid client: digital certificate,
SSL version number, cài đặt mã hóa...
4. Client xem xét thông tin chứa đựng trong certificate của server và kiểm tra xem:
a. Server certificate có hợp lệ hay không?
b. Server certificate có được ký bởi một CA tin tưởng hay không?
c. Sử dụng public key đi kèm xác định tính hợp lệ cho digital signature.
Báo cáo bài tập lớn môn Tính toán lưới
Sử dụng cơ chế Kerberos để xác thực giữa client và server
Kerberos là giao thức xác thực và phân phối khóa: sử dụng hệ thống mã hóa đối
xứng (symmetric encyption systems), thực thi hiệu quả hơn hệ thống sử dụng public
keyhay hệ thống mã hóa bất đối xứng. Kerberos phù hợp cho quá trình phải xác thực một
cách thường xuyên. Kerberos có một trung tâm gọi là “trung tâm phân phối khóa” (key
distribution center-KDC). KDCb bao gồm hai chức năng: “máy chủ xác thức”
(authentication server-AS) và “máy chủ cung cấp vé” (ticket granting server-TGS).
Ticket trong hệ thống Kerberos chính là các chứng thực nhận dạng cho một user đang sử
dụng.
Kerberos thực hiện các quá trình sau để xác thực: một user muốn xác thực mình
với authentication server (AS), sau đó sẽ chứng minh với ticket granting server (TGS)
rằng mình đã được xác thực để nhận ticket rồi, cuối cùng chứng minh với service
server (SS) rằng mình đã được chấp nhận để sử dụng dịch vụ rồi.
Trang 31
5. Nếu server xác thực thành công, bên client sẽsinh ra một key session duy nhất sử
dụng cho quá trình mã hóa trong suốt quá trình giao tiếp với grid server sử dụng cơ
chế mã hóa bất đối xứng.
6. User bên client mã hóa session key bởi chính public key của server. Chính vì vậy
mà chỉ có bên phía server mới có thể đọc được session key.
7.Server sau khi nhận được session key được mã hóa sẽ sử dụng private key để giải
mã và lấy ra session key.
8.Grid client gửi thông điệp cho server cho biết những thông tin giao tiếp về sau sẽ
được mã hóa bằng session key này. Và server cũng thông báo ngược lại cho client
biết.
9.SSL secured session được thiết lập.
10. Ngay khi session hoàn tất, session key sẽ bị hủy bỏ.
Báo cáo bài tập lớn môn Tính toán lưới
Trang 32
Báo cáo bài tập lớn môn Tính toán lưới
Trang 33
1. Client gửi một yêu cầu đến AS để yêu cầu dịch vụ.
2. AS kiểm tra bên client có nằm trong cơ sở dữ liệu của mình hay không? Nếu có AS
sẽ gửi lại cho bên client 2 gói tin:
a. Gói tin A: client/TGS session key được mã hóa bởi khóa bí mật của client.
b. Gói tin B: ticket (chứa ID, địa chỉ mạng client, thời hạn hiệu lực ticket và client/TGS
session key) được mã hóa bởi khóa bí mật của TGS.
3. Khi nhận được 2 gói tin trên client giải mã gói tin A để có được session key (TGS).
Session key này được sử dụng để giao tiếp với TGS, tuy nhiên client không thể giải
mã được gói tin B vì nó được mã hóa bởi khóa bí mật của TGS.
4. Client sau đó sẽ gửi 2 gói tin đến TGS:
a.Gói tin C: gói tin B (chứa ticket)và ID của dịch vụ yêu cầu.
b. Gói tin D: ID (client), timestamp, mật mã hóa sử dụng client/TGS session
key.
5. Khi nhận được 2 gói tin C và D, TGS sẽ lấy gói tin B ra khỏi C. Giải mã gói tin B
sử dụng khóa bí mật của mình:
a. Gói tin E: ticket (bao gồm ID của client, địa chỉ mạng của client, thời hạn sử dụng
session key (client/server)) được mã hóa bởi SS (máy chủ cung cấp dịch vụ).
b. Gói tin F: session key (client/server) được mã hóa bởi session ke y (TGS).
6. Khi nhận được 2 gói tin E và F, client sẽ gửi 2 gói tin đến SS:
a. Gói tin E thu được từ bước trước.
b. Gói tin F: ID của client, thời điểm yêu cầu và được mã hóa bởi session key
(client/server).
7. SS giải mã ticket bằng khóa bí mật của mình và gửi gói tin sau cho client: Gói tin
H: client/server session key.
8. Client giải mã chứng thực sử dụng client/server session key và kiểm tra
timestamp cho phù hợp hay không? Nếu có thì client có thể tin tưởng vào server và
sử dụng dịch vụ này.
Báo cáo bài tập lớn môn Tính toán lưới
Hình 12: Hình ảnh trực quan khi sử dụng cơ chế Kerberos
Trang 34
Báo cáo bài tập lớn môn Tính toán lưới
Theo như hình 12, chúng ta có thể thấy được điểm yếu trong hệ thống Kerberos:
nếu máy chủ trung tâm ngừng hoạt động thì mọi hoạt động sẽ ngừng lại. Tuy nhiên ta
có thể khắc phục bằng việc sử dụng nhiều máy chủ Kerberos.
6.5 Các mô hình bảo mật Grid trong các phiên bản Globus Toolkit
Trong GT2, những dịch vụ như Grid Resource Allocation and Management
(GRAM), Monitoring and Discovery (MDS), data movement (GridFTP) sử dụng cùng
một kiến trúc GridSecurity Infrastructure (GSI) chung để cung cấp chức năng bảo mật
như thay đổi cơ hế bảo mật chung, tạo động và cấp quyền cho các thực thể, tạo và quản lý
động các khu vực bao phủ tin cậy. Chức năng thay đổi cơ chế bảo mật chung được hiện
thực qua việc GSI định nghĩa một định dạng chung dựa trên xác thực định danh X.509
và giao thức chuẩn dựa trên lớp bảo mật transport (TLS, SSL). Ngoài ra, chúng còn sử
dụng nhiều gateways để chuyển đổi qua lại giữa kiến trúc GSI chung và chuẩn nội bộ
củamỗi tổ chức. Mỗi xác nhận GSI được cấp bởi một nhóm thứ ba tin cậy chính là CA.
Nhóm CA có nhiệm vụ cung cấp thông tin để phục vụ quá trình xác thực trong grid.Chức
năng tạo động và cấp quyền cho thực thể được thể hiện qua việc GSI mở rộng đến khái
niệm xác nhận proxy X.509. Xác nhận này cho phép người dùng gắn động định danh mới
đến thực thể và sau đó phó thácvài quyền cho thực thể đó. Việc gắn định danh và nhượng
quyền cho thực thể của người dùng không cần thiết phải có sự xác thực của CA. Chức
năng tạo và quản lý động các khu vực bao phủ tin cậy được bảo đảm để GSI sử dụng dịch
vụ đồng thời cả việc xác thực proxy và dịch vụ bảo mật gọi là CAS. Nhiệm vụ của CAS
biểu thị chính sách của tổ chức ảo thông qua những tổ chức tham gia. Quá trình xác thực
thông qua CAS được minh họa như hình 13.
Trang 35
Báo cáo bài tập lớn môn Tính toán lưới
Hình 13: Quá trình xác thực thông quan CAS
Đầu tiên người dùng xác thực với CAS và họ sẽ nhận được yêu cầu của tổ chức ảo
để họ có thể sử dụng resource. Kế đến, người dùng sẽ gửi yêu cầu đó đến tổ chức cùng
với yêu cầu của họ. Sau cùng là quá trình kiểm tra xem có cấp tài nguyên theoyêu cầu
của người dùng hay không. Nhìn chung, trong mô hình GT2 này đã đảm bảo được ba
thách thức mà bảo mật lưới đã đề ra. Trong GT3, kiến trúc GIS đã nâng lên một tầm mới
dựa trên mô hình OGSA. Mô hình bảo mật này sử dụng những đặc tính tốt của OGSA và
Web Service (WS) để đáp ứng bốn mục tiêu cơ bản. Thứ nhất, xem các chức năng bảo
mật như là một dịch vụ của OGSA và cho phép các ứng dụng có thể dùng khi cần thiết.
Việc này đã làm tăng thêm tính linh động cho việc sử dụng hệ thống. Thứ hai, sử dụng
môi trường hosting để điều khiển bảo mật cho ứng dụng và điều chỉnh cơ chế bảo mật
phù hợp với ứng dụng. Nó giúp chúng ta không cần phải chỉnh sửa lại ứng dụng khi
chính sách bảo mật thay đổi.Việc này sẽ giảm bớt gánh nặng cho người lập trình. Thứ
ba,cho phép công khai chính sách bảo mật từ đó làm cho họ tin tưởng hơn vào dịch vụ và
cũng làm cho cơ chế bảo mật của mỗi tổ chức có thể làm việc được với nhau. Thứ tư,
thành lập được chuẩn cho phép thực hiện trao đổi giữa các tổ chức. Hình 14, mô tả rõ hơn
cho bốn mục tiêu trên trong cơ chế bảo mật của GT3.
Trang 36
Báo cáo bài tập lớn môn Tính toán lưới
Hình 14: Cơ chế bảo mật trong GT3
Theo hình 14, chúng ta có thể thấy bảo mật trong hệ thống GT3 thực chất là những dịch
vụ thực hiện tuần tự kết hợp với nhau. Nếu giả sử chính sách bảo mật có gì thay đổi thì
chúng ta chỉ cầnviệc sửa lại đúng dịch vụ bị ảnh hưởng bởi chính sách ấy. Đồng thời qua
đó chúng ta có thể thấythêm tính linh hoạt trong việc kết hợp chính sách bảo mật
của từng môi trường hosting khác nhau. Hình 14 đang mô tả cho chúng ta quá trình thực
hiện tương tác giữa hai hosting. Quá trình này được thực hiện thông qua bốn dịch vụ:
dịch vụ phân bố chính sách bảo mật, dịch vụ giao dịch giữa hai hosting, dịch vụ thực thi
chuẩn chung cho hai hosting giao tiếp và dịch vụ kiểm tra quyền hạn. Quá trình bảo mật
được thực hiện một cách tuần tự thông qua bốn dịch vụ trên và được đánh số từ nhỏ đến
lớn. Trong GT4, cơ chế bảo mật tương đối giống với GT3. Nhưng GT4 có nhiều cải tiến
thêm vào nhằm tăng hiệu quả sử dụng của dịch vụ như làm thay đổi WS-Security và
Https để làm giảm sự dư thừa tin nhắn trong môi trường WS. Ngoài ra, phương pháp bảo
mật được sử dụng với GSI đã thay đổi từ hướng tiếp cận message level thành transport
Trang 37
Báo cáo bài tập lớn môn Tính toán lưới
level. Đây là hướng nhìn nhằm để cải tiến đến hiệu quả liên quan đến dịch vụ bảo mật.
GT4 còn hỗ trợ thêm tính năng WS-I(Web Services Interoperability Organization) gồm
có Web Services Resource Framework (WS-RF) and Web Services Notification (WS-N)
specifications; Security Markup Language (SAML); Extensible Access Control Markup
Language (XACML).
Tóm lại, cơ chế security trong GT2 không dựa trên chuẩn vì thế việc mở rộng sẽ trở
nên khó khăn hơn. Còn đối với GT4, do dựa vào kiến trúc hướng đối tượng WS nên đã
sớm hình thành chuẩn cho môi trường security trong grid. Ngoài ra, việc mở rộng dựa
trên kiến trúc đối tượng WS giúp cho GT4 có nhiều cải thiện về tính hiệu quả và linh
động của hệ thống. Vì thế, việc áp dụng GT4 trong thương mại cũng ngày càng được
triển khai
6.6 Bảo mật trong cơ sở kiến trúc hệ thống của Grid
Phần này chủ yếu đề cập đến việc bảo mật trong cơ sở kiến trúc của Grid như bảo
mật vật lý; bảo mật hệ điều hành; Grid và tường lửa; phát hiện tấn công host…Đa số
những vấn đề này trong bất kỳ một hệ thống bảo mật đều cần phải có chứ không riêng gì
trong Grid. Nhìn chung, các phương pháp trên đều hướng đến cùng mục đích là làm sao
để chúng ta có thể giám soát và điều khiển được việc truy xuất hệ thống ổn định và an
toàn. Trong bảo mật vật lý các hoạt động mà chúng ta thường làm như ghi lại quá trình
truy xuất, back up dữ liệu hệ thống, sử dụng UPS để không xảy ra hiện tượng mất điện
làm gián đoạn hệ thống hoặc sử dụng phân mảnh để phân chia các mạng khác nhau. Bên
cạnh đó, đối với bảo mật hệ điều hành, người quản trị hệ thống thường hay cấu hình cho
các file hay thành phần trung gian để tăng khả năng bảo mật cho hệ thống. Những lời
khuyên của các nhà quản trị hệ thống khi cấu hình cho hệ điều hành yêu cầu chúng ta cần
lưu ý các vấn đề sau: tắt hết tất cả các dịch vụ không cần thiết; loại bỏ tất cả các user và
group user không nên có; sử dụng password càng dài càng tốt; thường xuyên theo dõi và
update các phiên bản vá lỗi mới của hệ thống; hạn chế việc truy xuất thư mục của người
dùng. Ngoài ra, việc thiết lập tường lửa vẫn được xem là giải pháp để tăng thêm tính bảo
mật cho hệ thống. Hệ thống có càng nhiều cơ chế bảo thì việc bảo mật của nó càng trở
nên hiệu quả hơn. Nhưng không vì lý do đó mà chúng ta áp dụng nhiều giải pháp. Tùy
vào mỗi hệ thống mức độ bảo mật thế nào mà nên lựa chọn giải pháp phù hợp. Nếu việc
thiết lập quá nhiều cơ chế bảo mật thì hao phí tài nguyên vô ích sẽ xảy ra và làm cho hệ
thống giảm đi hiệu suất.
Trang 38
Báo cáo bài tập lớn môn Tính toán lưới
KẾT LUẬN
1. Kết quả đạt được
- Tìm hiểu tổng quan về Grid computing.
- Tìm hiểu các cơ chế bảo mật trong Grid computing.
2. Hạn chế
- Nghiên cứu chưa đầy đủ về các cơ chế bảo mật.
3. Hướng phát triển
- Nghiên cứu đầy đủ và sâu hơn về công nghệ Grid Computing.
- Nghiên cứu các mã nguồn mở công nghệ Grid computing để ứng dụng vào thực
tế.
Trang 39
Báo cáo bài tập lớn môn Tính toán lưới
TÀI LIỆU THAM KHẢO
1. S. Tuecke, K. Czajkowski, I. Foster, J. Frey, S. Graham, C. Kesselman, T. Maquire, T. Sandholm, D. Snelling, P. Vanderbilt, Open Grid Services Infrastructure (OGSI) Version 1.0, GLOBAL GRID FORUM, 27/06/2003, http://www.ggf.org/ogsi-wg.
2. Fran Berman, Anthony G.G. Hey, Geoffrey C. Fox, “Grid Computing”, Wiley, 2003.
3. Bart Jacob, Michael Brown, Kentaro Fukui, Nihar Trivedi, “Introduction to Grid Computing”, IBM Redbooks, 2005.
4. Bài giảng về Grid Computing của thầy Huỳnh Công Pháp.
Trang 40