Tải bản đầy đủ (.pdf) (22 trang)

BÁO CÁO SEMINAR MÔN HỌC TÍNH TOÁN LƯỚI Tìm hiểu về Grid Computing 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 (766.27 KB, 22 trang )

Mục Lục
I. Giới thiệu 3
II. Những thách thức an ninh cho tính toán lưới 3
III. Những yêu cầu an ninh cho hệ thống tính toán lưới 5
IV. Đặc điểm của bảo mật hệ thống tính toán lưới. 6
V. Bảo mật thông tin 7
1. Hệ mã khóa bí mật 8
2. Hệ mã khóa công khai 8
VI. Mô hình bảo mật trong grid 8
1. Binding security 9
2. Policy expression and Exchange 9
3. Secure Association 10
4. Authorization Enforcement 10
5. Identity and Credential Mapping/Translation 11
6. Secure Logging 11
7. Management of Security 11
VII. Cơ sở hạ tầng bảo mật lưới 11
1. Cơ chế xác thực GSI 11
2. Authentication và authorization 12
3. Delegation 13
4. Thiết lập giao tiếp an toàn giữa Client và Service 15
4.1. Cơ chế bắt tay SSL 15
4.2. Sử dụng cơ chế Kerberos để xác thực giữa client và server 16
VIII. Các loại mô hình bảo mật Grid trong các phiên bản Globus Tookit 19
IX. Bảo mật trong cơ sở kiến trúc hệ thống của Grid 21
X. Tài liệu tham khảo 22

Hình Ảnh
Hình 1.1: Tổ chức ảo (VO) 4
Hình 5.1: Mô tả về mô hình bảo mật 9
Hình 7.1: Hình ảnh trực quan khi sử dụng cơ chế kerberos 18


Hình 8.1: Quá trình xác thực thông qua CAS 19
Hình 8.2: Cơ chế bảo mật trong GT3 20



















Tính toán lưới liên quan mật thiết đến sự chia sẽ và hợp tác sử dụng nguồn tài nguyên trong
những ràng buộc nhất định. Sự đa dạng và thường thay đổi của những nguồn tài nguyên đã trở
thành một thách thức về an ninh cho những những phương pháp tiếp cận mới. Cụ thể là một
người sử dụng phải thỏa thuận với nhiều hệ thống đặt tại nhiều vị trí khác nhau, hỗ trợ nhiều dịch
vụ được tạo ra liên tục và cho phép các dịch vụ này thực thi với những khu vực tin cậy.
I. Giới thiệu
Thuật ngữ "Grid" dùng để chỉ các hệ thống và ứng dụng mà chúng tích hợp và quản lý các tài
nguyên, và các dịch vụ mà chúng đã được phân bố thông qua cấu trúc “đa kiểm soát”. Một kịch
bản phổ biến trong tính toán lưới liên quan đến sự hình thành động của các "tổ chức ảo" bao gồm

các nhóm cá nhân và tài nguyên liên quan và các dịch vụ thống nhất bởi một mục đích chung,
nhưng không ở nhiều vị trí khác nhau. Chính yêu cầu tích hợp và quản lý tài nguyên trong một
“tổ chức ảo” đã dẫn đến những thách thức về an ninh cho tính toán lưới. Để đáp ứng nhiều vấn đề
liên qua đến cấp giấy chứng nhận, quản lý nhóm thành viên, ủy quyền, các mối quan hệ giữa các
thành viên trong một “tổ chức ảo”, tất cả thành viên cần phải thiết lập một cơ chế để làm việc. Cơ
chế này dựa trên cả sự tin cậy lẫn những kiến trúc an ninh và các quy định trong “tổ chức ảo”
này.
Nghiên cứu về tính toán lưới đã giới thiệu những công nghệ an ninh không dựa trên sự tin tưởng
của các thành viên nội bộ trong hệ thống, mà dựa trên việc sử dụng các “tổ chức ảo” (VO) và cầu
nối giữa các máy thành viên trong một tác vụ cụ thể. Những kết quả nghiên cứu đó đã dẫn đến bộ
phần mềm đang được sử dụng rộng rãi – Globus Toolkit (GT).
II. Những thách thức an ninh 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 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 1.1, 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.

Hình 1.1: 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à 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”.
III. Những yêu cầu an ninh cho 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 cả hai tổ chức ảo và
thực.
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.
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 / 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.
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.
IV. Đặc điểm của bảo mật 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
khác nhau 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.
- 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:
V. 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:
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 e
k
. Thì A
người gửi sẽ mã hóa thông điệp của họ bằng e
k
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á e
k
. Như vậy một người khác đánh cắp đuợc khoá
e
k
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 (24
Byte), 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.
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 chia
sẽ 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 chia
sẻ thông tin ở dạng mã hoá.
- Khoá riêng (Private key) 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.
VI. 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 5.1 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 5.1: Mô tả về mô hình bảo mật
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.
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.
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 ) đượ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.
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. 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.
6. Secure Logging
Đâ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.
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
VII. Cơ sở hạ tầng bảo mật lưới
Phần trước chúng ta đã giới thiệu sơ lược các lớp chính trong mô hình bảo mật lưới. Tại mỗi lớp
sẽ có các chuẩn được sử dụng để tăng tính bảo mật trong trao đổi thông tin và dữ liệu. Trong

phần này sẽ đề cập đến một vài cơ chế để làm thế nào mà các thành phần khác nhau trong lưới có
thể tương tác với nhau một cách dễ dàng.
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?

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.
 Private key của grid host.
 Digital certificate mà CA đã chứng thực cho grid host.
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.
1. Sao chép public key của CA lên grid host.
2. Tạo private key và certificate cho grid host.
3. Gửi certificate vừa được tạo ra cho CA.
4. 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


3. Delegation
Một công việc (job) được phân chia thành các công việc nhỏ để thực hiện trên các máy tính từ xa,
tuy nhiên công việc thực hiện trên các máy tính từ xa đó lại mong muốn phân chia ra thành nhiều
công việc nhỏ hơn để thực hiên trên các máy tính khác. Vậy làm thế nào để khi thực hiện các
công việc này vẫn tuân thủ chính sách bảo mật mà ta đặt ra? Cơ chế delegation của GSI sẽ đảm
bảo điều này.
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.



Proxy action:
1. Sau khi host B nhận được proxy certificate và certificate (host A) sẽ gửi sang bên
host C.
2. Host C thực hiện các công việc sau để lấy thông tin cần thiết:
a. Host C lấy subject và public key từ certificate (host A) sử dụng public key của
CA.
b. Sau đó host C lấy subject của proxy và public key của proxy sử dụng public key
vừa lấy được ở bước a.
3. Bên host B được yêu cầu mã hóa một đoạn thông điệp sử dụng private key proxy
và gửi sang cho host C.
4. Host C giải mã đoạn thông điệp này sử dụng public key proxy vừa lấy được ở bước
2.
5. Sau khi xác thực thành công host C sẽ chạy các công việc được yêu cầu từ host B
với quyền của host A.
Tạo proxy:
1. Giao tiếp giữa host A và host B phải tin tưởng lẫn nhau.
2. Host A yêu cầu host B tạo proxy với đầy đủ các quyền của host A.
3. Host B nhận yêu cầu sẽ tạo proxy certificate đại diện cho host A và gửi ngược trở
lại host A.

4. Host A nhận proxy certificate từ B sử dụng private key của mình và ký lên đó, sau
đó gửi ngược trở lại cho host B.
5. Host A đồng thời cũng gửi luôn certificate cho host B.

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.
4.1. Cơ chế bắt tay SSL
Để 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 tay SSL 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:


4.2. 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 key hay 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).
KDC 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
chứng minh nhận dạng cho một user sử dụng.
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.
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ỏ.
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.


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 key (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.
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.


Hình 7.1: Hình ảnh trực quan khi sử dụng cơ chế kerberos
Theo như hình 7.1, 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.



VIII. Các loại mô hình bảo mật Grid trong các phiên bản Globus Tookit
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 Grid
Security Infrastructure (GSI) chung để cung cấp chức năng bảo mật như thay đổi cơ chế 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ủa mỗ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ác và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 8.1.

Hình 8.1: Quá trình xác thực thông qua 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 theo yê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 8.2 mô tả rõ hơn cho bốn mục tiêu trên trong
cơ chế bảo mật của GT3.


Hình 8.2: Cơ chế bảo mật trong GT3
Theo hình 8.2, 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ần
việ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ấy
thê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 8.2 đ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 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

IX. 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.
X. Tài liệu tham khảo
1. Nataraj Nagaratnam, Philippe Janson, John Dayka, Anthony Nadalin, Frank Siebenlist, Von
Welch, Ian Foster, Steve Tuecke: The security architecture for Open Grid Services.
2. Bart Jacob, Michael Brown, Kentaro Fukui, Nihar Trivedi: Introduction to Grid Computing.
3. Von Welch, Frank Siebenlist, Ian Foster, John Bresnahan, Karl Czajkowski, Jarek Gawor, Carl
Kesselman, Sam Meder, Laura Pearlman, Steven Tuecke: Security for Grid Services.
4. Kerberos protocol:
5. Transport Layer Security:
6. Public-key cryptography:
7. Symmetric-key_algorithm :


×