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
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ứ
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.
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
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
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
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
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.
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