Một số vấn đề bảo vệ thông tin trong hệ thống tính toán lưới, trình bày việc giải quyết hai vấn đề xác thực thực thể sử dụng lưới và bảo vệ thông tin trên đường truyền lưới.. Kết hợp cá
Trang 1ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
VŨ ĐỨC HÙNG
NGHIÊN CỨU MỘT SỐ VẤN ĐỀ BẢO VỆ THÔNG TIN TRONG HỆ THỐNG TÍNH TOÁN LƯỚI
LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH
Thái Nguyên- 2012
Trang 2i
LỜI CẢM ƠN
Trước tiên tôi xin gửi lời cảm ơn chân thành nhất đến thầy
PGS TS Trịnh Nhật Tiến đã định hướng và nhiệt tình hướng dẫn, giúp đỡ tôi rất nhiều về mặt chuyên môn trong quá trình làm luận văn
Tôi xin gửi lời biết ơn sâu sắc đến các thầy, các cô đã giảng dạy và truyền đạt những kinh nghiệm quý báu cho chúng tôi trong suốt hai năm học cao học tại trường Đại học CNTT&TT - Đại học Thái Nguyên
Tôi xin cảm ơn các đồng nghiệp, những người luôn gần gũi động viên, chia
sẻ cùng tôi trong suốt thời gian học tập và làm làm luận văn tốt nghiệp
Xin cảm ơn gia đình và các bạn của tôi, những người đã luôn bên cạnh, động viên và khích lệ tôi để có được kết quả như ngày hôm nay
Cuối cùng tôi chúc các thầy, các cô, các bạn, những người thân yêu nhất của tôi sức khoẻ, hạnh phúc và thành đạt trong cuộc sống
Thái Nguyên, tháng 10 năm 2012
Vũ Đức Hùng
Trang 3
ii
LỜI CAM ĐOAN
Tôi là Vũ Đức Hùng, học viên lớp cao học khoá 2010-2012 ngành CNTT, chuyên ngành Khoa học máy tính Tôi xin cam đoan bài luận văn "Nghiên cứu một
số vấn đề Bảo vệ thông tin trong Hệ thống tính toán lưới" là do tôi nghiên cứu, tìm
hiểu dưới sự hướng dẫn của PGS.TS.Trịnh Nhật Tiến, không phải sự sao chép của
người khác Tôi xin chịu trách nhiệm về lời cam đoan này
Thái Nguyên, tháng 10 năm 2012
Tác giả
Vũ Đức Hùng Lớp Cao học KHMT 2010-2012
Trang 4iii
MỤC LỤC
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
MỤC LỤC iii
DANH MỤC BẢNG v
DANH MỤC HÌNH vi
MỞ ĐẦU 1
Chương 1 KHÁI QUÁT VỀ HỆ THỐNG TÍNH TOÁN LƯỚI 2
VÀ BẢO VỆ THÔNG TIN TRONG TÍNH TOÁN LƯỚI 2
1.1 KHÁI QUÁT VỀ HỆ THỐNG TÍNH TOÁN LƯỚI 2
1.1.1 Khái niệm Tính toán lưới 2
1.1.2 Lợi ích của tính toán lưới 4
1.1.2.1 Khai thác những nguồn tài nguyên chưa được sử dụng đúng mức 4
1.1.2.2 Giúp cân bằng trong sử dụng tài nguyên 4
1.1.2.3 Khả năng thực hiện tính toán song song 5
1.1.2.4 Chia sẻ nguồn tài nguyên đặc biệt 6
1.1.2.5 Phạm vi ứng dụng 6
1.1.3 Các thành phần của hệ thống tính toán lưới 7
1.1.4 Kiến trúc chung của lưới 8
1.2 BẢO VỆ THÔNG TIN TRONG TÍNH TOÁN LƯỚI 12
1.2.1 Vấn đề cơ bản của một hệ thống tính toán lưới 12
1.2.1.1 Bảo vệ thông tin 12
1.2.1.2 Lập lịch và quản lý tài nguyên 12
1.2.1.3 Dịch vụ thông tin 13
1.2.1.4 Quản lý dữ liệu 13
1.2.2 Hệ thống bảo vệ thông tin 13
1.2.2.1 Một số khái niệm 13
1.2.2.2 Yêu cầu an toàn thông tin trên lưới 15
1.2.2.3 Các chính sách bảo đảm an toàn thông tin 18
1.2.2.4 Kiến trúc bảo vệ thông tin 20
1.2.2.5 Cơ sở hạ tầng bảo vệ thông tin trong lưới tính toán 25
Chương 2 VẤN ĐỀ BẢO VỆ THÔNG TIN 28
TRONG HỆ THỐNG TÍNH TOÁN LƯỚI 28
2.1 VẤN ĐỀ XÁC THỰC THỰC THỂ SỬ DỤNG LƯỚI 28
2.1.1.Phương pháp sử dụng chữ ký số 28
2.1.1.1 Sơ đồ chữ ký số [2] 28
2.1.1.2 Chữ ký RSA 29
2.1.1.3 Chữ ký Elgamal 30
2.1.1.4 Quy trình tạo và kiểm tra chữ ký số 31
2.1.2 Sử dụng Chữ ký số xác thực người sử dụng 35
2.2 VẤN ĐỀ BẢO VỆ THÔNG TIN TRÊN ĐƯỜNG TRUYỀN LƯỚI 36
2.2.1 Phương pháp mã hoá 36
2.2.1.1 Hệ mã hoá [2] 36
Trang 5iv
2.2.1.2.Hệ mã hoá khoá đối xứng 37
2.2.1.3 Hệ mã hoá khoá phi đối xứng 49
2.2.1.4 Sử dụng phương pháp mã hoá bảo mật thông tin trên đường truyền lưới 54
2.2.2 Phương pháp tạo đại diện thông điệp 55
2.2.2.1 Cấu trúc hàm băm mật mã 55
2.2.2.2 Đặc tính của hàm băm 56
2.2.2.3.Thuật toán băm SHA 56
2.2.2.4 Sử dụng phương pháp tạo đại diện thông điệp để kiểm tra tính toàn vẹn 60
Chương 3 THỬ NGHIỆM CHƯƠNG TRÌNH BẢO VỆ THÔNG TIN 61
3.1 THỬ NGHIỆM CHƯƠNG TRÌNH MÃ HOÁ 61
3.1.1 Bài toán 61
3.1.2 Cài đặt chương trình 61
3.1.3 Các thành phần chương trình 61
3.1.4 Sử dụng chương trình 61
3.2 THỬ NGHIỆM CHƯƠNG TRÌNH KÝ SỐ 64
3.2.1 Bài toán 64
3.2.2 Cài đặt chương trình 64
3.2.3 Các thành phần chương trình 64
3.2.4 Sử dụng chương trình 65
KẾT LUẬN 67
TÀI LIỆU THAM KHẢO 68
Trang 6v
DANH MỤC BẢNG
Bảng 2.1 Bảng hoán vị khởi đầu 42
Bảng 2.2 Bảng khoá chuyển đổi 42
Bảng 2.3 Bảng số bít dịch của một vòng 43
Bảng 2.4 Bảng hoán vị nén 43
Bảng 2.5 Bảng hoán vị mở rộng E 44
Bảng 2.6 Hộp S thứ nhất 44
Bảng 2.7 Hộp S thứ hai 45
Bảng 2.8 Hộp S thứ ba 45
Bảng 2.9 Hộp S thứ tƣ 45
Bảng 2.10 Hộp S thứ năm 45
Bảng 2.11 Hộp S thứ sáu 46
Bảng 2.12 Hộp S thứ bảy 46
Bảng 2.13 Hộp S thứ tám 46
Bảng 2.14 Hộp hoán vị P 47
Bảng 2.15 Bảng hoán vị cuối cùng 47
Trang 7vi
DANH MỤC HÌNH
Hình 1.1 Minh hoạ về tính toán lưới 3
Hình 1.2 Minh hoạ tổ chức ảo 5
Hình 1.3 Các thành phần theo mô hình chức năng 7
Hình 1.4 Kiến trúc phân tầng lưới 9
Hình 1.5 Miền tin tưởng chung của các tổ chức ảo 17
Hình 1.6 Mô hình kiến trúc bảo vệ thông tin trong hệ thống tính toán lưới 21
Hình 2.1 Sơ đồ tạo chữ ký số của thông điệp 32
Hình 2.2 Sơ đồ đọc và xác thực một tài liệu được ký bằng chữ ký số 34
Hình 2.3 Mã hoá với khoá mã và giải mã giống nhau 37
Hình 2.4 Sơ đồ mã hoá DES 39
Hình 2.5 Một vòng lặp của DES 41
Hình 2.6 Mã hoá với khoá mã và giải mã khác nhau 49
Hình 2.7 Bảo mật thông tin bằng mã hóa theo đường truyền 54
Hình 2.8 Xử lý thông tin trong SHA-1 59
Hình 2.9 Kiểm tra tính toàn vẹn bằng phương pháp tạo đại diện thông điệp 60
Hình 3.1 Chương trình mã hoá 62
Hình 3.2 Tạo khoá bí mật, công khai 62
Hình 3.3 Mã hoá chuỗi Hexadecimal 63
Hình 3.4 Giải mã dùng hệ mã hoá RSA 63
Hình 3.5 Mã hoá file dữ liệu dùng hệ DES 64
Hình 3.6 Giải mã file dữ liệu dùng hệ DES 64
Hình 3.7 Chương trình ký số RSA 65
Hình 3.8 Tạo khoá bí mật, công khai 65
Hình 3.9 Ký tài liệu 66
Hình 3.10 Xác thực chữ ký 66
Trang 81
MỞ ĐẦU
Ngày nay, với sự phát triển vượt bậc của khoa học kỹ thuật và công nghệ, đã xuất hiện những bài toán trong nhiều lĩnh vực đòi hỏi sức mạnh tính toán mà một máy tính riêng lẻ không thể đảm trách Xuất phát từ những nhu cầu đó, các kỹ thuật tính toán song song, tính toán phân tán đã được đề xuất và đã phần nào đáp ứng được các yêu cầu này Tuy nhiên, con người vẫn muốn có một sức mạnh tính toán lớn hơn, với khả năng chia sẻ tài nguyên giữa mọi người trên phạm vi toàn cầu, khả năng tận dụng các phần mềm cũng như tài nguyên vật lý phân tán cả về mặt địa lý Tính toán lưới ra đời nhằm giải quyết yêu cầu trên
Tính toán lưới đã mở ra các giải pháp mới cho các ứng dụng đòi hỏi khả năng tính toán lớn Tính toán lưới có thể được sử dụng cho các bài toán nghiên cứu
về sinh học, y học, vật lý, hoá học cũng như các ứng dụng trong phân tích và đánh giá tài chính, khai thác dữ liệu và rất nhiều các loại ứng dụng khác
Bảo vệ thông tin là một trong những vấn đề quan trọng nhất trong hệ thống tính toán lưới Vì vậy, mục đích của luận văn là tìm hiểu, trình bày tổng quan về Hệ thống tính toán lưới Trên cơ sở đó đi sâu tìm hiểu một số phương pháp bảo vệ thông tin trong hệ thống tính toán lưới
Bố cục của luận văn gồm:
Chương 1 Khái quát về Hệ thống tính toán lưới và bảo vệ thông tin trong
tính toán lưới, trình bày khái niệm, các thành phần, kiến trúc và lợi ích của tính toán lưới Các vấn đề cơ bản của tính toán lưới và hệ thống bảo vệ thông tin
Chương 2 Một số vấn đề bảo vệ thông tin trong hệ thống tính toán lưới,
trình bày việc giải quyết hai vấn đề xác thực thực thể sử dụng lưới và bảo vệ thông tin trên đường truyền lưới
Chương 3 Thử nghiệm chương trình bảo vệ thông tin, cài đặt chương trình
mã hoá và chương trình ký số
Phần kết luận, trình bày tóm tắt kết quả đạt được và hướng phát triển
Trang 92
Chương 1 KHÁI QUÁT VỀ HỆ THỐNG TÍNH TOÁN LƯỚI
VÀ BẢO VỆ THÔNG TIN TRONG TÍNH TOÁN LƯỚI
1.1.KHÁI QUÁT VỀ HỆ THỐNG TÍNH TOÁN LƯỚI
1.1.1 Khái niệm Tính toán lưới
Tuỳ theo quan niệm và cách xây dựng hệ thống trong thực tế, mỗi tổ chức hoặc cá nhân đưa ra những định nghĩa khác nhau về lưới
Một định nghĩa về Lưới tính toán (Computing Grid) khá hoàn chỉnh được đưa ra bởi tiến sĩ Ian Foster như sau:
“ Lưới tính toán là một loại hệ thống song song, phân tán cho phép chia sẻ, lựa chọn Kết hợp các tài nguyên phân tán theo địa lý, thuộc nhiều tổ chức khác nhau, dựa trên tính sẵn sàng, khả năng chi phí của chúng và yêu cầu về chất lượng dịch vụ (QoS) của người dùng để giải quyết các bài toán, ứng dụng có quy mô lớn trong khoa học, kỹ thuật và thương mại Từ đó hình thành nên các “ tổ chức ảo” (Vitual Organization(VO)), các liên minh tạm thời giữa các tổ chức và tập đoàn, liên kết với nhau để chia sẻ tài nguyên và / hoặc kỹ năng nhằm đáp ứng tốt hơn các
cơ hội kinh doanh hoặc các dự án có nhu cầu lớn về tính toán và dữ liệu, toàn bộ việc liên minh này dựa trên các mạng máy tính”
Còn dưới quan điểm của một số công ty và liên minh phát triển lưới trên thế giới thì tính toán lưới được định nghĩa như sau [8]:
Định nghĩa của Oracle: Tính toán lưới là việc liên kết nhiều máy chủ và
thiết bị lưu trữ thành một siêu máy tính nhằm tối ưu hóa được tính ưu việt của các
hệ thống máy chủ cũng như hệ thống ứng dụng, nhờ đó giảm thiểu đến mức thấp nhất chi phí
Định nghĩa của IBM: Tính toán lưới là một môi trường tính toán ảo Môi
trường này cho phép bố trí song song, linh hoạt, chia sẻ, tuyển lựa, tập hợp các nguồn tài nguyên hỗn hợp về mặt địa lý, tùy theo mức độ sẵn sàng, hiệu suất, chi phí của các tài nguyên tính toán và yêu cầu về chất lượng dịch vụ của người sử dụng
Trang 103
Định nghĩa của liên minh điện toán lưới: Môi trường tính toán lưới được
hiểu như một hạ tầng kết nối hệ thống máy tính, hệ thống mạng, hệ thống cơ sở dữ liệu được sở hữu và quản lý bởi nhiều tổ chức, cá nhân nhằm cung cấp môi trường tính toán ảo duy nhất với hiệu năng cao cho người sử dụng
Trong luận văn sẽ không đưa ra định nghĩa nào, nhưng để có một cái nhìn toàn diện về tính toán lưới, ta xem xét khái niệm tính toán lưới theo một số đặc điểm chung sau:
- Kích thước lớn: Theo số lượng tài nguyên và khoảng cách địa lý giữa
chúng
- Phân tán: Có độ trễ đáng kể trong truyền dữ liệu, tài nguyên trải dài trên
các vùng địa lý khác nhau
- Động: Các tài nguyên có thể thay đổi khi ứng dụng đang được thực hiện
- Hỗn tạp: Kiến trúc và tính chất của các nút lưới có thể là hoàn toàn khác
nhau Tài nguyên lưới có thể là các máy đơn hoặc mạng con khác nhau
- Vượt qua phạm vi một tổ chức: Có nhiều trạm và các chính sách truy nhập
có thể khác nhau trên các trạm, tổng thể lưới sẽ tạo ra một tổ chức ảo thống nhất
Có thể hình dung đơn giản một lưới bao gồm một tập các tài nguyên đa dạng (còn gọi là nút lưới có thể là PC, hệ thống lưu trữ….) thuộc về nhiều tổ chức khác nhau nhằm giải quyết một bài toán nào đó
Hình 1.1 Minh hoạ về tính toán lưới
Trang 114
1.1.2 Lợi ích của tính toán lưới
Những lợi ích mà tính toán lưới mang lại [8] bao gồm:
1.1.2.1 Khai thác những nguồn tài nguyên chưa được sử dụng đúng mức
Ứng dụng cơ bản nhất của tính toán lưới chính là chạy một ứng dụng hiện hữu trên một máy tính khác Công việc được yêu cầu có thể chạy trên một máy rỗi đâu đó trong mạng lưới Cần ít nhất hai điều kiện tiên quyết để thực hiện yêu cầu này Thứ nhất, ứng dụng phải có khả năng thực hiện từ xa; Thứ hai, máy từ xa phải đáp ứng được những yêu cầu về phần cứng, phần mềm hoặc những yêu cầu về tài nguyên khác cho ứng dụng
Trong thực tế, các máy có thể để trống một dung lượng đĩa khá lớn Tính toán lưới có khả năng tập hợp các không gian nhớ trống này thành một bộ nhớ ảo lớn hơn, tạo ra sự cải thiện hiệu năng và độ tin cậy cao hơn Thực vậy, giả sử một ứng dụng cần đọc rất nhiều dữ liệu, dữ liệu này có thể được tự động nhân bản tại nhiều điểm chiến lược trên lưới Như vậy, nếu ứng dụng phải xử lý trên một máy từ
xa trong lưới, dữ liệu đã ở ngay đó hay hoặc gần đó, và do vậy không cần phải di chuyển đến điểm xa xôi Điều này tạo ra những lợi ích về hiệu năng, đồng thời, việc sao chép dữ liệu như vậy có thể được sử dụng như những bản sao lưu khi bản gốc bị
hư hại hoặc không sẵn sàng
1.1.2.2 Giúp cân bằng trong sử dụng tài nguyên
Khi một ứng dụng đòi hỏi quá nhiều tài nguyên thì rõ ràng một hệ thống đơn
lẻ không đủ sức để đáp ứng nó Giải pháp ở đây là chúng có thể được chuyển đến những hệ thống chưa được sử dụng đúng mức Nói cách khác là ứng dụng đó có thể được phân tán ra từng phần để hoàn thành trên nhiều hệ thống khác nhau Tóm lại, lưới có thể đảm bảo tính nhất quán để cân bằng tải trên một tập rộng lớn các tài nguyên
Trang 125
1.1.2.3 Khả năng thực hiện tính toán song song
Khả năng tính toán song song là một trong những đặc điểm thú vị nhất của tính toán lưới Yêu cầu chung của việc thực hiện tính toán song song là các ứng dụng được thiết kế sao cho nó có thể được chia nhỏ thành các phần chạy độc lập với nhau Một ứng dụng có yêu cầu tính toán lớn trên lưới có thể chia thành các công việc nhỏ hơn, mỗi công việc này có thể được thực hiện trên một máy nào đó trong lưới Mức độ liên quan giữa các công việc con càng thấp thì ứng dụng càng tối ưu
Một đóng góp quan trọng khác của tính toán lưới là cho phép đơn giản hoá
sự tương tác giữa các lĩnh vực, hệ thống, lĩnh vực rộng hơn Tính toán lưới cung cấp những tiêu chuẩn quan trọng cho phép các hệ thống không đồng nhất có thể làm việc với nhau để hình thành một hệ thống tính toán ảo lớn với những nguồn tài nguyên ảo khác nhau Người dùng lưới có thể được tổ chức động vào trong một số
tổ chức ảo, mỗi tổ chức có những yêu cầu chính sách khác nhau Những tổ chức ảo này cũng có thể chia sẻ tài nguyên với nhau và tập hợp lại trong một lưới lớn hơn
Hình 1.2 Minh hoạ tổ chức ảo Một ưu điểm nổi bật của sự hợp tác là chia sẻ về dữ liệu Những file hoặc cơ
sở dữ liệu có thể mở rộng thông suốt qua nhiều hệ thống, như vậy sẽ có khả năng khai thác được nhiều hơn bất cứ hệ thống đơn lẻ nào
Trang 136
1.1.2.4 Chia sẻ nguồn tài nguyên đặc biệt
Ngoài việc chia sẻ CPU và các nguồn tài nguyên lưu trữ, một lưới có thể cung cấp các dịch vụ cho phép truy nhập tới các thiết bị đặc biệt, phần mềm, bản quyền và những dịch vụ khác
Ví dụ: Một người dùng cần tăng thêm băng thông để thực hiện tìm kiếm, khai phá dữ liệu, công việc có thể được chia ra cho các máy trong lưới có kết nối độc lập tới Internet Khi đó toàn bộ khả năng tìm kiếm được nhân lên vì mỗi máy đều có kết nối riêng biệt tới Internet Tất nhiên, nếu những máy này đã chia sẻ kết nối tới mạng thì băng thông tăng lên không đáng là bao
Một vài máy có thể chia sẻ những phần mềm có bản quyền mà giá rất đắt Để thực hiện điều này, công việc sẽ được gửi đến máy có chứa phần mềm đó, sau khi thực hiện sẽ trả về kết quả cho máy yêu cầu Nói cách khác, đây là việc chia sẻ giấy phép phần mềm
Một vài máy trong lưới có thể có những thiết bị đặc biệt và lưới sẽ đóng vai trò chia sẻ các thiết bị đó
Ví dụ: Một vài máy trong lưới có thể kết nối với kính hiển vi điện tử lớn Để dùng nó từ xa, một mẫu thử được gửi tới chủ nhân của kính hiển vi Sau đó, người dùng có thể điều khiển máy từ xa, thay đổi góc nhìn phối cảnh cho đến khi lấy được hình ảnh mong muốn
1.1.2.5 Phạm vi ứng dụng
Tính toán lưới thường được sử dụng để giải quyết các bài toán khoa học đòi hỏi khả năng tính toán và thông lượng cao như mô phỏng, thiết kế vi mạch, chia sẻ nội dung, truy nhập dịch vụ từ xa Hoặc các bài toán đòi hỏi dữ liệu lớn, thời gian thực, phục vụ theo yêu cầu và các bài toán tính toán cộng tác như thiết kế cộng tác, khai phá dữ liệu, giáo dục điện tử…
Trang 147
1.1.3 Các thành phần của hệ thống tính toán lưới
Xét theo mô hình chức năng thì hệ thống tính toán lưới có các thành phần sau
Các thành phần của lưới tính toán theo mô hình chức năng
Hình 1.3 Các thành phần theo mô hình chức năng
Theo hình minh hoạ 1.3 ta thấy, về mặt chức năng lưới gồm các thành phần sau:
Cổng tương tác (Grid portal): Là một giao diện cho phép người dùng sử dụng
các ứng dụng lưới, do đó lưới trở nên trong suốt với người dùng
Thành phần bảo mật (Security): Là cơ chế đảm bảo các hoạt động như xác
thực, cấp quyền, bảo mật, toàn vẹn và tính sẵn sàng
Chức năng an ninh nút (Node Security Function): Chức năng này chịu trách
nhiệm xác thực và bảo mật cho từng nút trong quá trình giao tiếp giữa nó và các thành phần khác bên trong mạng lưới Nó phụ thuộc vào hệ điều hành và các hệ thống lưới cụ thể, thường thấy là cơ chế cấp chứng chỉ quyền truy cập
Bộ lập lịch (Scheduler): Là phần phối hợp quá trình thực thi của nhiều công
việc song song Đơn giản, người sử dụng có thể chọn nút thích hợp để chạy tác vụ, sau đó chỉ việc kích hoạt lệnh để định tuyến công việc đó tới nút đã chọn
Trang 158
Thành phần môi giới (Broker): Sau khi người dùng được xác nhận quyền gia
nhập vào mạng lưới bởi thành phần an ninh nút, thành phần này sẽ chỉ rõ ứng dụng của người dùng được sử dụng tài nguyên nào và đảm bảo tài nguyên được sẵn sàng
sử dụng theo tham số truyền vào
Quản lý, phân bổ tài nguyên (Grid resource allocation manager- GRAM):
Cung cấp dịch vụ để kích hoạt từng công việc trên từng tài nguyên cụ thể; kiểm tra trạng thái công việc; đọc kết quả khi công việc đó kết thúc Các thông tin của thành phần này sau đó sẽ được bộ lập lịch sử dụng
Tài nguyên (Resource): Tài nguyên lưới bao gồm bộ xử lý, bộ lưu trữ, các
ứng dụng và các thành phần
Quản lý dữ liệu (Data management): Dữ liệu có thể nằm ở tài nguyên, hoặc là
kết quả thực thi của một tác vụ nào đó Thành phần quản lý dữ liệu phải đảm bảo an toàn và ổn định trong quá trình di chuyển dữ liệu giữa các lưới
Giao thức (Protocol): Là thành phần đảm bảo liên kết các thành phần chức
năng kể trên để có thể hoạt động và tương tác được với nhau trong mạng lưới
1.1.4 Kiến trúc chung của lưới
Mạng lưới tính toán là hệ thống phần cứng và phần mềm kết nối các máy tính, cho phép chia sẻ các tài nguyên tính toán của các máy tính nối mạng, làm tăng gấp nhiều lần hiệu năng và tốc độ xử lý thông tin, có khả năng chuyển tải những khối lượng dữ liệu khổng lồ, tăng khả năng lưu trữ và truy cập thông tin trên mạng Đây là điều mà công nghệ mạng Internet truyền thống chỉ dựa trên giao thức TCP/IP không thể đạt tới
Mạng lưới tính toán được xây dựng trên nền tảng kiến trúc mở và phân tầng Trong mỗi tầng của lưới, các thành phần chia sẻ các thuộc tính chung và được
bổ sung những tính năng mới mà không là ảnh hưởng đến các tầng khác
Trang 169
Ta có thể tổng hợp kiến trúc lưới thành 5 tầng như sau:
Tầng Fabric: giúp định vị các tài nguyên mạng lưới
Tầng Connectivity: giúp kết nối mạng lưới trên các mạng
Tầng Resource: giúp chia sẻ các tài nguyên mạng lưới
Tầng Collective: giúp kết hợp và định vị nhiều kiểu tài nguyên.
Tầng Application: giúp kết nối các ứng dụng người dùng, để truy cập và sử
dụng tài nguyên mạng lưới
Hình 1.4 Kiến trúc phân tầng lưới
Application (Tầng ứng dụng)
Collective (Tầng kết hợp)
Resource (Tầng tài nguyên)
Connectivity(Tầng kết nối)
Fabric(Tầng thiết bị)
Trang 1710
Tầng Fabric (tầng thiết bị)
Tầng này bao gồm các tài nguyên cục bộ, phân tán trên mạng, chúng bị ràng buộc bởi Cơ chế quản lý tài nguyên và Cơ chế kiểm tra
Tài nguyên của tầng này được phân thành các nhóm như sau:
- Tài nguyên tính toán: Đó là các kỹ thuật cần thiết để khởi đầu chương trình
và để giám sát cũng như việc điều khiển việc thực hiện tiến trình xuất kết quả Các
kỹ thuật quản lý, cho phép điều khiển các tài nguyên được cấp cho trong các tiến trình cũng rất hữu hiệu (Ví dụ: Kỹ thuật đặt chỗ trước)
- Tài nguyên lưu trữ: Đó là các kỹ thuật cần cho việc sắp đặt và lấy file, cũng như các kỹ thuật đọc và ghi một tập con của file hoặc các chức năng lựa chọn hay thu nhỏ đối với các dữ liệu ở xa Các kỹ thuật quản lý tài nguyên cho phép điều khiển các tài nguyên cấp cho chuyển giao dữ liệu (như không gian đĩa, băng thông, CPU)
- Tài nguyên mạng: Đây là các kỹ thuật quản lý đối với các tài nguyên được cấp cho chuyển giao trên mạng
- Các kho mã nguồn: Đây là một dạng đặc biệt của các tài nguyên lưu trữ Nó cần các kỹ thuật để quản lý các phiên bản của mã nguồn và mã nguồn
Tầng Connectivity (tầng kết nối)
Tầng này đóng vai trò rất quan trọng, nó xác định các giao thức lõi về kết nối
và chứng thực cho các giao dịch trên mạng Các giao thức kết nối cho phép trao đổi
dữ liệu giữa các tài nguyên của tầng Fabric
Các giao thức kết nối bao gồm các giao thức vận chuyển (Transport), tìm đường (Rounting) và quản lý tên (Naming) Các giao thức này tương tự các giao thức IP, TCP, UDP trong bộ giao thức TCP/IP và các giao thức tầng ứng dụng như DNS,OSPF, RSPV
Trang 1811
Tầng Resource (tầng tài nguyên)
Tầng này dựa trên nền tảng sẵn có của tầng conectivity Những giao thức trong tầng này sẽ gọi các chức năng trong tầng Fabric để truy cập và sử dụng các loại tài nguyên
Hai giao thức chính:
- Giao thức thông tin (Information Protocol): Được sử dụng để thu được các thông tin cấu trúc và trạng thái tài nguyên như cấu hình mức tải hiện thời và các chính sách sử dụng khác
- Giao thức quản lý (Management Protocol): Sử dụng để truy cập các tài nguyên chia sẻ, tạo các tiến trình, truy cập dữ liệu
- Các dịch vụ giám sát và dự báo (Monitoring and Diagnostic Services): Cho phép theo dõi các sai hỏng, các cuộc tấn công sai phạm, quá tải
- Các dịch vụ nhân bản dữ liệu (Data replication Services): Cho phép tăng hiệu năng hệ thống
- Các hệ thống hỗ trợ lập trình lưới (Grid-enable Programming Systems): Gồm các thư viện lập trình
- Hệ thống quản lý tải và môi trường cộng tác (Workload Management System & Collaboration Frame Work): Cho phép quản lý các luồng công việc
- Dịch vụ tìm kiếm phần mềm (Sofware Discovery Services): Cho phép lựa chọn các nền tảng thực thi tuỳ theo các tham số của bài toán
Trang 1912
Tầng Application (tầng ứng dụng)
Tầng này bao gồm các ứng dụng được phát triển trên môi trường lưới Các ứng dụng lưới này được xây dựng trên cơ sở gọi các hàm, các dịch vụ được cung cấp bởi các tầng phía dưới Vì vậy, ở tầng này phải thiết kế và cài đặt các dịch vụ, các hàm cụ thể để sao cho người sử dụng lưới cảm thấy trong suốt Người sử dụng yêu cầu chạy ứng dụng, nhận về kết quả mà không hề biết ứng dụng được chạy ở đâu trên hệ thống lưới, sử dụng tài nguyên gì, ở đâu Vì vậy, có thể xem hệ thống tính toán lưới như một máy tính ảo được kết hợp các tài nguyên khác nhau
1.2 BẢO VỆ THÔNG TIN TRONG TÍNH TOÁN LƯỚI
1.2.1 Vấn đề cơ bản của một hệ thống tính toán lưới
Có 4 vấn đề cơ bản được quan tâm trong tính toán lưới [6] như sau:
1.2.1.1 Bảo vệ thông tin
Sự phát triển của hệ thống tính toán lưới được quyết định bởi một nền tảng bảo vệ thông tin vững chắc Với tính chất là có quy mô lớn, quan hệ chia sẻ tài nguyên giữa nhiều tổ chức, bảo vệ thông tin phải là yếu tố được đặt lên hàng đầu trong lưới
Một số vấn đề bảo vệ thông tin phải xem xét trong tính toán lưới là:
- Xác thực thực thể sử dụng lưới
- Bảo vệ thông tin trên đường truyền lưới
- Bảo vệ sự tấn công phá hoại hạ tầng cơ sở lưới
- Phòng tránh các dạng tấn công lưới chẳng hạn tấn công từ chối dịch vụ, tấn công giữa
1.2.1.2 Lập lịch và quản lý tài nguyên
Các tài nguyên lưới thường phân tán và không đồng nhất Do đó, việc tích hợp, đồng bộ hoá và biểu diễn chúng dưới một dạng thống nhất là yêu cầu cần thiết
Trong môi trường tính toán lưới, tại một thời điểm có thể có rất nhiều ứng dụng cùng truy cập chia sẻ một hoặc nhiều tài nguyên khác nhau nên cần có bộ lập lịch nhằm tối ưu hoá công việc Bộ lập lịch dựa vào các thông tin trên lưới để quyết định thứ tự đệ trình công việc
Trang 2013
1.2.1.3 Dịch vụ thông tin
Đối với môi trường động và không đồng nhất như tính toán lưới thì các thông tin về các thành phần trong lưới sẽ thường xuyên thay đổi Do đó, dịch vụ thông tin cần cung cấp cơ chế tự động cập nhật và đăng ký các thông tin về toàn hệ thống như tài nguyên, các dịch vụ có thể cung cấp trên lưới, trạng thái của toàn bộ môi trường lưới
1.2.1.4 Quản lý dữ liệu
Việc truy cập các nguồn dữ liệu trên lưới đòi hỏi một khả năng trao đổi, tương tác giữa các dữ liệu có thể lên đến Giga bytes hoặc nhiều hơn Điều này đòi hỏi hệ thống lưới phải có chiến lược lưu trữ và tối ưu hoá hệ thống lưu trữ
1.2.2 Hệ thống bảo vệ thông tin
1.2.2.1 Một số khái niệm
Bảo vệ thông tin
Bảo vệ thông tin là một chủ đề rộng, có liên quan đến nhiều lĩnh vực và trong thực tế có nhiều phương pháp để bảo vệ thông tin
Bảo vệ thông tin bao gồm:
- Bảo đảm tính bí mật: Tính bí mật của thông tin là tính giới hạn về đối tượng được quyền truy xuất đến thông tin
- Bảo đảm tính toàn vẹn (bảo toàn): Đặc trưng này đảm bảo sự tồn tại nguyên vẹn của thông tin, loại trừ mọi sự thay đổi thông tin có chủ đích hoặc hư hỏng, mất mát thông tin do sự cố thiết bị hoặc phần mềm
Tính toàn vẹn được xét trên hai khía cạnh
+ Tính nguyên vẹn của nội dung thông tin
+ Tính xác thực của nguồn gốc thông tin
Trang 21 Khái niệm mã hoá
Mã hoá (Encryption) là quá trình chuyển thông tin gốc có thể đọc được (gọi
là bản rõ-plaintext) thành thông tin bí mật khó có thể đọc được (gọi là bản mã- Clippher text) Quá trình biến đổi thông tin mật về dạng thông tin gốc ban đầu gọi là quá trình giải mã (Decryption)
Thuật toán mã hoá (Encryption algorithm) hay giải mã là thủ tục tính toán
để mã hoá hay giải mã
Khoá mã hoá là một giá trị làm cho thuật toán mã hoá được thực hiện theo cách riêng biệt và sinh ra bản mã riêng Thông thường khoá càng lớn thì bản mã càng an toàn Phạm vi các giá trị có thể có của khoá được gọi là không gian khoá
Hàm băm mật mã
Hàm băm mật mã hay gọi tắt là hàm băm là một hàm toán học chuyển đổi một thông điệp có độ dài bất kỳ thành một dãy bit có độ dài cố định (tuỳ thuộc vào thuật toán băm) Dãy bit này gọi là giá trị băm hay “Đại diện thông điệp”, “Đại diện tài liệu”
Chữ ký số
Những năm 80 của thế kỷ XX, các nhà khoa học đã phát minh ra “chữ ký số”
để chứng thực một “tài liệu số” Đó chính là “bản mã” của xâu bit tài liệu.[2]
Người ta tạo ra chữ ký số (chữ ký điện tử) trên tài liệu số giống như tạo ra bản mã của tài liệu với khoá lập mã
Như vậy, ký số trên tài liệu số là ký trên từng bit tài liệu Kẻ gian khó có thể giả mạo chữ ký số nếu không biết khoá lập mã
Để kiểm tra một chữ ký số thuộc về một tài liệu số, người ta giải mã chữ ký
số bằng khoá giải mã và so sánh với tài liệu gốc
Trang 2215
1.2.2.2 Yêu cầu an toàn thông tin trên lưới
Do đặc điểm hỗn tạp và không đồng nhất của các tổ chức và tài nguyên trong lưới, vấn đề bảo vệ thông tin trong lưới là một trong những vấn đề được quan tâm hàng đầu Có vấn đề bảo mật mới chưa từng gặp trong các công nghệ bảo mật hiện tại cho hệ thống tính toán truyền thống
Ví dụ: Các hệ thống tính toán song song đòi hỏi nhiều tài nguyên tính toán, dẫn tới nhu cầu phải thiết lập mối quan hệ bảo mật, không chỉ đơn giản là với Client
và Sever mà giữa hàng trăm tiến trình thực hiện trong không gian tập hợp nhiều miền quản trị Ngoài ra, cần phải có các chính sách bảo mật liên miền cho lưới; các công nghệ điều khiển truy nhập giữa các miền khác nhau cũng phải được hỗ trợ
Các ứng dụng và hệ thống lưới có thể đòi hỏi bất cứ chức năng nào như là: chứng thực, điều khiển truy nhập, toàn vẹn, bí mật Khi phát triển kiến trúc bảo mật lưới, cũng phải lựa chọn giải pháp để đáp ứng được đòi hỏi của các đặc tính rất riêng của lưới
- Đăng nhập một lần
Khi bắt đầu một tính toán đòi hỏi sử dụng tài nguyên, cho thuê tài nguyên hay truyền thông nội bộ, người dùng có thể được chứng thực và sẽ không phải chứng thực trong các tính toán tiếp theo
- Giấy uỷ nhiệm người dùng
Các mật khẩu, khoá bí mật, phải được bảo vệ bằng các chính sách như mã hoá, hệ thống File bảo mật, phân quyền
- Tích hợp các giải pháp bảo mật địa phương
Các giải pháp bảo mật liên miền phải tích hợp với các giải pháp bảo mật địa phương để đảm bảo độc lập của các thành viên lưới
Trang 2316
- Cơ sở hạ tầng giấy uỷ nhiệm, giấy chứng nhận thống nhất
Truy nhập liên miền đòi hỏi phải có một quy ước thống nhất để biểu diễn định danh của các thực thể lưới như là người dùng, tài nguyên Vì thế, cần có một chuẩn để mã hoá các giấy chứng nhận cho mục đích bảo mật Hiện tại, X509 là chuẩn cho các giấy chứng nhận phổ biến trong môi trường lưới
- Hỗ trợ bảo mật nhóm truyền thông
Mọi tính toán lưới có thể đòi hỏi một số các tiến trình, cùng cộng tác các hoạt động của chúng với nhau như một nhóm Tổ hợp các nhóm tiến trình sẽ thay đổi trong vòng đời của một tính toán Vì thế, cần cung cấp bảo mật truyền thông nhóm động Hiện tại, không có giải pháp nào hỗ trợ tính năng này, thậm chí là thư viện lập trình bảo mật GSS-API còn không có bảo mật nhóm
- Độc lập công nghệ
Các chính sách bảo mật không phục vụ cho một công nghệ phát triển ứng dụng cụ thể nào Hơn nữa, có thể cài đặt các chính sách bảo mật trong một phạm vi các công nghệ bảo mật, dựa trên cả kỹ thuật mã khoá công khai và phân phối khoá công khai
Các yêu cầu an toàn ở trên được định hướng để cung cấp cho các tổ chức ảo phân tán, rộng lớn để chia sẻ và sử dụng các nguồn tài nguyên đa dạng trong một
mô hình thống nhất Nhưng các tài nguyên cũng như các thành phần khác tham gia lưới lại bị quản lý bởi các cơ chế và các chính sách của một tổ chức truyền thống
mà chúng là thành viên Do vậy, để tổ chức ảo truy nhập vào các tài nguyên của các
tổ chức truyền thống, chúng phải được thiết lập và cộng tác qua mối quan hệ tin tưởng hai bên, tồn tại giữa người dùng với tổ chức truyền thống của họ và mối quan
hệ giữa người dùng với các tổ chức ảo Cơ chế an toàn thông tin trên lưới giải quyết vấn đề này bằng cách cho phép có một tổ chức ảo thống nhất chung một phần chính sách của các tổ chức truyền thống
Trang 2417
Hình 1.5 Miền tin tưởng chung của các tổ chức ảo Các tài nguyên và các tổ chức đưa ra các điều khiển chính sách mở rộng cho một bên thứ ba, các tổ chức ảo phối hợp các chính sách mở rộng trong một miền tin tưởng ổn định lâu dài, để cho phép chia sẻ tài nguyên và sử dụng Giải pháp tải chồng chính sách như trên dẫn tới các chức năng chủ yếu sau mà hệ thống lưới phải thực hiện như: Hỗ trợ nhiều cơ chế bảo mật khác nhau, khởi tạo động các dịch vụ, thiết lập động các miền chứng thực tin tưởng
Trang 25+ Giấy uỷ nhiệm: Là một phần thông tin, dùng để cung cấp định danh cho chủ thể xác định tên và vai trò của chủ thể đó trong lưới
+ Thẩm quyền: Là tiến trình để chủ thể chứng minh định danh của mình cho đối tượng được yêu cầu Thẩm quyền hai bên (bên yêu cầu và bên được yêu cầu) là quá trình hai bên thẩm quyền lẫn nhau, còn gọi là thẩm quyền đa phương
+ Đối tượng: Là các tài nguyên được bảo vệ bởi một chính sách bảo đảm an toàn thông tin nào đó
+ Chứng thực: Là tiến trình mà thông qua đó ta xác định được một chủ thể có được phép truy nhập và sử dụng tài nguyên hay không
+ Miền tin tưởng: Là cấu trúc quản lý mức logic, do một chính sách bảo vệ ổ định, đơn lẻ mức địa phương nắm giữ hay nói cách khác, nó là một tập các chủ thể
và đối tượng được quản lý bởi đơn miền quản trị và chính sách bảo vệ cục bộ
Để giải quyết yêu cầu bảo vệ thông tin trong lưới tính toán ta có các chính sách sau đây:
Môi trường bảo mật đa miền: Bởi vì lưới là một tập hợp không đồng nhất của các người dùng và tài nguyên cục bộ, cho nên các chính sách bảo mật cục bộ dành cho các tài nguyên và người dùng cũng khác nhau, chính sách bảo mật lưới phải đảm bảo tích hợp được tất cả các tập hợp không đồng nhất này Nói chung, môi trường lưới không hạn chế hay không ảnh hưởng tới các chính sách bảo mật địa phương, nhiệm vụ của chính sách bảo mật lưới là phải tập trung điều khiển các tương tác liên miền, ánh xạ các hoạt động liên miền vào trong các chính sách bảo mật địa phương
Trang 2619
Hoạt động lưới hạn chế trong đơn miền quản trị: Mặc dù lưới là một tập đa miền quản trị, tuy nhiên các hoạt động đa miền lại phải tuân theo các chính sách bảo mật địa phương trên đơn miền quản trị
Các chủ thể toàn cục và cục bộ đều tồn tại: Tại mỗi đơn miền quản trị đều tồn tại hai chủ thể trên và chính sách để ánh xạ từ một phần tử toàn cục vào phần tử cục bộ
Chứng thực đa phương: Hoạt động giữa các thực thể định vị trong các miền tin tưởng khác nhau đòi hỏi chứng thực đa phương, bảo đảm cho sự an toàn và bí mật của các hoạt động
Mỗi đối tượng toàn cục được ánh xạ vào đối tượng cục bộ được coi như chúng đã qua chứng thực địa phương trên đối tượng cục bộ đó
Tất cả các quyết định điều khiển được đưa ra đều là cục bộ hay dựa trên cơ
sở của đối tượng cục bộ, hay không có một quyết định nào là toàn cục, áp dụng cho tất cả các tài nguyên cục bộ
Có thể dùng chung tập giấy chứng nhận với các chương trình thay mặt cho cùng một tiến trình, chạy trên cùng một chủ thể, trong cùng một miền tin tưởng Chính sách này cho phép mở rộng cho các ứng dụng song song có kích thước lớn, bằng cách tránh các yêu cầu phải tạo một giấy chứng nhận duy nhất cho mỗi tiến trình, mà cho phép các tiến trình song song dùng chung một tập các giấy chứng nhận
Trang 2720
1.2.2.4 Kiến trúc bảo vệ thông tin
Dưới đây là phần trình bày một kiến trúc bảo vệ thông tin dựa trên ngữ cảnh
an toàn và chính sách bảo vệ thông tin nói trên Các thành phần đề cập trong kiến trúc bao gồm: Các thực thể, giấy chứng nhận và các giao thức
+ Giấy chứng nhận tài nguyên
Giấy chứng nhận tài nguyên chứng nhận cho một tài nguyên là thành viên hợp lệ của lưới, các chính sách an toàn riêng trong tài nguyên đó tương thích với các chính sách chung của lưới
Trang 2821
Các giao thức
Là các quy ước được đưa ra cho hoạt động an toàn trong môi trường lưới Trong kiến trúc này, sử dụng một số giao thức giúp cho các hoạt động trên toàn bộ lưới: người dùng có thể đăng nhập, định vị tài nguyên, định vị các tài nguyên khác trong tiến trình thực hiện
Mô tả kiến trúc[3]
U, R, P: Tương ứng là người dùng, tài nguyên và tiến trình
UP, RP: Giấy chứng nhận người dùng và giấy chứng nhận tài nguyên
CX: Giấy uỷ nhiệm của chủ thể X
SigX(text): văn bản (text) được ký bởi chủ thể X
Hình 1.6 Mô hình kiến trúc bảo vệ thông tin trong hệ thống tính toán lưới
Trang 2922
Như trên hình vẽ, các hoạt động trong kiến trúc bao gồm:
Người dùng thông qua giấy uỷ nhiệm người dùng đăng nhập hệ thống sử dụng giao thức 1
Định vị tài nguyên và khởi tạo các tiến trình qua giấy uỷ nhiệm người dùng
2/ Người dùng tạo giấy uỷ nhiệm người dùng (CUP), sử dụng giấy chứng nhận người dùng UP để ký lên một bản ghi bao gồm: định danh người dùng, tên máy cục
bộ, thời gian hợp lệ cho CPU và bất cứ thông tin nào được đòi hỏi bởi giao thức chứng thực sử dụng để cài đặt kiến trúc
Cup = SigU (usr-id, host, start-time, end-time, auth-info)
Giấy chứng nhận UP thay mặt cho người dùng cho các hoạt động trên lưới, tuy nhiên nó có một vài hạn chế: dễ bị tổn thương và hạn chế thời gian hoạt động khi thay mặt người dùng Giải pháp là sử dụng giấy uỷ nhiệm tạm thời CUP, là sự kết hợp của giấy chứng nhận UP ký lên với một khoá bí mật Giấy uỷ nhiệm CUPcũng có thể hoạt động thay mặt người dùng, nhưng có thời gian hoạt động hạn chế
và một số ràng buộc bởi người dùng như: tên máy (nơi mà UP được phép hoạt động), tên các miền (nơi mà UP được phép khởi tạo tiến trình và sử dụng tài nguyên)
3/ Một tiến trình giấy uỷ nhiệm người dùng được khởi tạo cùng với CUP Nó dựa trên chính sách bảo vệ cục bộ để bảo vệ tính toàn vẹn của CUP
Trang 3023
Giao thức 2: Giao thức định vị tài nguyên
1/ Các giấy chứng nhận UP và RP thẩm quyền lẫn nhau sử dụng giấy uỷ nhiệm CUP
và CRP Một phần của tiến trình này, RP kiểm tra để đảm bảo CUP vẫn còn hợp lệ, chưa hết thời hạn
2/ UP chuyển các yêu cầu định vị tài nguyên cho RP dưới dạng
SigUP(các yêu cầu định vị)
3/.RP kiểm tra tính hợp lệ của UP đã yêu cầu định vị, bảo đảm các yêu cầu này đúng là do UP đã ký lên
4/.Nếu yêu cầu được tiếp nhận, RP tạo ra một bản ghi RESOURCE_CREDENTIAL chứa: tên người dùng, tài nguyên định vị cho người dùng đó, tên tài nguyên… 5/ RP chuyển RESOURCE_CREDENTIAL một cách an toàn tới UP (thực hiện giống bước 1, UP chuyển yêu cầu định vị tới RP)
6/ UP kiểm tra tính hợp lệ RESOURCE_CREDENTIAL, xác nhận và ký lên nó - Sigup(RESOURCE_CREDENTIAL), để tạo ra một giấy uỷ nhiệm yêu cầu tài nguyên Giấy uỷ nhiệm này còn được gọi là giấy uỷ nhiệm tiến trình CP
7/ UP chuyển CP một cách an toàn tới RP (thực hiện giống bước 1, UP chuyển yêu cầu định vị tới RP)
8/ RP định vị tài nguyên, tiếp tục tiếp nhận các tiến trình CP mới do người dùng yêu cầu
Giao thức 3: Giao thức định vị tài nguyên thông qua tiến trình người dùng
1/ Tiến trình và UP của nó chứng thực lẫn nhau thông qua UP và CUP
2/ Tiến trình phát ra một yêu cầu dưới dạng:
SigP {“định vị”, các tham số yêu cầu định vị}
3/ Nếu UP chấp nhận yêu cầu, nó sẽ phát ra một yêu cầu định vị tài nguyên tới RP
cụ thể nào đó sử dụng giao thức 2 đã mô tả ở trên
4/ Kết quả định vị tài nguyên sẽ được UP ký lên, sau đó chuyển cho tiến trình yêu cầu
Trang 31d Nếu kiểm tra không hợp lệ trong khoảng thời gian MAP-TIMEOUT, RP sẽ loại
bỏ yêu cầu và gửi xác nhận tới các thực thể đang chờ đợi
e Nếu xác nhận chƣa đƣợc nhận trong khoảng thời gian MAP-TIMEOUT, yêu cầu coi nhƣ là không đƣợc chấp nhận
Hoạt động chi tiết của các giao thức đều đƣợc thiết lập dựa trên thẩm quyền,
kĩ thuật chữ ký điện tử và mã hoá Tuy nhiên, kiến trúc không đề cập một kĩ thuật chữ ký điện tử riêng biệt nào, việc cài đặt cụ thể sử dụng giao diện lập trình ứng dụng chung GSS Do đó, việc cài đặt và phát triển có thể sử dụng bất cứ công nghệ bảo vệ thông tin riêng biệt nào
Trang 3225
1.2.2.5 Cơ sở hạ tầng bảo vệ thông tin trong lưới tính toán
Như ta đã biết, bảo vệ thông tin là một trong những nền tảng quan trọng nhất trong hệ thống tính toán lưới Hạ tầng bảo mật GSI (Grid Security infrastructure) được đưa ra để giải quyết những vấn đề bảo mật còn tồn tại trong tính toán lưới, mà nền tảng chính là những kiến thức về mật mã và bảo mật
GSI là tập các giao thức, thư viện và công cụ, cho phép người dùng và các ứng dụng truy cập tài nguyên lưới một cách an toàn Đây là thành phần quan trọng
và cơ bản nhất trong các công cụ phát triển lưới cũng như các ứng dụng dựa trên lưới
Sau đây là một số đặc điểm của GSI
Cơ sở hạ tầng khoá công khai [3]
GSI được xây dựng trên cơ sở hạ tầng khoá công khai PKI (Public Key Infrastructure) PKI là tập các thực thể (người dùng và tài nguyên), được phân biệt bởi tên duy nhất gọi là tên định danh Chứng thực trong GSI nghĩa là cho mỗi thực thể (người dùng hoặc tài nguyên), được phân biệt bởi tên duy nhất gọi là định danh duy nhất
Để mỗi một thực thể có một tên định danh duy nhất, GSI đưa ra khái niệm giấy uỷ nhiệm lưới (Grid Credentials), là một cặp gồm giấy chứng nhận (Certificate) và một khoá mã hoá còn gọi là khóa bí mật (Private Key) Giấy chứng nhận đơn giản chỉ là kết nối giữa tên định danh của thực thể đối với khoá bí mật của
họ Sự kết nối này được thực hiện bởi chữ ký điện tử (Digital Signature) bởi một bên thứ ba đáng tin cậy gọi là nhà thẩm quyền (Certificate Anthorithy-CA)
Trong môi trường PKI mỗi thực thể phải trao quyền sở hữu khoá bí mật của mình để đảm bảo sự toàn vẹn của hệ thống Để bảo đảm khóa bí mật không bị đánh cắp có thể sử dụng một số phương pháp:
+ Lưu trữ khoá trong một file đã mã hoá mà khoá chỉ được biết bởi người sở hữu nó
+ Lưu trữ khoá bí mật bằng các thiết bị phần cứng có mật khẩu (Smart Card)
Trang 3326
+ Sử dụng giấy uỷ nhiệm trong một khoảng thời gian sống nhất định (Life time) thì nó sẽ không còn hợp lệ nữa Điều này đòi hỏi phải thường xuyên có tập mới các giấy uỷ nhiệm, bảo vệ khoá bí mật bằng cách hạn chế sự lộ diện của nó Thông thường thời gian sống là một năm, độ dài chính xác thường được xác định bởi nhà thẩm quyền phát hành giấy chứng nhận này
Giao thức bảo mật
GSI cho phép thực hiện hai mức bảo mật: mức giao vận và mức thông điệp
Sự khác nhau của hai mức bảo mật này ở chỗ: Bảo mật mức thông điệp thì chỉ có thông điệp được mã hoá còn bảo mật mức giao vận thì toàn bộ truyền thông được
mã hoá
Cả hai mức bảo mật này đều dựa trên khoá công khai và do đó có thể bảo đảm tính toàn vẹn, tính riêng tư và khả năng chứng thực
Giấy uỷ nhiệm
Trong môi trường lưới, người sử dụng cần chứng thực nhiều lần trong khoảng thời gian tương đối ngắn
GSI giải quyết vấn đề này với khái niệm giấy uỷ nhiệm (Proxy Credential) Mỗi giấy uỷ quyền sẽ hoạt động thay mặt người dùng trong một khoảng thời gian
uỷ quyền ngắn hạn Nói cách khác, việc sử dụng giấy uỷ quyền ngắn hạn thay thế cho giấy chứng nhận dài hạn khi chứng thực người dùng
Giấy uỷ nhiệm có giấy chứng nhận và khoá 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 uỷ 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 khoá
bí mật khác Giấy chứng nhận thường được lưu trữ không mã hoá trong hệ thống file địa phương, thường được bảo vệ bởi quyền truy cập file hệ thống, có thể được
sử dụng nhiều lần mà không có sự bất tiện nào
Trang 3427
Sự uỷ 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 GSI cho phép người dùng uỷ quyền giấy uỷ nhiệm của mình cho giao dịch các máy từ xa
Sự uỷ quyền cũng tương tự như việc tạo ra các giấy uỷ nhiệm, khi một tập các giấy chứng nhận dài hạn sẽ được dùng để tạo lập các tập giấy uỷ 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 uỷ 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 uỷ nhiệm của người dùng cho chứng thực Một điều đáng chú ý nữa là sự uỷ quyền có thể là một chuỗi, một người có thể uỷ quyền cho một host A, sau đó tiến trình sử dụng trên host A có thể uỷ quyền cho host B và cứ tiếp tục như vậy
Xác thực và cấp quyền
Để đảm bảo rằng đối tác trong phiên truyền thông trong hệ thống là tin cậy,
ta có thể sử dụng chức năng xác thực của GSI Sau khi đã xác thực có tài nguyên yêu cầu thì phải xác thực quyền truy cập Khi đó, ta có thể sử dụng chức năng kiểm tra quyền của GSI
Như vậy, chương này đã tìm hiểu được khái niệm, các lợi ích, thành phần của hệ thống tính toán lưới Đồng thời cũng trình bày 4 vấn đề cơ bản trong tính toán lưới và hệ thống bảo vệ thông tin Trong Chương 2 luận văn sẽ trình bày vấn
đề xác thực thực thể sử dụng lưới và vấn đề bảo vệ thông tin trên lưới
Trang 3528
Chương 2 VẤN ĐỀ BẢO VỆ THÔNG TIN
TRONG HỆ THỐNG TÍNH TOÁN LƯỚI
ký số, nhận dạng Chữ ký viết tay, nhận dạng Sinh trắc học,
Trong luận văn này, để xác thực đúng người đã đăng ký sử dụng lưới tác giả dùng phương pháp sử dụng Chữ ký số
Sig Sig và có thuật toán kiểm tra chữ ký:
Người ta dùng hệ mã hoá công khai để lập sơ đồ chữ ký số Ở đây khoá bí mật dùng làm khoá ký, còn khoá công khai dùng để làm khoá kiểm tra chữ ký
Trang 36Cho P=A=Zn và định nghĩa
K là tập các khoá, k=(k’,k”) với k’=a là khoá bí mật,k”=(n,b) là khoá công khai Trong đó, a,bZ*n thoả mãn a b 1mod ( ) n
Các giá trị n,b là công khai, các giá trị p,q,a là các giá trị bí mật
y = Sig k’ (x) =x a mod n (a là khoá bí mật của A), do đó chữ ký là an toàn
So sánh sơ đồ chữ ký RSA với sơ đồ mã hoá RSA ta thấy có sự tương ứng: + Việc ký chẳng qua là mã hoá, việc kiểm thử lại chính là việc giải mã
+ Việc ký số vào tài liệu x tương ứng với việc mã hoá tài liệu x
+ Kiểm thử chữ ký chính là việc giải mã chữ ký, để kiểm tra xem tài liệu đã giải mã có đúng là tài liệu trước khi ký không Thuật toán và khoá kiểm thử
là công khai, ai cũng có thể kiểm thử chữ ký được
'( ) amod
k
Trang 3730
Ví dụ: Chữ ký trên x=2
- Tạo cặp khoá (bí mật,công khai) (a,b):
Chọn bí mật số nguyên tố p=3, q=5, tính n= p.q = 3.5 = 15 , công khai n Đặt P=C=Zn , tính bí mật ( ) n = (p-1).(q-1) = 2.4 = 8
Chọn khoá công khai b = 3 < ( )n ,nguyên tố với ( ) 8n
Khoá bí mật a=3, là phần tử nghịch đảo của b theo mod φ(n)
2/ Độ an toàn của chữ ký RSA
Độ an toàn của chữ ký số RSA phụ thuộc vào bài toán tách số n thành hai số nguyên tố p và q
2.1.1.3 Chữ ký Elgamal
1/Sơ đồ chữ ký
+ Tạo cặp khoá (bí mật, công khai) ( a,b)
Chọn số nguyên tố p sao cho bài toán logarithm rời rạc trong Zp là khó giải Chọn phần tử nguyên thuỷ *
p
Z
a Tính khoá công khai bg a mod pĐịnh nghĩa tập khoá K( , , , ) : bp g a b g a mod p, các giá trị p,g,b đƣợc công khai, phải giữ bí mật a