Cơ bản về bảo mật Grid và GSI

Một phần của tài liệu giải hệ phƣơng trình tuyến tính kích thước lớn trên nền tảng grid computing (Trang 25 - 30)

 Symmetric Encryption

Mã hoá kiểu Symmetric dựa trên việc sử dụng một khoá bí mật để thực hiện mã hoá và giải mã dữ liệu. Để đảm bảo dữ liệu chỉ được đọc bởi bên gửi và bên nhận, khoá được trao đổi một cách bí mật giữa 2 bên. Nếu ai đó lấy được khóa bí mật đã sử dụng để mã hoá, họ có thể giải mã được thông tin. Phương pháp mã hoá này kém an toàn nhưng tốc độ mã hóa/giải mã lại nhanh hơn dạng mã hoá Asymmetric trình bày dưới dây.

 Asymmetric Encryption

Phương pháp này được gọi là phương pháp mã hoá khoá công khai, cũng được sử dụng rất thường xuyên. Phương pháp này sử dụng một cặp khoá để mã hóa (được gọi là khóa công khai (public key) và khóa bí mật (private key)). Khóa để mã hoá khác với khoá được sử dụng để giải mã. Phương pháp mã hoá khóa công khai yêu cầu các bên phải bảo vệ kỹ các khóa bí mật của mình, trong khi khóa công khai của họ không cần được bảo vệ, có thể được công bố rộng rãi trong cộng đồng.Thông thường, khóa công khai được để

Proxy và ủy quyền

(Phần mở rộng bởi GSI, phục vụ single sign-on)

PKI

(CA và Certificate)

SSL/TSL

(Chứng thực và bảo vệ thông điệp)

21

trong các chứng chỉ điện tử (digital certificate) được cấp bởi Certificate Authority, nơi chịu trách nhiệm quản lý các khóa công khai và người chủ của khóa công khai tương ứng. Hệ thống khoá công khai thực hiện bảo mật hai lần trên thông điệp trao đổi giữa các bên. Trước hết, bên gửi sẽ mã hóa thông điệp bằng khóa bí mật của mình, sau đó mã hoá tiếp lần nữa bằng khóa công khai của bên nhận. Khi nhận được thông điệp, bên nhận sẽ thực hiện giải mã bằng khóa bí mật của mình trước, sau đó tiếp tục giải mã bằng khóa công khai của bên gửi. Bằng cách này, không ai khác có thể đọc được thông điệp trừ khi có được khóa bí mật của một bên, nhưng điều này rất khó thực hiện được vì hai bên gửi và nhận không trao đổi khóa cho nhau, và khóa bí mật được giữ ở mỗi bên.Các thuật toán phát sinh khóa bí mật và khóa công khai được thiết kế sao cho một thông điệp được mã hoá bởi một khoá thì chỉ có thể được giải mã bởi khoá còn lại tương ứng, và không thể giải mã bởi khoá dùng để mã hoá. Các cặp khoá được phát sinh bằng cách tìm 2 số nguyên tố cực lớn khác nhau. Ngay cả khi khóa công khai được để công khai rộng rãi, cũng rất khó để các máy tính hiện nay có thể tìm ra khóa bí mật từ khóa công khai. Các thuật toán này tăng độ tin cậy về bảo mật nhưng lại tốn rất nhiều thời gian để mã hóa, đặc biệt là khi phải mã hóa một lượng lớn dữ liệu. Do đó, trong thực tế, người chỉ dùng phương pháp public key encryption để trao đổi khóa của phương pháp symmetric encryption giữa hai bên, và sau đó, việc mã hoá/giải mã được sử dụng bằng khoá symmetric này.

 Distinguished Name (DN)

Distinguished Name là một chuỗi ký tự duy nhất dùng để định danh người dùng (người dùng có thể là một người hay một thực thể ) trong Grid, có thể nói DN là một “Grid username”. DN là một thành phần của chứng chỉ điện tử. Phần lớn thông tin trong DN là do CA cung cấp.

 Digital certificates (Chứng chỉ điện tử)

Chứng chỉ điện tử là một tài liệu điện tử chứa thông tin định danh tài nguyên, người dùng Grid và khóa công khai tương ứng. Một chứng chỉ điện tử là một cấu trúc dữ liệu chứa khóa công khai và các thông tin chi tiết về chủ của khóa công khai đó. Một chứng chỉ được xem như là một thẻ nhận dạng điện tử không thể làm giả sau khi đã được đóng dấu bởi CA trong môi trường Grid. Khi một thực thể trong Grid muốn bắt đầu một phiên làm việc với đối tác nào đó, nó sẽ đính kèm chứng chỉ điện tử của mình vào thông

22

điệp thay vì khóa công khai. Bên nhận kiểm tra chữ ký của CA trong chứng chỉ vừa nhận được. Nếu chữ ký đó là của một CA mà bên nhận tin tưởng, thì nó có thể chấp nhận và tin tưởng rằng khóa công khai trong chứng chỉ thực sự đến từ nơi gửi (thao tác này đề phòng trường hợp giả danh người chủ của khóa công khai). Sau đó, bên nhận sẽ sử dụng khóa công khai của bên gửi để giải mã SSL session ID, SSL ID này dùng để mã hoá tất cả các dữ liệu truyền thông giữa 2 bên. Các chứng chỉ điện tử của GSI dựa định dạng chứng chỉ X.509, một định dạng chuẩn về chứng chỉ điện tử do tổ chức Internet Engineering Task Force (IETF) đưa ra. Những chứng chỉ này có thể dùng được với các phần mềm dựa trên PKI khác bao gồm các trình duyệt web của Microsoft, Netscape. Có 2 loại chứng chỉ khác nhau được dùng trong môi trường Grid.

 User certificate

Một người dùng sẽ cần một user certificate để đại diện cho mình, chứng chỉ này xác định tên người dùng thực sự của Grid chứ không phải tên một server hay tên máy trạm. Ví dụ, có một ai đó tên Bobby, thì trong chứng chỉ điện tử của anh ta có thể có một distinguished name như sau:

“/O=Grid/O=GridTest/OU=test.domain.com/CN=Bobby"

 Server certificate

Nếu một người dùng muốn chạy các ứng dụng yêu cầu chứng thực trên server, sẽ cần phải có một server certificate. Server certificate sẽ ghi fully-qualified domain name của server vào user certificate của người đó.

Để user certificate có hiệu lực, full-qualified DNS name của người đó phải giống như trong user certificate. Ví dụ : nếu tên server là “Darksky”,tên trong server certificate có thể là :

/CN=Service/Darksky.<domain>.<com>

 Certificate Authority (CA)

Việc bảo mật trong Grid được xác lập thông qua việc sử dụng các chứng chỉ ở mức host và người dùng, các chứng chỉ này sau đó được ánh xạ vào các người dùng cục bộ trên host. Để có được các chứng chỉ này, các bản yêu cầu xin cấp chứng chỉ được tạo ra, gửi đến một CA tin cậy, CA này sẽ thực hiện ký xác nhận vào chứng chỉ và gửi lại người yêu cầu.

23

Các trách nhiệm chính của một CA bao gồm :

- Xác định được các thực thể đang yêu cầu cấp chứng chỉ. - Cấp phát, loại bỏ và lưu trữ các chứng chỉ.

- Bảo vệ các CA server. (adsbygoogle = window.adsbygoogle || []).push({});

- Quản lý không gian tên cho các chủ sở hữu chứng chỉ. - Theo dõi các hoạt động.

Globus Toolkit có cung cấp một module simple CA để phục vụ cho việc thử nghiệm các ứng dụng trong một trường Grid. Trong trừơng hợp này, simple CA kiêm luôn chức năng của CA và RA. Một vấn đề then chốt trong môi trường PKI là đảm bảo tính tin cậy, có thể tin tưởng của hệ thống. Trước khi một CA có thể ký, đóng dấu và cấp chứng chỉ cho

các thực thể khác, nó cũng phải làm một việc tương tự cho chính nó, để bản thân CA có thể được đại diện bằng chứng chỉ của mình. Điều đó có nghĩa CA cần phải làm các công việc sau:

1. CA phát sinh ngẫu nhiên cặp khóa cho nó. 2. CA lưu trữ bảo mật khóa bí mật của nó. 3. CA tự tạo ra chứng chỉ cho chính mình.

4. CA ký xác nhận chứng chỉ đó bằng khóa bí mật của mình.

Gridmap File

Sau khi đã có các chứng chỉ, một thực thể Grid cần phải biết người dùng nào có chứng chỉ nào được phép truy cập đến các tài nguyên của nó. Điều này được thực hiện bằng một file Grid map. File Grid map là một file trên tài nguyên đầu cuối, thực hiện ánh xạ các DN vào các người dùng cục bộ trên tài nguyên. Sau khi được ánh xạ, một DN có thể sử dụng tài nguyên trên host như là một người dùng cục bộ, tức DN có toàn quyền của người dùng cục bộ. Điều này cho phép phân cho các người dùng Grid khác nhau các quyền khác nhau trên tài nguyên thông qua các người dùng cục bộ được ánh xạ. Để từ chối truy cập đối với một DN, chỉ cần loại bỏ DN đó ra khỏi Grid map file.

Trong Globus Toolkit, trên hệ thống Linux, Grid map file được lưu trong file : /etc/grid-security/grid-mapfile. Grid-mapfile là một file text, mỗi dòng là một ánh xạ

24

giữa DN và user cục bộ, có dạng như sau:

“DN” <user cục bộ>

Ví dụ : "/O=Grid/OU=GlobusTest/OU=simpleCA-b.ar.com/OU=ar.com/CN=Nguyen Thinh" thinh

Các file quan trọng

Thư mục Tên file Diễn giải

/etc/grid-sercurity Hostcert.pem Là server certificate được sử dụng trong mutual authentication

Hostkey.pem Khóa bí mật tương ứng server certificate

Grid-mapfile File ánh xạ giữa tên người dùng

Grid (subject hay DN) với người

dùng cục bộ. /etc/grid-sercurity/certificate CA certificate

Sa-signing-policy.conf

$HOME$/.globus Usercert.pem Certificate của người dùng (subject name,khóa công khai, chữ ký của

CA)

Userkry.pem Khóa bí mật của user certificate (được mã hóa bằng passphare).

25

Các công cụ liên quan

Tên Tham số Diễn giải

Grid-cert-request Sử dụng để tạo một cặp khóa công khai/bímật và một bản yêu cầu cấp chứng chỉ trong thư mục ~/.globus/

Grid-cert-info -all -startdate -subject - enddate -issuer -help

Lấy thông tin về chứng chỉ. Ví dụ : $ Grid-cert-info –subject “/O=Grid/O=GridTest/OU=test.domain.com /CN=GreenStar Grid-proxy-init -hours -bits -help

Thực hiện khởi tạo proxy và đăng nhập vào Grid. (adsbygoogle = window.adsbygoogle || []).push({});

Grid-proxydestroy Logout khỏi Grid, thực hiện hủy proxy cục bộ. Lưu ý, các proxy ở xa không bị huỷ. Grid-proxy-info -subject -issuer

-type -timeleft -strength -help

Lấy thông tin về proxy

Một phần của tài liệu giải hệ phƣơng trình tuyến tính kích thước lớn trên nền tảng grid computing (Trang 25 - 30)