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ôngtin trên đường truyền lưới.. Kết hợp các
Trang 1VŨ ĐỨ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 2LỜ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ấtnhiề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ạitrườ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, độngviê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ủatô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
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
MỤC LỤC
Trang 4LỜ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
2.2.1.2.Hệ mã hoá khoá đối xứng 37
Trang 52.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
DANH M C B NG ỤC BẢNG ẢNG Bảng 2.1 Bảng hoán vị khởi đầu 42
Trang 6Bả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
DANH MỤC HÌNH Hình 1.1 Minh hoạ về tính toán lưới 3
Trang 7Hì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 8MỞ ĐẦ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ộtmá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ậttí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ánlớ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à đánhgiá 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ốngtí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ánlướ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ôngtin 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 9Chươ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
Tuỳ theo quan niệm và cách xây dựng hệ thống trong thực tế, mỗi tổ chứchoặ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ácnhau, 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ượngdị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ớntrong 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ấpnhấ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ácnguồ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, chiphí 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 10Đị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ườngtí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ìntoà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ácnhau 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 111.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ệnhữ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ầunà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àinguyê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ínhtoá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ớ ảolớ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ạinhiề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 dichuyể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ệcsao 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 đếnnhữ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àinguyên
Trang 121.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ủatí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 ứngdụ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ớinhau 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ôngviệ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 đó tronglướ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ấpnhững tiêu chuẩn quan trọng cho phép các hệ thống không đồng nhất có thể làmviệ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àinguyê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 ảonà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ăngkhai thác được nhiều hơn bất cứ hệ thống đơn lẻ nào
Trang 131.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ảnquyề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ếtnố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 khithự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ấyphé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 vaitrò 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ườidù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 đượchì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 141.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ácthà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 15Thà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ụngcủ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ểmtra 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ủathà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 antoà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ếtnối các máy tính, cho phép chia sẻ các tài nguyên tính toán củacá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ênmạ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 16Ta 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 17Tầ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ênmạ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ệcthự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ũngrấ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 filehoặ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àinguyên cấp cho chuyển giao dữ liệu (như không gian đĩa, băngthông, CPU)
- Tài nguyên mạng: Đây là các kỹ thuật quản lý đối với cáctà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àinguyê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 giaothức lõi về kết nối và chứng thực cho các giao dịch trên mạng Cácgiao thức kết nối cho phép trao đổi dữ liệu giữa các tài nguyên củatầng Fabric
Trang 18Cá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ácgiao thức này tương tự các giao thức IP, TCP, UDP trong bộ giaothức TCP/IP và các giao thức tầng ứng dụng như DNS,OSPF, RSPV
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ầngFabric để 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ấuhì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 để truycập các tài nguyên chia sẻ, tạo các tiến trình, truy cập dữ liệu
Trang 19- Các dịch vụ giám sát và dự báo (Monitoring and DiagnosticServices): Cho phép theo dõi các sai hỏng, các cuộc tấn công saiphạ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 ProgrammingSystems): 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 (WorkloadManagement 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ủabài toán
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ôitrường lưới Các ứng dụng lưới này được xây dựng trên cơ sở gọicá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ụngyêu cầu chạy ứng dụng, nhận về kết quả mà không hề biết ứngdụ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.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:
Trang 201.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ảngbả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àinguyê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 đầutrong 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íchhợ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 ứngdụ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ậplị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
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ácthô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 đòihỏ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ữ
Trang 211.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ề đốitượ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ênvẹ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ấtmá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
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 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)
Trang 22mã-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 theocá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 đổimộ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àothuậ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ệntà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 rabả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
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ộttrong những vấn đề được quan tâm hàng đầu Có vấn đề bảo mậtmớ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àinguyên tính toán, dẫn tới nhu cầu phải thiết lập mối quan hệ bảomật, không chỉ đơn giản là với Client và Sever mà giữa hàng trăm
Trang 23tiế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ũngphả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ậtlướ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ấtriê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ênhay truyền thông nội bộ, người dùng có thể được chứng thực và sẽ không phảichứ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 địaphương để đảm bảo độc lập của các thành viên lưới
- 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ộtchuẩ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
Trang 24Mọ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áchoạ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ôngnhó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 ứngdụ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 vicá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 ảophâ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 gialướ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ệ tintưở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ếtvấ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ínhsách của các tổ chức truyền thống
Trang 25Hình 1.5 Miền tin tưởng chung của các tổ chức ảoCá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.
1.2.2.3 Các chính sách bảo đảm an toàn thông tin
Một số định nghĩa:
+ Chủ thể: Là một thành viên của các hoạt động bảo vệ thông tin, đối vớimôi trường lưới chủ thể thường là người dùng, tài nguyên hay các tiến trình thaymặt cho tài nguyên đó
Trang 26+ Giấy uỷ nhiệm: Là một phần thông tin, dùng để cung cấp định danh chochủ 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 antoà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ínhsá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ủacá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ànhcho 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ôitrườ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 địaphươ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áctươ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ảomật địa phương
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 đamiề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ảomậ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ị đềutồ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ộ
Trang 27Chứng thực đa phương: Hoạt động giữa các thực thể định vị trong các miềntin 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 chotấ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 chocù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ếntrì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ứngnhận
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ếntrúc bao gồm: Các thực thể, giấy chứng nhận và các giao thức
Thực thể
Thực thể bao gồm các người dùng, các tiến trình thực hiện tính toán, vì mỗitính toán bao gồm nhiều tiến trình, mỗi tiến trình lại thay mặt cho một người dùng
Trang 28cụ thể Đối tượng được hình dung như môi trường rộng lớn của các tài nguyên cósẵn: máy tính, kho dữ liệu, mạng, thiết bị….để phục vụ cho tính toán
+ 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ênhợ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ớicác chính sách chung của lưới
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áctrong 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
Trang 29UP, 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
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
sử dụng giao thức 2
Mỗi tiến trình có thể định vị các tài nguyên khác một cách trực tiếp sử dụnggiao thức 3
Trang 30Khởi tạo bảng ánh xạ các định danh toàn cục vào trong các định danh cục bộ
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ậnngườ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ứcchứ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 độngkhi 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ếthợ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 CUP cũ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êncá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ựatrên chính sách bảo vệ cục bộ để bảo vệ tính toàn vẹn của CUP
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
Trang 314/.Nếu yêu cầu được tiếp nhận, RP tạo ra một bản ghi RESOURCE_CREDENTIALchứ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ệngiố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àinguyê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êucầ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êucầ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êucầu
Giao thức 4: Ánh xạ định danh toàn cục vào định danh cục bộ
Trang 32a RP đợi các yêu cầu MAP-SUBJECT-UP và MAP-SUBJECT-P với các tham sốtương ứng.
b RP bảo đảm rằng tiến trình đăng ký ánh xạ thuộc về chủ thể tài nguyên được xácđịnh trong yêu cầu ánh xạ
c Nếu kiểm tra hợp lệ, RP sẽ thiết lập ánh xạ và gửi xác nhận tới tiến trình đăng kýánh xạ và UP
d 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ầucoi 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ậtchữ 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 ứngdụ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
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ấttrong hệ thống tính toán lưới Hạ tầng bảo mật GSI (Grid Securityinfrastructure) được đưa ra để giải quyết những vấn đề bảo mật còn tồn tại trongtí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
Trang 33và 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ênlướ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 KeyInfrastructure) PKI là tập các thực thể (người dùng và tài nguyên), được phân biệtbở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ựcthể (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 danhduy 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ệmgiấ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ứngnhậ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ộtbê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ủamì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ị đánhcắ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)
+ Sử dụng giấy uỷ nhiệm trong một khoảng thời gian sống nhất định (Lifetime) 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ậpmớ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 địnhbở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
Trang 34GSI 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 trongkhoả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 rabằ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ộtcá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ốngfile đị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
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ủangườ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ậpcá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
Trang 35cá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ầncủ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ínhtoá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
Chương 2 VẤN ĐỀ BẢO VỆ THÔNG TIN
TRONG HỆ THỐNG TÍNH TOÁN LƯỚI 2.1 VẤN ĐỀ XÁC THỰC THỰC THỂ SỬ DỤNG LƯỚI
Xác thực là xác minh, kiểm tra một thông tin hay một thực thể nào đó đểcông nhận hoặc bác bỏ tính hợp lệ của thông tin hay thực thể đó
Xác thực gồm 2 việc chính:
+ Xác thực đúng thực thể cần kết nối để giao dịch
Trang 36+ Xác thực đúng thực thể có trách nhiệm về nội dung thông tin (xác thựcđúng nguồn gốc của thông tin).
Trong vấn đề xác thực thực thể sử dụng lưới, luận văn quan tâm tới việc Xácthực đúng người đã đăng ký sử dụng lưới Để thực hiện được điều này có thể sửdụng phương pháp xác thực như: dựa trên User Name và Password, nhận dạng Chữ
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 37Cho 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*
Giả sử A muốn gửi thông báo x, A sẽ tính chữ ký y bằng cách
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
y Sig x x n
Trang 38Ví 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 ( ) 8 n
Khoá bí mật a=3, là phần tử nghịch đảo của b theo mod φ(n)
Ver x y True x y 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ỷ g Z*p Đặt P Z *p, A Z xZ *p *p-1
Chọn khoá bí mật là a Tính khoá công khai Z*p b g 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ôngkhai, phải giữ bí mật a
+ Tạo chữ ký: