1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN VĂN TRUNG
NGHIÊN CỨU VIỆC ĐẢM BẢO AN TOÀN
THÔNG TIN TRONG HỆ THỐNG TÍNH
TOÁN LƯỚI
LUẬN VĂN THẠC SĨ
Hà Nội - 2011
2
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN VĂN TRUNG
NGHIÊN CỨU VIỆC ĐẢM BẢO AN TOÀN
THÔNG TIN TRONG HỆ THỐNG TÍNH
TOÁN LƯỚI
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60.48.05
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. Trịnh Nhật Tiến
Hà Nội - 2011
3
MỤC LỤC
MỤC LỤC 1
DANH MỤC THUẬT NGỮ 6
LỜI CAM ĐOAN 8
LỜI CẢM ƠN 10
CHƯƠNG 1. TỔNG QUAN VỀ TÍNH TOÁN LƯỚI 11
1.1.
TÍNH
TOÁN
LƯỚI. 11
1.1.1. Khái niệm Tính toán lưới. 11
1.1.2. Lợi ích của Tính toán lưới. 13
1.1.3. Vấn đề cơ bản của một hệ thống lưới. 15
1.1.4. Kiến trúc của một lưới 16
1.2.
VẤN
ĐỀ
AN
TOÀN
THÔNG
TIN
TRONG
TÍNH
TOÁN
LƯỚI 17
1.2.1. Các thách thức an toàn trong Tính toán lưới. 18
1.2.2. Các chính sách bảo đảm an ninh cho hệ thống lưới 20
1.2.3. Kiến trúc an ninh cho hệ thống lưới 23
CHƯƠNG 2. NỀN TẢNG AN TOÀN THÔNG TIN LƯỚI GSI 29
2.1.
CÁC
KHÁI
NIỆM
CƠ
BẢN
VỀ
AN
TOÀN
THÔNG
TIN 29
2.1.1. Mã hóa thông tin 29
2.1.2. Hệ mã hóa khóa đối xứng. 30
2.1.3. Hệ mã hóa khóa phi đối xứng. 31
2.1.4. Chữ ký số 32
2.1.5. Chứng chỉ số. 33
2.1.6. Nhà cung cấp và quản lý chứng chỉ số. 35
2.2.
CƠ
SỞ
HẠ
TẦNG
AN
TOÀN
THÔNG
TIN
TRÊN
LƯỚI. 37
2.2.1. Cơ sở hạ tầng mật mã khóa công khai. 37
2.2.2. Bảo vệ thông tin mức thông điệp và mức giao vận. 38
2.2.3. Giấy ủy nhiệm lưới. 39
2.2.4. Sự ủy quyền. 39
2.2.5. Chứng thực trong GSI. 40
2.2.6. Ứng dụng của GSI. 40
2.3.
BỘ
CÔNG
CỤ
GLOBUS
TOOLKIT
4.0. 41
2.3.1. Thành phần chính của Globus Toolkit. 41
2.3.2. An toàn bảo mật trong Globus Toolkit. 45
2.3.3. Minh họa cài đặt cơ chế an toàn bảo mật cho dịch vụ GRAM. 47
4
CHƯƠNG 3. HỆ THỐNG QUẢN LÝ TỔ CHỨC ẢO 50
3.1.
TỔ
CHỨC
ẢO. 50
3.1.1. Khái niệm tổ chức ảo. 50
3.1.2. Tổ chức ảo và tài nguyên lưới. 51
3.1.3. Thông tin người dùng trong tổ chức ảo. 53
3.1.3.1 Cấu trúc tổ chức ảo. 53
3.1.3.2 Thông tin người dùng. 54
3.1.3.3 Định dạng thông tin VO. 55
3.1.3.4 Thông tin về các quyền người dùng với RP. 55
3.2.
HỆ
THỐNG
QUẢN
LÝ
TỔ
CHỨC
ẢO. 56
3.2.1. Người dùng với VOMS. 57
3.2.1.1 Người dùng lưới với VOMS. 57
3.2.1.2 Người quản trị với VOMS 60
3.2.2. Dịch vụ VOMS. 61
3.2.2.1 Dịch vụ sinh thuộc tính AAS. 62
3.2.2.2 Dịch vụ đăng ký & quản trị ARS. 63
3.2.3. Phân quyền người dùng trong VOMS. 64
3.2.3.1 Danh sách điều khiển truy cập. 64
3.2.3.2 Quyền thực hiện các tác vụ quản lý VO trong VOMS. 65
3.3.
DỊCH
VỤ
TẠO
DANH
SÁCH
TRUY
CẬP
EDG-MKGRIDMAP. 69
CHƯƠNG 4. KẾT QUẢ THỬ NGHIỆM 70
4.1.
HỆ
THỐNG
QUẢN
LÝ
NGƯỜI
DÙNG
LƯỚI
TÍNH
TOÁN 70
4.1.1. Giới thiệu hệ thống GOODAS. 71
4.1.2. Mô hình bảo mật cho GOODAS. 73
4.2.
THÀNH
PHẦN
QUẢN
LÝ
TỔ
CHỨC
ẢO 74
4.2.1. Sử dụng VOMS. 74
4.2.1.1 Người dùng lưới và VOMS. 75
4.2.1.2 Người quản trị và VOMS. 78
4.2.2
Sử dụng EDG-MKGRIDMAP. 86
4.3.
THÀNH
PHẦN
QUẢN
LÝ
GIẤY
UỶ
NHIỆM 86
4.3.1. Cổng điện tử lưới. 86
4.3.1. Mô hình uỷ quyền truy nhập trên cổng điện tử lưới. 88
4.3.3. Dịch vụ quản lý giấy uỷ nhiệm. 89
4.4
MỘT
SỐ
HA
N
CHÊ
CỦA
VOMS. 92
4.4.1 Hạn chế của VOMS. 92
4.4.2 Hạn chế của EDG-MKGRIDMAP. 93
4.5.
HƯỚNG
PHÁT
TRIỂN
CỦA
VOMS 94
5
4.5.1 VOMRS kết hợp cùng VOMS. 94
4.5.1.1 Tổng quan về VOMRS. 94
4.5.1.2 Đồng bộ VOMRS và VOMS. 96
4.5.2 GUMS & PRIMA thay thế EDG-MKGRIDMAP. 97
KẾT LUẬN 99
TÀI LIỆU THAM KHẢO 100
PHỤ LỤC: CÀI ĐẶT VOMS VÀ EDG-MKGRIDMAP. 101
1.
C
ÀI ĐẶT
VOMS. 101
1.1. Chuẩn bị hệ thống 101
1.2. Cài đặt VOMS 102
2.
C
ÀI ĐẶT
EDG-MKGRIDMAP. 104
2.1. Chuẩn bị hệ thống 104
2.2. Cài đặt EDG-MKGRIDMAP 104
3.
C
ẤU HÌNH HỆ THỐNG
105
3.1. Cấu hình VOMS 105
3.2. Cấu hình VO. 107
3.3. Cấu hình EDG-MKGRIDMAP. 111
6
DANH MỤC THUẬT NGỮ
Từ viết tắt Nghĩa tiếng Anh Chú giải
AAS Attribute Authority Service Dịch vụ phân quyên thuộc tính
AC Attribute Certificate Chứng nhận thuộc tính
ACL Access Control Lists Danh sách điều khiển quyền truy
cập
ARS Administration and
Registration Service
Dịch vụ đăng ký và quản trị
CA Certificate Authority Nhà cung cấp và quản lý chứng chỉ
số
CAS Community Authorization Dịch vụ thẩm quyền cộng đồng
DN Distinguished Name Tên phân biệt người dùng trong lưới
EDG-
MKGRIDMAP
EDG Make Gridmap Công cụ tự động ánh xạ người dụng
cục bộ và người dùng thuộc VO.
FTP File Transfer Protocol Giao thức truyền file qua mạng TCP
GOODAS Grid Oriented Online
Document Analysing
System
Hệ thống lưới tìm kiếm và so khớp
tài liệu điện tử
GRAM Globus Resource
Allocation Management
Quản lý định vị tài nguyên lưới
GRIM Grid Resource Identity
Mapper
Ánh xạ thực thể tài nguyên lưới
GSI Grid Security infrastructure
Hạ tầng an toàn thông tin lưới
GSS-API Generic Security Service
Application Program
Interface
Giao diện lập trình ứng dụng dịch
vụ bảo mật chung
GT Globus Toolkit Bộ công cụ được phát triển bởi
Globus Alliance, dùng để phát triển
các ứng dụng lưới
GUMS Grid User Management
System
Hệ thống quản lý người dùng lưới
LMJFS Local Managed Job
Factory Services
Dịch vụ sinh MJS địa phương
MJS Managed Job Service Dịch vụ quản lý công việc
MMJFS Master Managed Job
Factory Service
Trình chủ sinh MJS
7
OGSA Open Grid Service
Architecture
Kiến trúc dịch vụ lưới
PKI Public Key Infrastructure Hạ tầng khóa công khai
PRIMA PRivilige Management and
Authorization
Dịch vụ quản lý ưu tiên và phân
quyền
RP Resource Provider Nhà cung cấp tài nguyên
SAML Security Assertion Markup
Language
Ngôn ngữ đánh dấu liên kết an toàn
SOA Service Oriented
Architecture
Kiến trúc hướng dịch vụ
SOAP Simple Object Acess
Protocol
Giao thức truy cập đối tượng đơn
giản
SSL Secure Sockets Layer Giao thức bảo mật lớp sockets
TLS Transport Layer Security Giao thức bảo mật tầng giao vận
VO Virtual Organization Tổ chức ảo
VOMRS Virtual Organization
Management Registration
Service
Dịch vụ quản lý đăng ký tổ chức ảo
VOMS Virtual Organization
Membership Service
Dịch vụ thành viên tổ chức ảo
WS Web Service Dịch vụ web
WSDD Web Service Deployment
Descriptor
Ngôn ngữ đặc tả dịch vụ Web
WSRF Web Services Resource
Framework
Framework đưa ra bởi GT4 hỗ trợ
kiến trúc lập trình mới
8
LỜI MỞ ĐẦU
Hiện nay tính toán lưới đang nổi lên như một công nghệ nhiều hứa hẹn trong
tương lai, với khả năng tập hợp các nguồn tài nguyên nhàn rỗi, nhằm hướng tới các
mục tiêu về hiệu năng tính toán và khả năng chia sẻ, truyền thông dữ liệu. Nhiều
trung tâm nghiên cứu và các tổ chức trên thế giới đang áp dụng và triển khai công
nghệ này vào thực tiễn, mở ra các khả năng mới trong lĩnh vực công nghệ thông tin
cũng như các lĩnh vực khác.
Do đặc điểm đa dạng và không đồng nhất của các tổ chức và tài nguyên
trong lưới, vấn đề bảo mật trong lưới là một trong những vấn đề được quan tâm
hàng đầu. Có những vấn đề bảo mật mới chưa từng gặp trong các công nghệ bảo
mật hiện tại cho hệ thống tính toán phân tán truyền thống. Các thách thức về an toàn
bảo mật được đưa ra như các chính sách bảo mật 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.
Một vấn đề quan trọng đặt ra trong nghiên cứu an toàn bảo mật trên lưới là
việc quản lý bảo mật và danh sách điều khiển truy nhập trong một môi trường động
và có tính phân tán cao. Luận văn trình bày một giải pháp hoàn chỉnh cho việc quản
lý người dùng lưới, xác thực phân quyền và cho phép người dùng hay tổ chức ảo
gia nhập mới. Giải pháp được phát triển trong lưới tìm kiếm và so khớp tài liệu điện
tử liên trường GOODAS. Hệ thống lưới được phát triển tại trung tâm tính toán hiệu
năng cao (HPCC) thuộc trường đại học Bách Khoa Hà Nội. Cấu trúc của luận văn
bao gồm các mục sau.
Chương I: Tổng quan về tính toán lưới
Chương II: Nền tảng an toàn thông tin lưới GSI
Chương III: Hệ thống quản lý tổ chức ảo
Chương IV: Kết quả thử nghiệm
Kết luận, Phụ lục & Tài liệu tham khảo được trình bày ở phần cuối của
luận văn.
9
LỜI CAM ĐOAN
Tôi xin cam kết rằng nội dung của bản báo cáo này chưa được nộp cho bất
kỳ một chương trình cấp bằng thạc sĩ nào cũng nhưu bất kỳ một chương trình cấp
bằng nào khác.
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm nghiên cứu,
tìm hiểu của riêng cá nhân tôi. Trong toàn bộ nội dung của luận văn, những điều
được trình bày hoặc là của cá nhân tôi hoặc là được tổng hợp từ nhiều nguồn tài
liệu. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp
pháp.
Tôi xin hoàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy
định cho lời cam đoan của mình.
Học viên
Nguyễn Văn Trung
10
LỜI CẢM ƠN
Trước hết, tác giả xin bày tỏ lòng biết ơn sâu sắc nhất tới thầy giáo hướng
dẫn PGS.TS. Trịnh Nhật Tiến về những ý kiến đóng góp về chuyên môn và sự
động viên khích lệ của thầy trong suốt quá trình làm nghiên cứu của tôi.
Tôi xin gửi lời cám ơn trân trọng tới GS.TS. Nguyễn Thanh Thủy, Giám
đốc Trung tâm Tính toán hiệu năng cao Trường Đại học Bách Khoa Hà Nội. Thầy
đã tạo mọi điều kiện về cơ sở vật chất và tinh thần cho tôi trong quá trình nghiên
cứu tại trung tâm.
Tôi cũng xin được gửi tới Khoa Công nghệ thông tin, Trường Đại học
Công nghệ, Đại học Quốc Gia Hà Nội cùng toàn thể các thầy cô, anh chị và các bạn
lời cảm ơn chân thành về sự giúp đỡ nhiệt tình, vô giá trong quá trình nghiên cứu và
học tập tại đây.
Và cuối cùng tôi xin gửi lời cảm ơn gia đình, bố, mẹ, vợ con tôi về sự hỗ trợ
không thể thiếu của họ. Tình yêu của họ, sự khích lệ, động viên, sự quan tâm, chăm
sóc của họ đã giúp tôi vượt qua tất cả khó khăn để theo học chương trình và hoàn
thiện bản luận văn cuối khoá này. Tôi xin chân thành cảm ơn!
11
Chương 1. TỔNG QUAN VỀ TÍNH TOÁN LƯỚI
1.1. 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ý.
Hình 1-1: Tính toán lưới
- Định nghĩa 1:
Lưới tính toán là một cơ sở hạ tầng phần cứng và phần mềm cung cấp khả
năng truy nhập nhất quán, tin cậy, qui mô và rẻ tới các tài nguyên tính toán mạnh.
I. Foster, C. Kesselman (1999)
- Định nghĩa 2:
Tính toán lưới liên quan tới việc chia sẻ, điều phối tài nguyên và giải quyết
vấn đề trong phạm vi các tổ chức ảo.
I. Foster, C. Kesselman, S. Tuecke, “Anatomy of the Grid“(2000)
12
- Định nghĩa 3:
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
tổ chức nhằm giải quyết một bài toán nào đó.
13
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.
14
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 đó.
15
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)
Việc truy cập các nguồn dữ liệu trên lưới đòi hỏi một khả năng trao đổi, tương
tác với các dữ liệu có thể lên đến giga bytes hoặc hơn thế nữa. Điều này đòi hỏi tính
toán lưới phải có các chiến lược lưu trữ cũng như tối ưu hóa các hệ thống lưu trữ.
16
1.1.4. Kiến trúc của một lưới
Theo [4], một lưới bao gồm các thành phần sau:
1/. Tầng nền (Fabric)
Bao gồm các tài nguyên phân tán, các tài nguyên này có thể có kiến trúc và tính
chất rất khác nhau.
2/. Tầng trung gian lưới (Core Middleware)
Cung cấp các dịch vụ cơ bản của lưới như quản lý truy nhập từ xa, định vị tài
nguyên, đăng ký và khám phá tài nguyên, bảo mật.
3/. Tầng trung gian phía người dùng (User level middleware)
Bao gồm môi trường phát triển ứng dụng, các công cụ lập trình và các bộ môi giới
tài nguyên nhằm lựa chọn các tài nguyên phù hợp và thực hiện công việc trên các
tài nguyên đó.
4/. Các ứng dụng lưới và cổng giao tiếp
Tầng trên cùng là các ứng dụng lưới được phát triển bởi các công cụ hỗ trợ. Cổng
điện tử lưới cung cấp giao diện Web cho các ứng dụng lưới, giúp người dùng có
thể đệ trình công việc và tập hợp kết quả thông qua Web.
17
1.2. 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:
- Đăng nhập một lần:
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.
18
- 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 lập công nghệ:
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).
19
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
20
ả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 đó
+ Giấy ủy nhiệm là thông tin cung cấp định danh cho chủ thể để xác định tên và vai
trò của chủ thể đó. Giấy ủy nhiệm được ký bởi nhà thẩm quyền và có thời gian tồn
tại nhất định. Sau khoảng thời gian đó thì giấy ủy nhiệm không còn hiệu lực
+ Chứng thực là tiến trình để chủ thể chứng minh định danh của mình cho đối
tượng được yêu cầu. Chứng thực hai bên (bên yêu cầu và bên được yêu cầu) là quá
trình hai bên chứng thực lẫn nhau, còn gọi là chứng thực đa phương.
+ Thẩm quyền là tiến trình mà thông qua đó, ta xác định được một chủ thể có được
phép truy nhập và sử dụng tài nguyên hay không
21
+ Miền tin tưởng là cấu trúc quản lý mức logic, do một chính sách an toàn thông
tin ổn định, đơn lẻ mức địa phương nắm giữ, hay nói cách khác, nó là một tập các
chủ thể và đối tượng được quản lý bởi đơn miền quản trị và chính sách cục bộ.
Sau đây là các chính sách bảo vệ thông tin giải quyết các yêu cầu thách thức
trình bày ở phần trên.
1/. Môi trường lưới an toàn đa miền
Do lưới là một tập hợp không đồng nhất của các người dùng và tài nguyên
cục bộ, cho nên các chính sách an toàn cục bộ dành cho các tài nguyên và người
dùng cũng khác nhau, chính sách lưới phải đảm bảo tích hợp được tất cả các tập
hợp không đồng nhất này. Nói chung, môi trường lưới không hạn chế hay không
ảnh hưởng tới các chính sách địa phương, nhiệm vụ của chính sách lưới là phải tập
trung điều khiển các tương tác liên miền, ánh xạ các hoạt động liên miền vào trong
các chính sách địa phương. Ví dụ trong cơ sở hạ tầng GSI, các hoạt động liên miền
được thực hiện bởi các chủ thể sở hữu một chứng chỉ số lưới theo chuẩn X509.
Trong từng miền cụ thể, các chứng chỉ số này sẽ được ánh xạ tương ứng với một
người dùng cục bộ nào đó thông qua một file ánh xạ (grid-mapfile), là một bản ghi
chứa tên người dùng cục bộ và định danh của chứng chỉ số đó.
2/. Hoạt động lưới hạn chế trong đơn miền quản trị
Mặc dù lưới là một tập đa miền quản trị, tuy nhiên các hoạt động đa miền lại
phải tuân theo các chính sách địa phương trên đơn miền quản trị. Nói cách khác,
không có hoạt động hay dịch vụ lưới nào được đưa vào các hoạt động địa phương
thông qua các chính sách của lưới.
3/. Các chủ thể toàn cục và cục bộ đều tồn tại
Tại mỗi đơn miền quản trị đều tồn tại hai chủ thể trên, và chính sách để ánh
xạ từ một phần tử toàn cục vào phần tử cục bộ. Để làm ví dụ, mỗi người dùng đều
có hai tên, một tên toàn cục để hoạt động trên tất cả các tài nguyên, và một tên cục
bộ trên mỗi tài nguyên. Ánh xạ tên toàn cục vào tên cục bộ tạo khả năng đăng nhập
một lần (sigle-sign-on) trên môi trường lưới. Trong cơ sở hạ tầng GSI, tên toàn cục
chính là tên định danh của giấy ủy nhiệm X509, và tên cục bộ là tên người dùng
trong hệ điều hành.
22
4/. Chứng thực đa phương
Hoạt động giữa các thực thể định vị trong các miền tin tưởng khác nhau đòi
hỏi chứng thực đa phương, bảo đảm cho sự an toàn và bí mật của các hoạt động. Ví
dụ trong dịch vụ truyền file GridFTP, cả client và server đều phải chứng minh định
danh của mình trong lưới, client đòi hỏi server có định danh như mình mong muốn
không, còn server sẽ kiểm tra danh sách các định danh client, xem client có quyền
đăng nhập vào server để sử dụng dịch vụ truyền file không.
5/. Ánh xạ
Mỗi đối tượng toàn cục được ánh xạ vào đối tượng cục bộ được coi như
chúng đã qua chứng thực địa phương trên đối tượng cục bộ đó.
6/. Điều khiển truy nhập
Tất cả các quyết định điều khiển được đưa ra đều là cục bộ hay dựa trên cơ
sở của đối tượng cục bộ, hay không có một quyết định điều khiển nào là toàn cục,
áp dụng cho tất cả các tài nguyên cục bộ. Ví dụ, một người dùng lưới có thể sử
dụng dịch vụ truyền file GridFTP tại một tài nguyên này, nhưng tại các tài nguyên
khác trong lưới, anh ta sẽ không có quyền truy nhập. Anh ta không thể ra lệnh
truyền file cho toàn bộ các tài nguyên trong lưới.
7/. Cơ chế sử dụng Giấy chứng nhận
Có thể dùng chứng chỉ số với các chương trình thay mặt cho cùng một tiến
trình, chạy trên cùng một chủ thể trong cùng một miền tin tưởng. Như đã biết, tính
toán lưới liên quan tới hàng trăm tiến trình chạy trên một tài nguyên đơn. Chính
sách này cho phép mở rộng cho các ứng dụng song song có kích thước lớn, bằng
cách tránh các yêu cầu phải tạo một chứng chỉ số duy nhất cho mỗi tiến trình, mà
cho phép các tiến trình song song này dùng chung một tập các chứng chỉ số.
23
1.2.3. Kiến trúc an ninh cho hệ thống lưới
Phần này sẽ trình bày một kiến trúc an ninh dựa trên các ngữ cảnh an toàn và
chính sách an toàn thông tin được nêu ra ở trên.
1/. Thực thể
Môi trường lưới bao gồm các chủ thể và đối tượng trong các tính toán. Chủ
thể bao gồm các người dùng, các tiến trình thực hiện tính toán, bởi vì mỗi tính toán
bao gồm nhiều tiến trình, mỗi tiến trình lại thay mặt cho một người dùng cụ thể. Đối
tượng được hình dung như môi trường rộng lớn của các tài nguyên có sẵn: máy
tính, kho dữ liệu, mạng, thiết bị hiển thị, để phục vụ cho tính toán.
2/. Giấy chứng nhận
Đó là giải pháp thống nhất các định danh của các thực thể lưới, cung cấp cho
cả người dùng và tài nguyên. Cơ chế này giúp giảm bớt thời gian chứng thực khi
thực hiện tính toán, tạo điều kiện thuận lợi cho người dùng. Có hai loại chứng chỉ
số:
+ Giấy chứng nhận người dùng
Được cấp quyền để thay mặt người dùng trong một thời gian hạn chế. Giấy
chứng nhận người dùng hoạt động thay cho người dùng, nhờ đó nó có những thuận
lợi như: không yêu cầu người dùng phải có mặt trong thời gian tính toán, thay vào
đó chứng chỉ số của người dùng phải sẵn có trong suốt thời gian tính toán. Hơn nữa,
thời gian sống của chứng chỉ số được điều khiển bởi người dùng, giúp cho người
dùng hoàn toàn chủ động trong quá trình tính toán mà không cần có mặt ở đó.
+ Giấy chứng nhận tài nguyên
Chứng nhận cho một tài nguyên là thành viên hợp lệ của lưới, các chính sách
an toàn riêng trong tài nguyên đó tương thích với các chính sách chung của lưới. Ví
dụ, trong chính sách an toàn của Globus Toolkit 4 (GT4), giấy ủy nhiệm tài nguyên
GRIM (Grid Resource Identity Mapper) chứng minh tài nguyên này là thành viên
của lưới, tuân theo chính sách an toàn của lưới. Ngoài ra, kiến trúc GRIM cho phép
cơ chế ủy quyền truy cập tài nguyên (e.g. máy) thông qua chương trình setuid, cho
phép tài nguyên này nằm lâu dài trong một máy cụ thể, tuân theo chính sách an toàn
trong máy đó.
24
3/. Các giao thức
Là các quy ước được đưa ra cho hoạt động an toàn trong môi trường lưới.
Trong kiến trúc này, sử dụng một số giao thức giúp cho các hoạt động trên toàn bộ
lưới: người dùng có thể đăng nhập, định vị tài nguyên, định vị các tài nguyên khác
trong tiến trình thực hiện.
• Mô tả kiến trúc
U, R, P: tương ứng là các người dùng, tài nguyên, và tiến trình.
UP, RP: chứng chỉ số người dùng và chứng chỉ số tài nguyên.
CX: Giấy ủy nhiệm của chủ thể X.
SigX(text): văn bản (text) được kí bởi chủ thể X.
Hình 1-4: Mô hình kiến trúc bảo vệ thông tin của hệ thống tính toán lưới
Như trên hình vẽ, các hoạt động trong kiến trúc bao gồm:
1/. Người dùng thông qua giấy ủy nhiệm người dùng, đăng nhập hệ thống:
Sử dụng giao thức 1.
2/. Định vị tài nguyên và khởi tạo các tiến trình qua giấy ủy nhiệm người dùng:
Sử dụng giao thức 2.
25
3/. Mỗi tiến trình có thể định vị các tài nguyên khác một cách trực tiếp:
Sử dụng giao thức 3.
4/. Khởi tạo bảng ánh xạ các định danh toàn cục vào trong các định danh cục bộ:
Sử dụng giao thức 4.
Sau đây là tóm tắt các giao thức trên:
Giao thức 1: Đăng nhập hệ thống
1/. Người dùng sử dụng chứng chỉ số để đăng nhập vào hệ thống máy tính
2/. Người dùng tạo ra giấy ủy nhiệm người dùng (C
UP
), sử dụng chứng chỉ số người
dùng UP để kí lên một bản ghi bao gồm: định danh người dùng, tên máy cục bộ,
thời gian hợp lệ cho C
UP
và bất cứ thông tin nào được đòi hỏi bởi giao thức chứng
thực sử dụng để cài đặt kiến trúc.
Cup = SigU (usr-id, máy, start-time, end-time, auth-info).
Ở đây cần phân biệt chứng chỉ số người dùng UP và giấy ủy nhiệm người
dùng C
UP
. Chứng chỉ số người dùng UP cho phép các hoạt động trên lưới, tuy nhiên
nó có một vài hạn chế: dễ bị tổn thương và không hạn chế thời gian hoạt động khi
thay mặt người dùng. Giải pháp là sử dụng giấy ủy nhiệm tạm thời C
UP
, là sự kết
hợp của chứng chỉ số UP với một khoá bí mật tương ứng.
Giấy ủy nhiệm C
UP
có thể hoạt động thay mặt người dùng, nhưng thời gian
hoạt động hạn chế và một số ràng buộc bởi người dùng như: tên máy (nơi mà UP
được phép hoạt động), tên các miền (nơi mà UP được phép khởi tạo tiến trình và sử
dụng tài nguyên).
3/. Người dùng sở hữu giấy uỷ nhiệm C
UP
được phép khởi tạo một tiến trình. Nó
dựa trên chính sách an toàn cục bộ để bảo vệ tính toàn vẹn của C
UP
.