Tải bản đầy đủ (.doc) (27 trang)

BÁO CÁO MÔN TÍNH TOÁN LƯỚI ĐỀ TÀI: GRID SECURITY

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (622.32 KB, 27 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA

BÁO CÁO MÔN TÍNH TOÁN LƯỚI

ĐỀ TÀI: GRID SECURITY

HV:

LÊ THỊ MINH CHÂU
HUỲNH THỊ KHÁNH DUYÊN
TRẦN THỊ THANH THỦY

TP. HỒ CHÍ MINH 06/2010


Nội dung
Nội dung............................................................................................................................................................2
1. Giới thiệu......................................................................................................................................................5
2. Cơ sở lý thuyết của bảo mật.........................................................................................................................5
2.1. Các khái niệm cơ bản.............................................................................................................................5
2.2. Mã hóa...................................................................................................................................................5
2.2.1. Symmetric key................................................................................................................................5
2.2.2. Asymmetric key..............................................................................................................................6
2.2.3. Digital signature..............................................................................................................................6
2.2.4. Certificate.......................................................................................................................................8
3. Những tác động của bảo mật lên các kịch bản sử dụng grid tiêu biểu.......................................................9
3.1. Các thuật ngữ liên quan........................................................................................................................9
3.2. Các điều kiện để bắt đầu một phiên làm việc lưới...............................................................................9
3.3. Các bước cần thực hiện trước khi một user cụ thể tham gia vào phiên làm việc lưới.......................9
3.4. Các trường hợp sử dụng cụ thể............................................................................................................9


3.4.1. Immediate job execution...............................................................................................................9
3.4.2. Accessing grid information services.............................................................................................10
Information Services là một kho lưu trữ thông tin tập trung cho phép xác định các dịch vụ cũng như
các trạng thái và tính sẵn sàng của các dịch vụ đó................................................................................10
Nhiều dịch vụ đòi hỏi việc truy cập có điều khiển cẩn thận đến các thông tin liên quan đến dịch vụ
mà nó cung cấp, trạng thái hiện tại của dịch vụ và ai có thể sử dụng dịch vụ này...............................10
Các yêu cầu bảo mật ở đây:...................................................................................................................10
4. Thách thức và yêu cầu trong bảo mật hệ thống lưới................................................................................11
4.1. Thách thức...........................................................................................................................................11
4.2 .Yêu cầu về bảo mật trong hệ thống lưới.............................................................................................12
5. Bảo mật trong hệ thống lưới......................................................................................................................13
5.1. Tình trạng hiện tại...............................................................................................................................13
5.2. Kiến trúc bảo mật lưới.........................................................................................................................15
6. Grid Security trong thực tế - GSI................................................................................................................19
6.1. Các tính năng chính trong GSI.............................................................................................................20


6.2. Các thành phần trong GSI....................................................................................................................20
6.2.1. Message Protection......................................................................................................................22
6.2.2. Authentication và Delegation......................................................................................................22
6.2.3. Authentication với Username và Password.................................................................................23
6.2.4. Authorization................................................................................................................................23
6.2.5. Các thành phần hỗ trợ khác trong GSI.........................................................................................25
6.3. GSI và bảo mật trong grid....................................................................................................................26
7. Tài liệu tham khảo.......................................................................................................................................26


Mục lục hình
Hình 1:Mã hóa đối xứng...................................................................................................................................6
Hình 2: Mã hóa bất đối xứng............................................................................................................................6

Hình 3: Mô hình chữ ký điện tử đơn giản........................................................................................................7
Hình 4: Mô hình chữ ký điện tử bảo mật.........................................................................................................7
Hình 5: Certificate.............................................................................................................................................8
Hình 6: Ví dụ minh họa của một quá trình tính toán phân tán trên hệ thống lưới: Người sử dụng tạo ra
một sự tính toán để truy xuất dữ liệu trên nhiều vùng khác nhau...............................................................12
Hình 7: Kiến trúc của Akenti...........................................................................................................................14
Hình 8: Push model.........................................................................................................................................14
Hình 9: GT4 GSI và các chuẩn được sử dụng trong GSI.................................................................................21
Hình 10: GSI Implementation.........................................................................................................................22
Hình 11: CAS....................................................................................................................................................24
Hình 12: Authorization Framework................................................................................................................25


1. Giới thiệu
Nhìn chung, bảo mật trong IT liên quan đến việc đảm bảo các thông tin quan trọng và các
cơ sở hạ tầng liên quan không bị xâm nhập hoặc bị đe dọa bởi các tác nhân bên ngoài. Các tác
nhân bên ngoài có thể là bất cứ người nào không đủ thẩm quyền truy cập vào các thông tin hay
các cơ sở hạ tầng quan trọng. Lưới ngày càng được đề cập đến và sử dụng trong tất cả các lĩnh
vực kinh doanh, công nghiệp, hàn lâm, chính phủ. Điều đó có nghĩa là bảo mật lưới là một khía
cạnh quan trọng trong kiến trúc tổng thể nếu nó được sử dụng cho các kết cấu hạ tầng quan
trọng.
Trong phạm vi bài báo cáo này chúng ta sẽ xem xét cơ sở lý thuyết của bảo mật, các yêu
cầu và thách thức về bảo mật trong môi trường lưới cũng như cách bảo mật hệ thống lưới trong
thực tế như thế nào?

2. Cơ sở lý thuyết của bảo mật
Khi dữ liệu được truyền trên mạng thì điều gì đảm bảo dữ liệu đến đúng nơi, không bị
mất hay chỉnh sửa. Điều này được giải quyết bằng cách mã hóa dữ liệu bằng các thuật giải và
xác định các cơ chế truyền dữ liệu thông qua các giao thức.
2.1. Các khái niệm cơ bản

Privacy – tính riêng tư: chỉ có người gửi và người nhận mới có thể hiểu được thông điệp
trao đổi.
Integrity – tính toàn vẹn: đảm bảo nội dung được nhận là chính xác, không bị chỉnh sửa.
Authentication – xác thực: các bên tham gia quá trình truyền nhận phải xác thực bản thân
họ, có thể thông qua cơ chế username & password.
Authorization – cấp quyền: user chỉ có thể thực hiện các thao tác mà họ được gán quyền.
2.2. Mã hóa
Mã hóa là quá trình dùng khóa để mã hóa và giải mã dữ liệu, vậy khóa mã hóa và khóa
giải mã có cần giống nhau hay không? Có hai phương pháp người ta thường dùng để mã hóa là
hệ mật khóa đối xứng và bất đối xứng. Ngoài ra liên quan đến mã hóa còn các khái niệm digital
signature và certificate.
2.2.1. Symmetric key


Hình 1:Mã hóa đối xứng
Bên gửi dùng khóa để mã hóa dữ liệu gửi đi, bên nhận dùng chính khóa đó để giải mã dữ
liệu nhận được. Khóa này chỉ có bên gửi và bên nhận biết.
2.2.2. Asymmetric key

Hình 2: Mã hóa bất đối xứng
Bên gửi dùng khóa công khai của bên nhận để mã hóa dữ liệu, bên nhận dùng khóa riêng
tư của mình để giải mã ra dữ liệu gốc.
2.2.3. Digital signature


Hình 3: Mô hình chữ ký điện tử đơn giản
Mô hình đơn giản có văn bản (không cần biết mã hóa hay chưa), dùng khóa bí mật ký
vào văn bản này. Người nhận sẽ dùng khóa công khai của người ký để kiểm tra văn bản này có
đúng là của người gửi hay không.


Hình 4: Mô hình chữ ký điện tử bảo mật


2.2.4. Certificate

Hình 5: Certificate
Là một dạng văn bản điện tử mà nó tích hợp chữ ký điện tử vào trong đó để kết hợp việc
xác nhận với khóa công khai. Certificate có thể chứa các thành phần:
-

Khóa công khai để ký xác nhận.

-

Tên người sở hữu, tên máy tính hoặc tên tổ chức.

-

Thời hạn hiệu lực


3. Những tác động của bảo mật lên các kịch bản sử dụng grid tiêu biểu
3.1. Các thuật ngữ liên quan
- Grid user: người cần sử dụng tài nguyên
-

Principal: bất kỳ thực thể nào (có thể là người dùng hoặc process) có id xác định muốn sử

dụng hay cung cấp tài nguyên
-


Skateholder : người hoặc tổ chức thiết lập policy lên resource

-

Grid gateway: một process mà nó chấp nhận các yêu cầu truy xuất tài nguyên từ xa.

-

Grid resource gateway: process điều khiển việc sử dụng resource.

-

Grid session: các hoạt động mà một người cụ thể thực hiện trong suốt thời gian làm việc
trên hệ hống lưới.

3.2. Các điều kiện để bắt đầu một phiên làm việc lưới
- Mỗi user và principle có một ID xác định duy nhất trong hệ thống lưới.
-

Tuy nhiên một số tài nguyên chỉ cho phép user có local ID truy xuất nên local
administrator phải ánh xạ từ Grid ID sang local user ID.

-

Tất cả ID được tạo ra và được xác nhận là từ một nguồn duy nhất nên chương trình ứng
dụng phải đánh giá được độ tin cậy của các authentication server với các dịch vụ mà nó
cung cấp.

3.3. Các bước cần thực hiện trước khi một user cụ thể tham gia vào phiên làm việc lưới

- Đầu tiên là thiết lập các quyền truy xuất và phân phối trên resource phụ thuộc vào
resource owner’s policy. System administrator của resource sẽ quy định các policy này.
-

Thứ hai là sử dụng proxy certificate thay cho Grid ID là một tính năng mong muốn của
hệ thống lưới.

-

Thứ ba là có thể thiết lập các thông số bảo mật theo từng phiên làm việc.

3.4. Các trường hợp sử dụng cụ thể
3.4.1. Immediate job execution
Một user muốn upload một số lượng lớn dữ liệu lên hệ thống lưới, dữ liệu đó sau đó có
thể được truy xuất và phân tích xử lý. Các site tài nguyên có thể được lựa chọn bởi một agent đại
diện cho user, thông thường là dịch vụ được cung cấp bởi tổ chức khác, “super schedulers”.
Các yêu cầu bảo mật ở đây là:


-

“super schedulers” tương tác với các thành phần của Inforamtion Services của hệ thống
lưới để xác định các máy chứa resouce

-

Nếu user có quyền thực thi trên các máy của hệ thống lưới thì super schedulers sẽ duy trì
việc cấp phát tài nguyên cho user

-


Controlling agent của mỗi remote job sẽ đại diện user gọi super scheduler khi cần truy
xuất tài nguyên

-

Việc chứng thực user và grid gateway phải được thực hiện trước khi job được thực thi

-

Grid gateway phải ánh xạ grid ID sang local ID và submit request cho resource gateway
để job có thể chạy với quyền user cục bộ.

-

Việc thực thi các job có thể cần phải được sự ủy quyền để đọc và ghi tập tin từ xa thay
cho người sử dụng

-

Nếu một remote job ghi kết quả lên file trong file server AFS và DFS thì nó cần phải có
Kerberos ticket

3.4.2. Accessing grid information services
Information Services là một kho lưu trữ thông tin tập trung cho phép xác định các
dịch vụ cũng như các trạng thái và tính sẵn sàng của các dịch vụ đó.
Nhiều dịch vụ đòi hỏi việc truy cập có điều khiển cẩn thận đến các thông tin liên quan
đến dịch vụ mà nó cung cấp, trạng thái hiện tại của dịch vụ và ai có thể sử dụng dịch vụ này.
Các yêu cầu bảo mật ở đây:
-


Việc xác thực phải được diễn ra giữa user và information services.

-

Information services phải thực thi chính sách điều khiển truy cập như được mong muốn
trong dịch vụ

-

Việc publish thông tin giữa publisher và information services phải đảm bảo tính toàn vẹn
và tính tin cậy của dữ liệu.

-

Auditing use of Grid resources

-

The site system administrator, the Grid administrator có thể cần theo dõi các truy cập vào
các resource

-

The stakeholder có thể muốn theo dõi việc sử dụng tài nguyên của họ.


-

The resource gateway server phải lưu trữ log file của tất cả các thao tác truy cập và thời

gian truy cập của từng user.

-

Định dạng của file log này phải được thỏa thuận giữa system administrator và resource
gateway

-

Việc truy xuất file log này phải được giới hạn, nhưng skateholder có thể xem các phần
liên quan đến tài nguyên của họ

-

Cần phải xác định skateholder với resource

-

Để thực hiện việc phát hiện xâm nhập theo time thực, resource gateway phải nhận dạng
và báo hiệu các tác động lên resource để ghi vào file log.

4. Thách thức và yêu cầu trong bảo mật hệ thống lưới
4.1. Thách thức
• Số lượng người sử dụng lớn và thường xuyên thay đổi. Những người tham gia trong các
tổ chức như sẽ bao gồm các thành viên của nhiều tổ chức khác nhau và thường xuyên thay đổi.
• Tài nguyên dùng chung lớn, bởi vì các tổ chức và người dùng quyết định trong việc tham
gia đóng góp tài nguyên phân tán, số lượng cũng như nơi lưu trữ vùng tài nguyên sẵn có cũng
thay đổi liên tục.
• Một quá trình tính toán có thể yêu cầu cấp phát tài nguyên, khởi động quá trình tính toán
và trao trả tài nguyên một cách linh động trong quá trình xử lý. Theo ví dụ trên, sự tính toán yêu

cầu tài nguyên ở trên những vùng ở các vị trí khác nhau. Có nghĩa là, trong quá trình sống của
một quá trình tính toán có thể bao gồm các tập các xử lý một cách linh động trong quá trình chạy
của nó ở các tài nguyên khác nhau trên từng vùng khác nhau.
• Các tiến trình cấu thành một quá trình tính toán có thể giao tiếp bằng cách sử dụng các cơ
chế khác nhau gồm unicast và multicast. Trong khi các tiến trình này hình thành một thực thể
luận lý kết nối đầy đủ và đơn lẻ thì các kết nối giao tiếp cấp thấp có thể được tạo và được hủy
một một cách linh động trong suốt quá trình thực hiện chương trình.
• Tài nguyên được yêu cầu thông qua các kỹ thuật và chính sách chứng thực và cấo phép
khác nhau và chúng ta sẽ bị giới hạn khả năng thay đổi. Trong ví dụ ở hình dưới, chúng ta chỉ
định tình huống này bằng cách áp dụng chính sách điều khiển truy cập ở những vùng khác nhau
bằng cách sử dụng các kỹ thuật Kerberos, plaintext passwords, Secure Socket Library và secure
shell.


Hình 6: Ví dụ minh họa của một quá trình tính toán phân tán trên hệ thống lưới: Người sử dụng
tạo ra một sự tính toán để truy xuất dữ liệu trên nhiều vùng khác nhau

• Mỗi người dùng sẽ được gắn với những không gian tên cục bộ khác nhau, các ủy nhiệm
thư hoặc các tài khoản khác nhau trên các vùng khác nhau nhằm phục vụ cho quá trình theo dõi
cũng như điều khiển truy cập mà được áp dụng cho từng vùng ở các vị trí cụ thể. Tại một số
vùng, một người dùng có thể có tài khoản thông thường. Tại các vùng khác, người dùng có thể
sử dụng tài khoản guest hoặc là một tài khoản được cấp bởi tổ chức đó.
• Tài nguyên và người dùng có thể nằm ở những vùng khác nhau tại những quốc gia khác
nhau.
Tóm lại, vấn đề mà chúng ta đang quan tâm là cung cấp những giải pháp bảo mật cho
phép các quá trình tính toán phối hợp chính sách quản lý truy cập đa dạng và các thao tác bảo
mật trong điều kiện môi trường tính toán phức tạp.

4.2 .Yêu cầu về bảo mật trong hệ thống lưới
Các hệ thống lưới và các ứng dụng có thể yêu cầu một phần hoặc toàn bộ các chức năng

bảo mật bao gồm chứng thực, điều khiển truy cập, tính toàn vẹn, tính riêng tư và chống thoái
thác. Trong bài báo này, chúng ta tập trung chính trên hai chức năng chứng thực và điều khiển
truy cập. Đặc biệt (1)chúng ta tập trung cho các giải pháp chứng thực cho phép người dùng hoặc
các tiến trình tạo thành quá trình tính toán của người dùng và các tài nguyên phục vụ cho các tiến
trình đó xác định các định danh của nhau, (2)và cho phép áp dụng kỹ thuật điều khiển truy cập
mà không cần phải thay đổi nếu có thể. Chúng ta sẽ thảo luận việc thiết lập các hình thức chứng


thực trong một chính sách bảo mật bao gồm các chính sách bảo mật cục bộ để tích hợp vào hệ
thống toàn cục.
Trong quá trình phát triển kiến trúc bảo mật hệ thống lưới đáp ứng các yêu cầu trên.
Chúng ta cũng phải thỏa mãn các ràng buộc được dẫn xuất từ các đặc tính của môi trường và các
ứng dụng lưới.
Single sign-on : Người dùng có thể đăng nhập một lần khi bắt đầu quá trình tính toán và
việc yêu cầu cấp phát tài nguyên, sử dụng tài nguyên, trao trả tài nguyên và quá trình trao đổi nội
bộ được thực hiện mà không cần đăng nhập lại trong những lần sau đó.
Protect of credentials: ủy nhiệm thư của người dùng như password, khóa riêng… phải
được bảo vệ.
Interoperability with local security solutions: Các giải pháp bảo mật có thể cung cấp các
kỹ thuật về việc truy cập trong các vùng cụ thể thì việc truy cập đó chịu sự quản lý của chính
sách bảo mật của vùng đó
Exportability: khả năng được thực hiện hoặc được xuất khẩu qua nhiều quốc gia.
Uniform credentials/ certification infrastructure : truy cập giữa các vùng yêu cầu ở mức
tối thiểu, một cách chung của việc biễu diễn định danh của yếu tố bảo mật như một người dùng
hoặc một tài nguyên thực tế. Do vậy, rất cần thiết để dùng một chuẩn(như việc áp dụng chuẩn
X.509v3) để mã hóa các ủy nhiệm thư cho các yếu tố bảo mật.
Support for secure group communication: Một quá trình tính toán bao gồm một tập hợp
các tiến trình hoạt động thành một nhóm. Sự kết hợp thành nhóm các tiến trình có thể thay đổi
trong quá trình sống của nó. Vì vậy cần bảo đảm giao tiếp bảo mật cho các nhóm thay đổi động.
Hiện nay chưa có giải pháp bảo mật cụ thể hỗ trợ đặc trưng này.

Support for multiple implementations: Chính sách lưới có thể không chỉ định một kỹ
thuật hiện thực cụ thể mà thay vào đó nó có khả năng thực thi một chính sách bảo mật dựa rất
nhiều các kỹ thuật bảo mật dựa vào mã hóa khóa công cộng và khóa chia sẻ.

5. Bảo mật trong hệ thống lưới
5.1. Tình trạng hiện tại
Authentication and Delegation : sử dụng chuẩn X.509, xác thực bởi những tên khác
nhau trong một chuẩn xác thực chung.
Delegation và single sign-on cũng sử dụng chuẩn proxy X.509
Việc xác thực username và password cũng sử dụng chuẩn X.509.


Ủy quyền trên proxy : password và khóa cá nhân không được gửi thông qua network.
Authorization :


Pull model : gán quyền của user trên những điều kiện đặc biệt, ủy quyền và quản
lý quyền của user.

Hình 7: Kiến trúc của Akenti



Push model : quản lý quyền của user theo vai trò. Quản lý quyền thông qua
administrator trung tâm.

Hình 8: Push model


5.2. Kiến trúc bảo mật lưới

Lưới tính toán có thể mở rộng linh động, đòi hỏi các tài nguyên khi được yêu cầu để giải
quyết vấn đề và giải phóng chúng khi không cần cần nữa. mỗi lần sự tình toán nhận được một tài
nguyên, nó làm nhân danh một người dùng cụ thể. Tuy nhiên, sẽ không thực tế nếu người dùng
tương tác trực tiếp với mỗi tài nguyên cho mục đích chứng thực vì số lượng tài nguyên có thể rất
lớn hoặc thời gian hoạt động có thể kéo dài. Người dùng có thể mong muốn cho phép sự tính
toán thao tác mà không có sự can thiệp của họ. vì thế khái niệm ủy nhiêm người dùng được đưa
ra nhằm thay mặt người dùng.
Một ủy nhiêm người dùng (user proxy) là một tiến trình quản lý phiên được cho phép đại
diện cho người dùng trong khoảng thời gian giới hạn.
Một bộ ủy nhiệm người dùng hoạt động như đại diện cho người dùng. Nó có ủy nhiệm
thư riêng. Việc lờ đi nhu cầu phải có người dùng trực tuyến trong suốt quá trình tính toán và việc
lờ đi như cầu phải có thẻ ủy nhiệm của của người dùng có sẵn cho mọi thao tác bảo mật. Hơn
nữa, thời gian sống của ủy nhiệm được điều tiết bởi người dùng và có thể được giới hạn trong
suốt thời gian tính toán.
Trong kiến trúc, chúng ta cũng định nghĩa một thực thể đại diện cho một tài nguyên, phục
vụ như một giao diện giữa kiến trúc bảo mật lưới và kiến trúc bảo mật cục bộ.
Một bộ ủy nhiệm tài nguyên(resource proxy) là một chương trình được sử dụng để
chuyển đổi giữa các thao tác bảo mật giữa các phạm vi và các cơ chế bên trong của các phạm vi
cục bộ.
Cho một tập các chủ thể và các đối tượng, kiến trúc được xác định bằng cách chỉ ra các
giao thức được sử dụng khi các chủ thể và các đối tượng tương tác. Trong khi định nghĩa các
giao thức, chúng ta sẽ sử dụng U, R, P để chỉ đến người dùng, tài nguyên và tiến trình một cách
tương ứng. UP và RP là bộ ủy nhiệm người dùng, bộ ủy nhiêm tài nguyên. Nhiều giao thức sau
sẽ dựa vào khả năng xác nhận rằng một phần dữ liệu được bắt nguồn từ một nguồn được biết, X,
mà không có sự điều chỉnh nào. Chúng ta biết những điều kiện này là đúng nếu văn bản được
“ký” bởi X. Chúng ta chỉ ra chữ ký của một số văn bản text của chủ thể X bằng SigX{text}
U, R, P
User, resource, process
UP, RP
User proxy, resource proxy

CX
ủy nhiêm thư của chủ thể X
SigX{text} văn bản text được ký bởi chủ thể X
Vùng tương tác xuất hiện giữa các thực thể trong lưới tính toán được định nghĩa bởi các
chức năng trong hệ thống cơ sở. tuy nhiên, dựa vào kinh nghiệm và các hệ thống lưới hiện nay,
có thể giả sử rằng hệ thống lười sẽ bao gồm các thao tác sau đây:



Cấp phát tài nguyên bởi người dùng.
Cấp phát tài nguyên bởi 1 tiến trình


• Giao tiếp giữa các tiến trình được cấp phát trong các phạm vi tín thác(phạm vi tín nhiệm)
khác nhau.
Chúng ta sử dụng thuật ngữ cấp phát (allocation) để diễn tả các thao tác được yêu cầu để
cung cấp cho một người dùng một sự truy cập đến một tài nguyên. Trên một số hệ thống, điều
này sẽ bao gồm các tương tác với bộ lập lịch để nhận về 1 sự giữ chỗ. Chúng ta phải định nghĩa
các giao thức điều khiển các tương tác giữa UP-RP, P-RP và P-P, U-UP.
Trong kiến trúc của chúng ta, đáp ứng các nhu cầu trên bằng cách cho phép một U đăng
nhập vào hệ thống lưới, tạo một UP sử dụng giao thức 1. UP có thể cấp phát tài nguyên sử dụng
giao thức 2. P có thể cấp phát tài nguyên thêm một cách trực tiếp sử dụng giao thức 3. Giao thức
4 được sử dụng để ánh xạ từ các chủ thể toàn cục sang chủ thể cục bộ.
Sau đây là phần mô tả các giao thức này chi tiết hơn.
1. Giao thức tạo ủy nhiệm người dùng
Thực tế, ủy nhiệm người dùng là một tiến trình đặc biệt được khổi động bởi người dùng
thi hành trên một số máy cục bộ của người dùng đó. Vấn đề chính trong giao thức tạo ủy nhiệm
người dùng là bản chất của ủy nhiệm thư được dành cho bộ ủy nhiệm và cách bộ ủy nhiệm có thể
nhận được ủy nhiệm thư này.
Một người dùng có thể cho phép bộ ủy nhiệm hoạt động nhân danh mình nhờ vào việc

cung cấp cho bộ ủy nhiệm một ủy nhiệm thư thích hợp( như mật khẩu, khóa riêng…). Bộ ủy
nhiệm có thể sử dụng các ủy nhiệm thư này một cách trực tiếp. Tuy nhiên, cách tiếp cận này có 2
bất lợi đáng kể: rủi ro cao của ủy nhiệm thư đang được dàn xếp và không cho phép chúng ta giới
hạn khoảng thời gian mà bộ ủy nhiệm hoạt động nhân danh bộ ủy nhiệm. Thực vậy, một ủy
nhiệm thư tạm thời, CUP, được phát sinh cho bộ ủy nhiệm người dùng. Người dùng cấp phép
bàng cách gán vào ủy nhiệm thư này một bí mật. C UP bao gồm khoảng thời gian hợp lệ cũng như
những giới hạn khác (ví dụ như tên host).
Tiến trình thực sự của việc tạo bộ ủy nhiệm người dùng được tóm tắt trong giao thức 1.
với kết quả của giao thức này, bộ ủy nhiệm người dùng có thể sử dụng ủy nhiệm thư tạm thời để
chứng thực với bộ ủy nhiệm tài nguyên.
1. Người dùng truy cập vào máy tính mà tại đó bộ ủy nhiệm người dùng sẽ được tạo bằng cách
sử dụng bất kỳ dạng chứng thực nào được sử dụng trên máy tính đó.
2. Người dùng phát sinh ủy nhiệm thư cho bộ ủy nhiệm người dùng, C UP, bằng cách dùng ủy
nhiệm thư của họ, CU, để gán một dòng thông tin chứa id của người dùng, tên host cục bộ,
khoảng thời gian hợp lệ của C UP, và bất kỳ thông tin nào khác được yêu cầu bởi giao thức chứng
thực.
CUP = SigU{user-id, host, start-time, end-time, auth-info,…}
3. Tiến trình bộ ủy nhiệm người dùng được tạo và được cung cấp C UP. Nó tùy thuộc vào chính
sách bảo mật cục bộ để bảo vệ sự toàn vẹn của CUP trên máy tính mà bộ ủy nhiệm người dùng tồn
tại.


Giao thức 1: tạo bộ ủy nhiệm người dùng
Khái niệm bộ ủy nhiệm người dùng không phải là duy nhất đối với kiến trúc của chúng
ta. Ví dụ, Kerberos tạo ra một thẻ thời gian sống giới hạn để đại diện cho người dùng. Các hệ
thống khóa công cộng khác nhau cũng sử dụng các kỹ thuật tương tự như của chúng ta trong đó
các ủy nhiệm thư tạm thời được sử dụng để phát sinh một giấy chứng nhận có thời gian sống giới
hạn dùng để đại diện cho người dùng. Sự khác biệt duy nhất là cách mà một bộ ủy nhiệm người
dùng tương tác với bộ ủy nhiệm tài nguyên để thực hiện việc đăng nhập và ủy thác.
2. Giao thức cấp phát tài nguyên

Trong việc cấp phát tài nguyên chúg ta chia vấn đề thành 2 lớp: cấp phát tài nguyên bởi
một bộ ủy nhiêm người dùng và cấp phát tài nguyên bởi một tiến trình.
Các thao tác trên các tài nguyên được điều hành bởi một thực thể được gọi là bộ ủy
nhiệm tài nguyên, chịu trách nhiệm trong việc lập lịch truy cập đến một tài nguyên và trong việc
ánh xạ một quá trình tính toán vào trong tài nguyên đó. Bộ ủy nhiệm tài nguyên được sử dụng
như sau. Một bộ ủy nhiệm người dùng yêu cầu truy vập vào một tài nguyên đầu tiên sẽ xác định
định danh của bộ ủy nhiệm tài nguyên của tài nguyên đó. Sau đó, sẽ gửi yêu cầu đến bộ ủy
nhiệm tài nguyên thích hợp. Nếu yêu cầu thành công, tài nguyên được cấp phát và một tiến trình
được tạo trên tài nguyên đó.
Yêu cầu có thể không thành công do tài nguyên được yêu cầu không có sẵn (thất bại do
cấp phat), do người dùng không được nhận ra như người sử dụng tài nguyên đó(thất bại do
chứng thực) hoặc bởi người dùng không có quyền được sử dụng tài nguyên trong chế độ được
yêu cầu (thất bại do cấp quyền). Tùy thuộc vào bản chất của tài nguyên và của chính sách cục bộ,
việc cấp phép(authorization) có thể được kiểm tra ở thời điểm cấp phát tài nguyên hoặc ở thời
điểm tạo tiến trình hoặc có thể được bỏ qua không cần phải kiểm tra.
Chúng ta định nghĩa ở giao thức 2 một cơ chế được dùng để gửi một yêu cầu đến bộ ủy
nhiêm tài nguyên từ một bộ ủy nhiệm người dùng. Việc xác nhận trong bước 3 có thể yêu cầu
việc ánh xạ các thẻ ủy nhiệm thư của người dùng vào trong một mã số người dùng cục bộ hoặc
tên tài khoản nếu như chính sách của bộ ủy nhiệm tài nguyên là kiểm tra cho việc cấp phép trong
thời điểm cấp phát tài nguyên. Một cách khác là việc kiểm tra cấp phép có thể hoãn lại cho đến
thời điểm tạo tiến trình. Cơ chế ánh xạ này sẽ được đề cập trong phần 5.4
Giao thức tạo một ủy nhiệm thư cho các tiến trình được tạo mới, ủy nhiệm thư này, C P,
cho các tiến trình cả khả năng chứng thực chính nó và khả năng xác định người dùng đại diện
cho tiến trình được tạo. Một yêu cầu cấp phát tài nguyên có thể làm nảy sinh việc tạo nhiều tiến
trình trên tài nguyên ở xa(remote resource). Chúng ta gán cho tất cả các tiến trình đó cùng một
ủy nhiệm thư. Một thuận lợi của sự quyết định này là trong tình huống khi người dùng cấp phát
các tài nguyên trên các máy tính song song, khả năng co giãn được nâng lên. Bất lợi là không thể
sử dụng các thẻ ủy nhiệm để phân biệt được hai tiến trình được khởi động trên cùng một tài
nguyên bởi cùng một yêu cầu cấp phát. Tuy nhiên, đặc trưng này thường không thực tế.



Sự tồn tại của các ủy nhiệm thư của tiến trình cho phép chúng ta thi hành nhiều giao thức
thêm mà các giao thức này cho phép một tiến trình điều khiển truy cập đến các thao tác giao tiếp
tới trên cơ sở mỗi chủ thể. Ví dụ như một tiến trình có thể sử dụng các ủy nhiệm thư tiến trình để
chúng thực việc gửi một tiến trình đến một tiến trình đích, thỏa thuận một khóa phiên rồi ký tất
cả các giao tiếp điểm nối điểm…
1. Bộ ủy nhiệm người dùng và bộ ủy nhiệm tài nguyên chứng thực nhau sử dụng C UP và CRP. Như
một phần của tiến trình này, bộ ủy nhiệm tài nguyên kiểm tra để đảm bảo rằng ủy nhiệm thư cua
bộ ủy nhiệm người dùng chưa hết hạn.
2. Bộ ủy nhiệm người dùng trình diện bộ ủy nhiệm tài nguyên một yêu cầu trong dạng Sig UP{các
đặc tả cấp phát}
3. Bộ ủy nhiệm tài nguyên kiểm tra xem người dùng được gán ủy nhiệm thư của bộ ủy nhiệm có
được cho phép bởi chính sách cục bộ để thực hiện các yêu cầu cấp phát hay không.
4. Nếu yêu cầu được chấp thuận bộ ủy nhiệm tài nguyên tạo một dòng RESOURCECREDENTIALS chứa tên của người dùng được cấp phát tài nguyên, tên tài nguyên…
5. Bộ ủy nhiệm tài nguyên chuyển RESOURCE-CREDENTIALS một cách bí mật đến bộ ủy
nhiệm người dùng.
6. Bộ ủy nhiệm người dùng kiểm tra yêu cầu RESOURCE-CREDENTIALS, và nếu đồng ý, sẽ
ký vào dòng đó để sinh ra CP, một ủy nhiệm thư cho tài nguyên đang yêu cầu.
7. Bộ ủy nhiệm người dùng chuyển CP một cách bí mật đến bộ ủy nhiệm tài nguyên.
8. Bộ ủy nhiệm tài nguyên cấp tài nguyên và chuyển cho các tiến trình mới CP.
Giao thức 2: cấp phát tài nguyên
3. Cấp phát tài nguyên từ một giao thức tiến trình
Trong khi việc cấp phát tài nguyên từ bộ ủy nhiệm người dùng cần thiết với việc khởi
động sự tính toán thì trường hợp thường xuyên hơn là việc cấp phát tài nguyên sẽ được kích hoạt
động từ một tiến trình được tạo thông qua yêu cầu cấp phát tài nguyên trước đó. Giao thức 3 định
nghĩa một quá trình mà việc này có thể được thực hiện.
1. Tiến trình và bộ ủy nhiệm người dùng chứng thực nhau sử dụng CP và CUP
2. Tiến trình gửi một yêu cầu được xác nhận đến bộ ủy nhiệm người dùng của nó với dạng
SigP{“cấp phát”, “các tham số yêu cầu cấp phát”}
3. Nếu bộ ủy nhiệm người dùng đồng ý với yêu cầu, nó khởi động một yêu cầu cấp phát tài

nguyên đến bộ ủy nhiệm tài nguyên xác định sử dụng giao thức 2.
4. Kết quả là thẻ tiến trình được gán bởi bộ ủy nhiệm người dùng và được trả về cho tiến trình
yêu cầu.
Giao thức 3: cấp phát tài nguyên từ một tiến trình người dùng
Kỹ thuật này thiếu khả năng co giãn bởi việc phụ thuộc vào một bộ ủy nhiệm người dùng
để chuyển yêu cầu đến bộ ủy nhiệm tài nguyên. Tuy nhiên, giao thức này có thuận lợi là tính đơn
giản và khả năng quả lý tốt. Cân nhắc việc cho phép một tiến trình cấp phát các tài nguyên nhiều
hơn và tạo các tiến trình khác. Điều này sẽ có hai giới hạn:


• Người dùng phải có thể mã hóa và nhúng chính sách quyền vào trong mỗi tiến trình để hỗ
trợ điều kiện riêng cho việc cấp phát tài nguyên.
• Một lỗ hổng bảo mật hoặc một sự dàn xếp ở phía xa có thể gây ra việc cấp phát tài
nguyên gian lận và nguy hiểm cho người sử dụng không được chứng thực.
4. Giao thức ánh xạ quá sự đăng ký
Một thành phần trung tâm trong chính sách bảo mật và kiến trúc kết quả là sự tồn tại của
một sự ánh xạ đúng giữa chủ thể toàn cục và chủ thể cục bộ tương ứng. Chúng ta thực hiện việc
chuyển đổi này từ tên toàn cục(vé hoặc giấy chứng nhận) sang tên cục bộ(tên đăng nhập hoặc mã
số người dùng) bằng cách truy cập vào bảng ánh xạ được duy trì bởi bộ ủy nhiệm tài nguyên.
Trong khi bảng ánh xạ có thể được tạo bởi người quản trị hệ thống, cách tiếp cận này gây ra gánh
nặng quản trị và có thể gây ra lỗi. vì thế chúng ta đã phát triển một kỹ thuật cho phép việc ánh xạ
được thêm bởi người dùng.
Ý tưởng cơ bản của kỹ thuật này, được biểu diễn trong giao thức 4, là cho người dùng
chứng minh rằng anh ta giữ ủy nhiệm thư cho cả hai chủ thể toàn cục và chủ thể cục bộ. điều này
có thể được hoàn thành bằng cách chứng thực ở mức toàn cục và chứng thực trực tiếp đến tài
nguyên bằng việc sử dụng phương pháp chứng thực cục bộ. Người dùng sau đó sẽ xác nhận một
sự ánh xạ giữa các ủy nhiệm thư toàn cục và cục bộ. sự xác nhận sẽ được thực hiện thông qua bộ
ủy nhiệm tài nguyên vì nó là vị trí chấp nhận cả ủy nhiệm thư toàn cục và ủy nhiệm thư cục bộ.
1a. bộ ủy nhiệm người dùng chứng thực với bộ ủy nhiệm tài nguyên
1b. bộ ủy nhiệm người dùng đưa ra một yêu cầu được xác nhận MAP-SUBJECT-UP đến bộ ủy

nhiệm tài nguyên, cung cấp như các tham số cho cả tên toàn cục và tên chủ thể tài nguyên.
2a. người dùng đang nhập vào tài nguyên sử dụng phương thức chứng thực của tài nguyên và
khởi động một tiến trình đăng ký ánh xạ.
2b. tiến trình đăng ký ánh xạ đưa ra yêu câu MAP-SUBJECT-P đến bộ ủy nhiệm tài nguyên,
cung cấp như cac thâm số cho cả tên toàn cục và tên chủ thể tài nguyên.
1. Bộ ủy nhiệm tài nguyên đợi cho các yêu cầu MAP-SUBJECT-UP và MAP-SUBJECT-P với
các tham số trùng khớp.
2. Bộ ủy nhiệm tài nguyên đảm bảo rằng tiến trình đang ký ánh xạ thuộc về chủ thể tài nguyên
được xác định trong yêu cầu ánh xạ.
3. Nếu một sự trùng khớp xảy ra, bộ ủy nhiệm tài nguyên thiết lập một sự ánh xạ và gửi sự thừa
nhận đến tiến trình đăng ký ánh xạ và bộ ủy nhiệm người dùng.
4. Nếu sự trùng khớp không xảy ra trong MAP-TIMEOUT, bộ ủy nhiệm tài nguyên làm sạch yêu
cầu chưa xử lý và gửi một sự thừa nhận đến thực thể đang đợi.
5. Nếu sự thừa nhận không được nhận trong MAP-TIMEOUT, yêu cầu được xem như lỗi.
Giao thức 4: việc ánh xạ toàn cục đến định danh cục bộ

6. Grid Security trong thực tế - GSI
Globus Toolkit (GT) là một phần mềm mã nguồn mở được sử dụng rộng rãi trong các
ứng dụng tính toán lưới. Trong chương này, chúng ta sẽ thảo luận về component cung cấp các


dịch vụ bảo mật cơ bản trong GT4: Grid Security Infrastructure (GSI) để tìm hiểu GSI hiện thực
các yêu cầu của grid security trong thực tế như thế nào.

6.1. Các tính năng chính trong GSI
Như đã nêu, Grid Security Infrastructure (GSI) là component chịu trách nhiệm cung cấp
các dịch vụ bảo mật cơ bản trong GT4. GT GSI có thể được sử dụng để kết nối, chuyển đổi giữa
các cơ chế bảo mật khác nhau trên grid. GSI hỗ trợ [Globus2005], [GGF14]:
• Các cơ chế ủy nhiệm (delegation) cơ bản và sự phân phối các chính sách.
• Sự chuyển đổi từ các cơ chế bảo mật khác qua GSI và ngược lại.

• Chuyển đổi từ định danh trên GSI sang định danh trên máy cục bộ trong việc kiểm tra các
quyền hạn (authorization).
• Hỗ trợ các kỹ thuật PKI (Public Key Infrastructure) chuẩn.
• Các liên kết tin tưởng trust relationships một chiều, đơn giản (light-weight) giữa các site
thông qua CAs.
• Giao thức SSL và WS-Security trong việc xác thực (authentication) và bảo vệ các thông
điệp.
• X.509 Certificates trong xác nhận định danh người dùng, dịch vụ,…
• Proxy Certificates trong ủy nhiệm (delegation), single sign-on.
• Điều khiển việc truy cập vào các dịch vụ chia sẻ trong việc quản lý tự động giữa các
policy khác nhau trong các work-group khác nhau.
• Hỗ trợ sự cộng tác giữa nhiều người dùng thông qua việc tổ chức liên kết giữa các dịch
vụ tin tưởng lẫn nhau và các policy rule cục bộ về authority.
• Cho phép người dùng và các cộng đồng ứng dụng thiết lập các trust domain động; tập
hợp các tài nguyên của các nhân/VO có thể hợp tác với nhau dựa trên sự tin tưởng lẫn nhau giữa
người dùng/VO.

6.2. Các thành phần trong GSI
GT4.0 hỗ trợ hai mức security:
• Message-level security: hỗ trợ chuẩn WS-Security và các đặc tả của
WSSecureConversation trong việc bảo vệ các SOAP messages.
• Transport-level security: hỗ trợ authentication thông qua TLS (Transport Layer Security)
và X.509 proxy certificate.
Tuy nhiên, hiện thực của message-level security trên GT4 có performance khá thấp.
Nguyên nhân một phần do phần hiện thực. Mặt khác, khi hiện thực GT4 GSI, các đặc tả của
WSSecureConversation vẫn chưa hoàn chỉnh và còn nhiều thiếu sót. Do đó, transport-level
security được dùng mặc định trong GT4 GSI.
GSI bao gồm 4 chức năng chính: message protection, authentication, delegation,
authorization. Trong đó:



• TLS (transport-level) hoặc WS-Security và WS-SecureConversation (message-level)
được dùng chung với SOAP cho các cơ chế message protection.
• X.509 End Entity Certificates hoặc Username và Password được dùng cho authentication
credentials.
• Delegation sử dụng X.509 Proxy Certificates và WS-Trust.
• Authorization dùng SAML assertions.

Hình 9: GT4 GSI và các chuẩn được sử dụng trong GSI


Hình 10: GSI Implementation

6.2.1. Message Protection
6.2.1.1. Transport-level Security
GT4 áp dụng chuẩn SOAP (Simple Object Access Protocol) cho các message trong giao
tiếp. Message protection được bảo đảm ở mức transport-level security bằng việc gửi nhận các
SOAP message trên TLS – một giao thức mạng cung cấp tính toàn vẹn và tính bí mật cho các gói
tin.
Transport-level security thường được sử dụng kết hợp với X.509 credentials cho
authentication, hoặc được dùng riêng cho message protection mà không cần authentication ở chế
độ anonymous transport-level security. Khi đó, đối với các kết nối cần phải xác thực, việc
authentication có thể được thực hiện bằng một cách khác như dùng username/password trong
SOAP message.
6.2.1.2. Message-level Security
SOAP cho phép áp dụng các chỉ định cụ thể của ứng dụng lên các payload bất kỳ. Do đó,
GSI có thể áp dụng security (như chữ ký số, integrity, mã hóa) một cách nhất quán cho message
SOAP của bất kỳ ứng dụng, component GT4 Web service-based.
Để hiện thực message protection cho các message SOAP, GSI sử dụng chuẩn WSSecurity và đặc tả WS-SecureConversation. Tuy nhiên, SecureConversation trong GSI phải được
dùng chung với X.509 credential trong authentication. Ngoài X.509 credential, WS-Security

trong GSI còn có thể sử dụng username/password cho authentication.
6.2.2. Authentication và Delegation
GSI hỗ trợ authentication và delegation thông qua việc sử dụng X.509 Certificates và
public keys. GT4 GSI còn hỗ trợ việc authentication bằng username/passwords nếu trong quá
trình triển khai có chọn lựa chọn này.
6.2.2.1. X.509 Credentials
GSI dùng X.509 end entity certificates (EECs) để nhận dạng các thực thể không đổi như
người sử dụng và dịch vụ. GSI còn hỗ trợ việc ủy quyền và single sign-on thông qua X.509
Proxy Certificates [GT4GSI]. Proxy certificate cho phép X.509 EECs tạm thời ủy quyền đến các
thực thể khác. Với các mục đích trong authentication và authorization, GSI xem EECs và Proxy
Certificates là như nhau.
Authentication với X.509 Credential có thể được thực hiện bởi TLS trong transport-level
security, hoặc thông qua signature theo chuẩn WS-Security trong message-level security.


a. X.509 Proxy Certificate Types
GT hỗ trợ ba loại Proxy Certificate:
• Old: bao gồm các proxy certificate đã có trước khi RFC 3820 ra đời.
• GT4 Default: bao gồm các proxy tuân theo định dạng của RFC 3820, ngoại trừ việc
chúng sử dụng OID riêng (1.3.6.1.4.1.3536.1.222) trong phần mở rộng của ProxyCertInfo.
• Fully RFC 3820 compliant: bao gồm các proxy tuân theo định dạng của RFC 3820 một
cách tuyệt đối.
b. Delegation
Dịch vụ ủy quyền trong GT4 cung cấp interface dựa trên các đặc tả của WS-Trust, cho
phép các client ủy quyền (xóa bỏ và thay mới) các X.509 proxy certificate đến dịch vụ. Khi ủy
quyền từ một Proxy Certificate, loại của proxy được ủy quyền luôn luôn giống với loại của proxy
khởi tạo. Dịch vụ ủy quyền đồng thời hỗ trợ cơ chế single sign-on, cho phép người dùng tự động
gán định danh và quyền vào dịch vụ.
6.2.3. Authentication với Username và Password
GSI có thể sử dụng Username/Password để định danh trong WS-Security. Tuy nhiên, việc

dùng username và password lại đối nghịch với X.509 credential. Do đó, khi dùng
Username/Password, GSI chỉ cung cấp cơ chế định danh, không hỗ trợ các tính năng bảo mật
khác như ủy quyền, tính bí mật, tính toàn vẹn, hay ngăn chặn việc replay. Việc dùng
username/password có thể được sử dụng trong anonymous transport-level security như ở 6.2.1.1,
khi TLS không thực hiện việc xác thực.
6.2.4. Authorization
Ngoài việc dùng grid-mapfile để điều khiển truy cập dựa trên danh sách các định danh
của người dùng hợp lệ, GT4 GSI sử dụng chuẩn SAML (Security Association Markup
Language) của OASIS. SAML định nghĩa các định dạng của một số loại security assertion và
giao thức để retrieving các assertion đó. SAML AuthorizationDecision assertion trong GSI được
dùng theo hai cách:
• Community Authorization Service (CAS) tạo ra các SAML AuthorizationDecision
assertion như một phương tiện giao tiếp giữa các quyền của CAS clien với service.
• GSI sử dụng một callout được định nghĩa trên GGF dựa trên giao thức SAML
AuthorizationDecision để cho phép sử dụng dịch vụ authorization decision third party (chẳng
hạn PERMIS) cho các yêu cầu access control đến các GT4-based.
6.2.4.1 Community Authorization Service (CAS)
Community Authorization Service (CAS) là component giúp trả lời cho câu hỏi làm sao
để một cộng đồng lớn có nhiều người tham gia cấp quyền cho những người dùng đó truy cập vào


tập số lượng lớn các tài nguyên. CAS outsource các policy admin cho VO sub-domain, đồng thời
cho phép hiện thực các fine-grained policy. Các resource owner sẽ thiết lập các course-grained
policy rule cho foreign domain dựa trên “CAS-identity”. CAS thiết lập các policy rule cho các
local user. Các requestor sẽ nhận được khả năng từ local CAS, nơi được phép sử dụng tài
nguyên.

Hình 11: CAS

6.2.4.2 Mô hình xử lý authorization (Authorization Processing Model - APD)

Authorization Processing Model sử dụng khái niệm trừu tượng Policy Decision Point
(PDP) tương tự như định nghĩa trong XACML của OASIS (eXtensible Access Control Markup
Language, một ngôn ngữ khai báo các access control policy bằng XML và đưa ra mô hình diễn
dịch các policy đó) nhằm bình thường hóa các ngữ cảnh yêu cầu và định dạng decision. PDP
được xem như là một hộp đen xử lý các quyết định về authorization. Sau khi validation, tất các
attribute assertion được map vào XACML Request Context Attribute format. APD sẽ tạo ra các
instance PDP cụ thể cho từng authorization assertion và call-out service. Các instance này sẽ tạo
thành một bộ các PDP instance như hình vẽ bên dưới.


Hình 12: Authorization Framework

Master-PDP sẽ sắp xếp việc truy vấn từng PDP instance thích hợp cho các authorization
decision. Các rule được định nghĩa trước sẽ xác định cách kết hợp các kết quả trả về từ các PDP
instance để tạo ra một decision duy nhất. Master-PDP có thể quyết định các authorization
decision dựa trên những quyền hạn đã ủy thác mà không cần sự hỗ trợ từ các native policy
language evaluator một cách tường minh.
6.2.5. Các thành phần hỗ trợ khác trong GSI
6.2.5.1. Kerberos to GSI Gateway


×