GSI cho phép chúng ta thực hiện bảo mật ở hai mức: mức giao vận và mức thông điệp. Để thấy điểm khác nhau giữa hai mức này, hãy giả sử rằng chúng ta muốn truyền thông của mình là bí mật. Nếu chúng ta sử dụng bảo mật mức giao vận, như trên hình 1.14 (bảo mật mức giao vận), toàn bộ truyền thông được mã hóa. Nếu sử dụng bảo mật mức thông điệp, như trên hình 1.15 (bảo mật mức thông điệp), khi đó chỉ có nội dung của thông điệp SOAP được mã hóa.
Hình 1.14. Bảo mật mức giao vận
Hình 1.15. Bảo mật mức thông điệp
Cả hai mức bảo mật giao vận và thông điệp trong GSI đều dựa trên mật mã khóa công khai, và do đó có thể đảm bảo tính toàn vẹn, riêng tư và khả năng chứng thực. Tuy nhiên, không phải tất cả truyền thông cần có cả ba đặc tính này. Nói chung, hội thoại an toàn phải đảm bảo tối thiểu khả năng chứng thực. Toàn vẹn thường rất cần thiết, nhưng có thể bỏ qua. Mã hóa có thểđược kích hoạt đểđảm bảo tính riêng tư. Khi lập trình dịch vụ bảo mật, chúng ta sẽ thấy các đặc tính này có thể sử dụng một cách dễ dàng như thêm một vài dòng mã ở phía client xác định rằng chúng ta muốn toàn vẹn nhưng không mã hóa trong quá trình truyền thông.
1.5.3.So sánh hiệu năng của bảo mật mức thông điệp với mức giao vận
Bảo mật mức giao vận đã phát triển trong một thời gian dài. Thực tế, rất có thể chúng ta đã sử dụng mức bảo mật này khi duyệt web, các website an toàn thường trả lời trên bảo mật mức giao vận.
Bảo mật mức thông điệp trong dịch vụ web tương đối mới, và mặc dù nó cung cấp nhiều đặc tính hơn so với bảo mật mức giao vận (chẳng hạn như tích hợp với chuẩn dịch vụ Web), hiệu năng của nó là một vấn đề phải bàn. Do đó mặc dù bảo mật mức thông điệp có rất nhiều ưu việt, nhiều khi vẫn phải xem
xét tới việc sử dụng bảo mật mức giao vận nếu hiệu năng là một vấn đề quan trọng.
GSI cung cấp hai lược đồ bảo mật mức thông điệp, và một lược đồ mức giao vận. Sự khác nhau giữa ba lược đồ này được trình bày trong bảng 1.1.
- Thông điệp an toàn: cung cấp bảo mật mức thông điệp và dựa trên chuẩn bảo mật dịch vụ web (Web Service- WS) đã đề xuất.
- Hội thoại an toàn: cung cấp bảo mật mức thông điệp và dựa trên đặc tả hội thoại an toàn WS. Khi phương pháp này được chọn, đầu tiên một ngữ cảnh bảo mật phải được thiết lập giữa client và server. Sau khi một trao đổi khởi tạo của thông điệp đươc thiết lập trong ngữ cảnh, tất cả các thông điệp có thể sử dụng lại ngữ cảnh này, kết quả là hiệu năng cao hơn so với thông điệp an toàn (nếu phần khởi tạo thiết lập ngữ cảnh được chấp nhận). Hơn nữa, hội thoại an toàn chỉ là một lược đồ hỗ trợ ủy quyền.
- Bảo mật mức giao vận: cung cấp bảo mật mức giao vận bằng cách sử dụng công nghệ TLS (thường được gọi là SSL). Nó cung cấp hiệu năng tốt nhất.
Các lược đồ này không loại trừ lẫn nhau. Ví dụ, chúng ta có thể sử dụng hội thoại an toàn với các ứng dụng cần ủy nhiệm, và sau đó thêm giao vận an toàn do chúng ta muốn mã hóa toàn bộ quá trình truyền thông (không chỉ một phần của thông điệp SOAP). Việc này không dẫn tới bất kỳ dư thừa nào.
Bảng 1.1. So sánh bảo mật mức giao vận và mức thông điệp
Hội thoại an toàn Thông điệp an toàn
Bảo mật tầng giao vận
Công nghệ WS-SecureConversation WS-Security TLS
Rêng tư (mã
Hội thoại an toàn Thông toàn điệp an Bảgiao vo mật tận ầng
Toàn vẹn (ký) Có Có Có
Thẩm quyền
nặc danh Có Không Không
Ủy quyền Có Không Không
Hiệu năng Tốt nthông ếu gửđi nhiiệp ều Tthông ốt nếu gđiửệi ít p Tốt nhất
1.5.4.Giấy ủy nhiệm
Trong môi trường lưới, người sử dụng cần được chứng thực nhiều lần trong khoảng thời gian tương đối ngắn, ví dụ với nhiều tài nguyên lưới cùng cộng tác với nhau. Đòi hỏi người sử dụng phải gõ mật khẩu nhiều lần trong chứng thực đa phương là một điều không thuận tiện, đồng thời nó cũng bất lợi cho vấn đề bảo mật, bởi mỗi lần đó, khóa bí mật sẽđược giải mã, rất dễ bị kẻ địch đánh cắp. Một cách khác là sử dụng phần mềm, không chỉ nhắc người sử dụng gõ mật khẩu một lần, mà còn lưu giữ mật khẩu hay khóa bí mật chưa giải mã cho nhiều mục đích sử dụng khác. Tuy nó rất thuận tiện cho người dùng, nó lại bất lợi trên quan điểm về bảo mật, khi mà nó để lộ khóa bí mật trong một khoảng thời gian dài.
GSI giải quyết vấn đề này với khái niệm giấy ủy nhiệm. Mỗi giấy ủy nhiệm sẽ hoạt động thay mặt người dùng trong một khoảng thời gian ủy quyền ngắn hạn. Nói cách khác, việc sử dụng giấy ủy nhiệm ngắn hạn thay thế cho các giấy chứng nhận dài hạn khi chứng thực người dùng.
Giấy ủy nhiệm có giấy chứng nhận và khóa bí mật riêng của nó, được tạo ra bằng cách kí lên giấy chứng nhận dài hạn của người dùng. Giấy ủy nhiệm, theo một cách khác, là sự liên kết ngắn hạn giữa tên định danh của người dùng với một khóa bí mật khác. Giấy chứng nhận thường được lưu trữ sử dụng mã hóa trong hệ thống file địa phương, thường được bảo vệ bởi
quyền truy cập file trong hệ thống, có thể được sử dụng nhiều lần mà không có sự bất tiện nào. Còn giấy ủy nhiệm dễ bị tổn thương, nó có thời gian sống ngắn hạn hơn nhiều so với các giấy chứng nhận dài hạn của người dùng, thông thường là vài giờ.
1.5.5. Sựủy quyền
Điều này là rất quan trọng trong các ứng dụng phân tán, các ứng dụng của người dùng có thể thay mặt họ trong môi trường lưới. Một ví dụ, trong một tính toán phức tạp và kéo dài liên quan tới nhiều tiến trình khác nhau, người dùng không phải lúc nào cũng có mặt để chứng thực cho mỗi tiến trình. GSI giải quyết vấn đề này bằng cách cho phép người dùng ủy quyền giấy ủy nhiệm của mình cho giao dịch các máy từ xa.
Sự ủy quyền cũng tương tự như việc tạo ra các giấy ủy nhiệm, một tập các giấy chứng nhận dài hạn sẽ được dùng để tạo ra tập các giấy ủy nhiệm mới, có thời gian sống ngắn hơn. Sự khác nhau là việc tạo ra các giấy ủy nhiệm xảy ra trong các phiên kết nối đòi hỏi chứng thực GSI, khi các tiến trình từ xa đòi hỏi giấy ủy nhiệm của người dùng cho chứng thực. Một điều đáng chú ý nữa là sự ủy quyền có thể là một chuỗi, một người có thể ủy quyền cho một host A, sau đó tiến trình sử dụng trên host A có thểủy quyền cho host B và cứ tiếp tục như vậy.
1.5.6. Chứng thực
GSI hỗ trợ cơ chế cho phép chuyển các tên định danh GSI của người dùng (ví dụ tên định danh từ giấy chứng nhận của người dùng) vào trong các định danh địa phương (tài khoản của một người dùng Unix cục bộ).
Việc chứng thực các định danh GSI sẽ chuyển về chứng thực các định danh địa phương, cùng với việc đó, các chính sách đưa ra cũng nằm trong phạm vi cục bộ như: quyền truy nhập file, dung lượng đĩa, tốc độ CPU, ...
1.5.7. Ứng dụng của GSI
GSI cho phép người dùng và các ứng dụng lưới truy nhập vào các tài nguyên một cách an toàn. Một số khả năng bảo mật được GSI tập trung hỗ trợ: cơ chế uỷ quyền và đăng nhập một lần, thẩm quyền và chứng thực đa phương, các giấy ủy nhiệm thay mặc người dùng trong thời gian ngắn hạn, ... GSI cũng là thành phần thiết yếu cho một số công cụ như grid-proxy-init để tạo ra giấy ủy nhiệm từ các giấy chứng nhận, các dịch vụ truyền file GridFTP và máy chủ thông tin LDAP, đệ trình các ứng dụng từ xa Globus Toolkit Gram hay Secure Shell (SSH) để kết nối tới các máy từ xa. Ngoài ra, tập các thư viện bảo mật GSI trong Java Cog Kit tạo điều kiện thuận lợi cho phát triển các ứng dụng lưới có hỗ trợ bảo mật.
Chương 2. An toàn bảo mật trong Globus Toolkit 4
Chương 1 đã giới thiệu tổng quan về tính toán lưới, các yêu cầu về bảo mật trong môi trường lưới và cơ sở hạ tầng bảo mật lưới GSI. Globus Toolkit (GT) đã cài đặt cơ sở hạ tầng lưới GSI trong mô hình bảo mật của mình, tích hợp GSI với OGSA (Open Grid Service Architecture), cho phép tận dụng được các kỹ thuật và cơ chế bảo mật sẵn có của các dịch vụ Web. GT sử dụng các cơ chế bảo mật sau của OGSA và dịch vụ Web:
- Sắp đặt các chức năng bảo mật tương tự như các dịch vụ khác của OGSA. Do đó, chúng có thể được phân bố và sử dụng bất cứ khi nào ứng dụng yêu cầu.
- Thiết lập các môi trường trình chủ an toàn.
- Cung cấp các chính sách bảo mật để các client (có thể là người dùng hoặc ứng dụng) có thể dễ dàng tham gia lưới.
- Xác định các tiêu chuẩn trao đổi các mã bảo mật để có thể cung cấp khả năng liên tác.
Tính đến thời điểm hiện tại, Globus Toolkit 4.03 là phiên bản ổn định mới nhất của bộ công cụ Globus Toolkit. So với các thế hệ trước, phiên bản này có nhiều cải tiến quan trọng về mặt kiến trúc và công nghệ.