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 -
Trang 1ĐẠ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
Trang 2N i dung ội dung
1 Giới thiệu 4
2 Cơ sở lý thuyết của bảo mật 4
2.1 Các khái niệm cơ bản 4
2.2 Mã hóa 4
2.2.1 Symmetric key 4
2.2.2 Asymmetric key 5
2.2.3 Digital signature 5
2.2.4 Certificate 7
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 8
3.1 Các thuật ngữ liên quan 8
3.2 Các điều kiện để bắt đầu một phiên làm việc lưới 8
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 8
3.4 Các trường hợp sử dụng cụ thể 8
3.4.1 Immediate job execution 8
3.4.2 Accessing grid information services 9
4 Thách thức và yêu cầu trong bảo mật hệ thống lưới 10
4.1 Thách thức 10
4.2 Yêu cầu về bảo mật trong hệ thống lưới 11
5 Bảo mật trong hệ thống lưới 12
5.1 Tình trạng hiện tại 12
5.2 Kiến trúc bảo mật lưới 14
6 Grid Security trong thực tế - GSI 18
6.1 Các tính năng chính trong GSI 19
6.2 Các thành phần trong GSI 19
6.2.1 Message Protection 21
6.2.2 Authentication và Delegation 21
6.2.3 Authentication với Username và Password 22
6.2.4 Authorization 22
6.2.5 Các thành phần hỗ trợ khác trong GSI 24
Trang 36.3 GSI và bảo mật trong grid 25
7 Tài liệu tham khảo 25
Trang 4Mục lục hình
Hình 1:Mã hóa đối xứng 5
Hình 2: Mã hóa bất đối xứng 5
Hình 3: Mô hình chữ ký điện tử đơn giản 6
Hình 4: Mô hình chữ ký điện tử bảo mật 6
Hình 5: Certificate 7
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 11
Hình 7: Kiến trúc của Akenti 13
Hình 8: Push model 13
Hình 9: GT4 GSI và các chuẩn được sử dụng trong GSI 20
Hình 10: GSI Implementation 21
Hình 11: CAS 23
Hình 12: Authorization Framework 24
Trang 51 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
Trang 6Bê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
Trang 7Hì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
Trang 82.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ệcxá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
Trang 93 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ệctrê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 localadministrator 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 ứngdụ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àoresource 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 đạidiệ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à:
Trang 10- “super schedulers” tương tác với các thành phần của Inforamtion Services của hệ thốnglướ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 truyxuấ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 thaycho 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ốntrong 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ậpvà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ọ
Trang 11- 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ờigian 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à resourcegateway
- 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ầnliê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 thamgia đó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ũngthay đổ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êucầ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ủamộ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ạycủ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ủymộ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épkhá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 nhaubằng cách sử dụng các kỹ thuật Kerberos, plaintext passwords, Secure Socket Library và secureshell
Trang 12Hì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ệmthư 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õicũ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ácnhau
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 chophé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ảomậ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ăngbả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áithá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ểntruy 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ặccá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ếntrì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
Trang 13thự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ínhsá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ùnghoặ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ẩnX.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 đổitrong 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ấtnhiề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
Trang 14Ủ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
Trang 155.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ảiquyế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àinguyê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ùngtươ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ấtlớ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ínhtoá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
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ácgiao 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ácgiao 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áchtươ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}
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