Luận văn Bảo mật trong môi trường lưới với tiếp cận hướng tác tử
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-------------------------------------
LUẬN VĂN THẠC SĨ KHOA HỌC
NGÀNH: CÔNG NGHỆ THÔNG TIN
BẢO MẬT TRONG MÔI TRƯỜNG LƯỚI
VỚI TIẾP CẬN HƯỚNG TÁC TỬ
LÊ HUY CƯỜNG
HÀ NỘI 2006
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-------------------------------------
LUẬN VĂN THẠC SĨ KHOA HỌC
BẢO MẬT TRONG MÔI TRƯỜNG LƯỚI
VỚI TIẾP CẬN HƯỚNG TÁC TỬ
NGÀNH: CÔNG NGHỆ THÔNG TIN
MÃ SỐ:
LÊ HUY CƯỜNG
Người hướng dẫn khoa học: PGS.TS. NGUYỄN THANH THỦY
HÀ NỘI 2006
MỤC LỤC
MỤC LỤC......................................................................................................... 1
LỜI NÓI ĐẦU .................................................................................................. 3
LỜI CẢM ƠN ................................................................................................... 4
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT............................................. 5
DANH MỤC HÌNH VẼ.................................................................................... 6
Chương 1. Tổng quan tính toán lưới, bảo mật trên môi trường lưới ................ 8
1.1. Tính toán lưới......................................................................................... 8
1.1.1. Giới thiệu về tính toán lưới............................................................. 8
1.1.2. Lợi ích của tính toán lưới.............................................................. 10
1.1.3. Các vấn đề cơ bản của một lưới.................................................... 12
1.1.4. Kiến trúc lưới ................................................................................ 14
1.2. Các khái niệm cơ bản về bảo mật ........................................................ 15
1.2.1. Một số thuật ngữ cơ bản................................................................ 15
1.2.2. Mã hóa thông tin sử dụng khóa..................................................... 16
1.2.3. Mã hóa đối xứng ........................................................................... 17
1.2.4. Mã hóa công khai.......................................................................... 18
1.2.5. Chữ ký điện tử............................................................................... 19
1.2.6. Giấy chứng nhận điện tử và Nhà chứng nhận thẩm quyền........... 21
1.3. Cơ chế bảo mật trong môi trường lưới................................................. 25
1.4. Các chính sách bảo mật trong môi trường lưới.................................... 28
1.5. Giới thiệu về hạ tầng bảo mật lưới GSI ............................................... 30
1.5.1. Cơ sở hạ tầng khóa công khai....................................................... 30
1.5.2. Bảo mật mức thông điệp và mức giao vận.................................... 31
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
................................................................................................................. 32
1.5.4. Giấy ủy nhiệm............................................................................... 34
1.5.5. Sự ủy quyền................................................................................... 35
1.5.6. Chứng thực.................................................................................... 35
1.5.7. Ứng dụng của GSI......................................................................... 36
Chương 2. An toàn bảo mật trong Globus Toolkit 4 ...................................... 37
2.1. Giới thiệu về GT4 ................................................................................ 37
2.1.1. GT4, OGSA và WSRF.................................................................. 37
2.1.2. Giới thiệu chung về dịch vụ web .................................................. 40
2.1.3. WSRF - nền tảng tài nguyên dịch vụ web .................................... 48
2.1.4. Kiến trúc Globus Toolkit 4 ........................................................... 53
2.2. Các thành phần bảo mật trong GT4 ..................................................... 55
2.3. Ví dụ minh họa: cài đặt bảo mật trong GRAM.................................... 57
Chương 3. Ứng dụng công nghệ tác tử trong tính toán lưới........................... 61
2
3.1. Tác tử.................................................................................................... 61
3.1.1. Khái niệm tác tử............................................................................ 61
3.1.2. Hệ đa tác tử ................................................................................... 66
3.1.3. Truyền thông giữa các tác tử......................................................... 73
3.2. Tiềm năng ứng dụng công nghệ tác tử trong lưới................................ 76
3.3. Các hướng tiếp cận tích hợp công nghệ tác tử trong lưới.................... 77
3.4. Hướng triển khai công nghệ tác tử trong hệ thống BKGrid2006 ........ 79
3.4.1. Kiến trúc hệ thống BKGrid2006................................................... 79
3.4.2. Xây dựng các tác tử giúp đơn giản hóa việc thương lượng sử dụng
dịch vụ..................................................................................................... 81
Chương 4. Xây dựng môđun bảo mật trong BKGrid 2006 ............................ 84
4.1. Yêu cầu cần thiết xây dựng môđun quản trị người dùng..................... 84
4.2. Kiến trúc môđun quản trị người dùng.................................................. 86
4.3. Thiết kế chi tiết..................................................................................... 89
4.3.1. Nhà chứng nhận thẩm quyền ........................................................ 89
4.3.2. Thành phần Quản lý giấy ủy nhiệm.............................................. 91
4.3.3. Thành phần Quản lý ánh xạ người dùng....................................... 91
4.3.4. Tích hợp với các chức năng quản lý người dùng cơ bản.............. 92
4.3.5. Đảm bảo an toàn cho môđun quản trị người dùng........................ 93
4.4. Tích hợp vào hệ thống BKGrid 2006................................................... 94
4.5. Hướng dẫn sử dụng.............................................................................. 95
4.6. Triển khai thử nghiệm.......................................................................... 97
4.6.1. Cấu hình triển khai........................................................................ 97
4.6.2. Kết quả triển khai.......................................................................... 99
Chương 5. Kết luận ....................................................................................... 102
5.1. Kết quả đạt được ................................................................................ 102
5.2. Hướng phát triển ................................................................................ 103
TÀI LIỆU THAM KHẢO............................................................................. 104
3
LỜI NÓI ĐẦU
Công nghệ tính toán lưới đã và đang được nghiên cứu, phát triển và ứng
dụng rộng rãi trên thế giới. Tuy nhiên, hiện tại ở Việt Nam công nghệ này vẫn
còn khá mới mẻ. Để bắt kịp với xu thế chung của thế giới, Trung tâm Tính
toán hiệu năng cao, Trường Đại học Bách Khoa Hà Nội đã triển khai đề tài
Tính toán lưới nhằm mục đích tìm hiểu làm chủ công nghệ và ứng dụng vào
thực tiễn.
Lưới tính toán là một tập bao gồm nhiều tài nguyên phân tán và không
đồng nhất, các tài nguyên này thuộc về nhiều tổ chức khác nhau. Do vậy,
trong hệ thống lưới, vấn đề an ninh và bảo mật luôn được đặt lên hàng đầu.
Để trở thành người dùng của lưới, người dùng phải đáp ứng các yêu cầu phức
tạp về bảo mật như: có giấy chứng nhận, được người quản trị cấp phép truy
cập, mỗi lần truy cập vào tài nguyên phải tạo giấy ủy nhiệm để tương tác với
các tài nguyên. Điều đó làm khó khăn cho người sử dụng, nhất là người sử
dụng không có hiểu biết về bảo mật lưới.
Nhiệm vụ của luận văn "Bảo mật trong môi trường lưới với tiếp cận
hướng tác tử " là nghiên cứu các cơ sở hạ tầng bảo mật lưới và ứng dụng của
công nghệ tác tử trong tính toán lưới, áp dụng vào xây dựng môđun quản trị
người dùng trong hệ thống lưới BKGrid 2006. Mục đích của môđun quản trị
người dùng là làm cho các yêu cầu về bảo mật trở nên trong suốt đối với
người dùng. Cấu trúc của luận văn được chia thành 5 chương:
¾Chương 1: Tổng quan về tính toán lưới, bảo mật trong môi trường lưới
¾Chương 2: An toàn bảo mật trong Globus Toolkit 4.03
¾Chương 3: Ứng dụng công nghệ tác tử trong tính toán lưới
¾Chương 4: Kiến trúc hệ thống BKGrid 2006 và mô đun bảo mật
¾Chương 5: Kết quả đạt được và hướng phát triển
4
LỜI CẢM ƠN
Trong thời gian làm luận văn tốt nghiệp, tôi đã nhận được sự hỗ trợ rất
quý báu từ các thầy cô giáo, các cán bộ và các thành viên khác của Trung tâm
Tính toán hiệu năng cao và của Trung tâm máy tính Trường Đại học Bách
Khoa Hà Nội.
Em xin chân thành cảm ơn PGS. TS. Nguyễn Thanh Thủy, Giám đốc
Trung tâm Tính toán hiệu năng cao, người đã tận tình chỉ bảo, cung cấp cơ sở
vật chất và các điều kiện tốt nhất cho em hoàn thành đề tài.
Em xin chân thành cảm ơn TS. Lê Đăng Hưng, thầy đã đóng góp những
ý kiến quý báu trong suốt quá trình thực hiện đề tài.
Em xin chân thành cảm ơn ThS. Đinh Hùng, thầy đã động viên và tạo
điều kiện cho em trong suốt thời gian thực hiện đề tài.
Cuối cùng tôi xin gửi lời cảm ơn chân thành tới các bạn sinh viên của cả
2 nhóm GCK46 và HPCK46. Các bạn đã giúp tôi rất nhiều trong việc tìm hiểu
và triển khai hệ thống lưới tính toán trên Trung tâm máy tính.
Hà Nội, ngày 20 tháng 10 năm 2006
Học viên thực hiện
Lê Huy Cường
5
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT
STT Thuật ngữ
Giải thích
Agent Communication Language
Agent Identification
1
2
3
4
5
6
7
8
9
ACL
AID
AMS
AP
Agent management System
Agent Platform
DF
Directory Facilitator
GSI
Grid Security Infrastructure
Globus Toolkit
GT
HAP
KQML
Home Agent Platform
Knowledge Query and Manipulation Language
MultiAgent System
10 MAS
11 MTS
Message Transport Service
Open Grid Services Architecture
Public Key Infrastructure
12 OGSA
13 PKI
14 SSL/TLS
15 UDDI
16 WSRF
Secure Socket Layer/Transport Layer Security
Universal Description Discovery and Integration
Web Services Resource Framework
6
DANH MỤC HÌNH VẼ
Hình 1.1. Tính toán lưới với tài nguyên phân tán............................................. 8
Hình 1.2. Công việc được chuyển sang các nút ít bận hơn............................. 12
Hình 1.3. Kiến trúc phân tầng của lưới........................................................... 15
Hình 1.4. Mã hóa bản tin sử dụng khóa.......................................................... 16
Hình 1.5. Giải mã thông điệp sử dụng khóa giải ............................................ 17
Hình 1.6. Mã đối xứng .................................................................................... 17
Hình 1.7. Giải thuật mã hóa không đối xứng.................................................. 18
Hình 1.8. Chữ ký điện tử và mã hóa công khai .............................................. 19
Hình 1.9. Giấy chứng nhận ............................................................................. 21
Hình 1.10. Giấy chứng nhận theo chuẩn X509............................................... 22
Hình 1.11. Cấu trúc phân cấp Nhà chứng nhận thẩm quyền .......................... 24
Hình 1.12. Tổ chức ảo..................................................................................... 26
Hình 1.13. Đưa các miền chính sách phân tán vào trong một miền tin tưởng
chung trong tổ chức ảo.................................................................................... 27
Hình 1.14. Bảo mật mức giao vận................................................................... 32
Hình 1.15. Bảo mật mức thông điệp ............................................................... 32
Hình 2.1. Quan hệ giữa OGSA, GT4, WSRF và các dịch vụ web ................. 39
Hình 2.2. Các dịch vụ web.............................................................................. 40
Hình 2.3. Một triệu gọi dịch vụ web điển hình............................................... 42
Hình 2.4. Kiến trúc dịch vụ web ..................................................................... 43
Hình 2.5. Client và server stub được sinh ra từ file WSDL............................ 44
Hình 2.6. Chi tiết một triệu gọi dịch vụ web điển hình .................................. 45
Hình 2.7. Kiến trúc phía server của một ứng dụng dịch vụ web .................... 47
Hình 2.8. Một triệu gọi dịch vụ web phi trạng thái......................................... 49
Hình 2.9. Một triệu gọi dịch vụ web có trạng thái.......................................... 49
Hình 2.10. Cách tiếp cận tài nguyên cho vấn đề trạng thái của dịch vụ web . 50
Hình 2.11. Một dịch vụ web với nhiều tài nguyên, mỗi tài nguyên biểu diễn
một file ............................................................................................................ 51
Hình 2.12. Dịch vụ web – tài nguyên ............................................................. 52
Hình 2.13. Kiến trúc Globus Toolkit 4 ........................................................... 54
Hình 2.14. Ví dụ về việc sử dụng một dịch vụ bởi một dịch vụ khác ............ 56
Hình 2.15. Cơ chế thực hiện của GRAM........................................................ 58
Hình 3.1. Sự phụ thuộc các hành động giữa các tác tử................................... 72
Hình 3.2. Truyền thông giữa các tác tử........................................................... 73
Hình 3.3. Kiến trúc BKGrid 2006................................................................... 79
Hình 3.4. Tác tử hỗ trợ thương lượng sử dụng dịch vụ lưới........................... 83
Hình 4.1. Minh hoạ về giấy chứng nhận, giấy uỷ nhiệm................................ 84
7
Hình 4.2. Kiến trúc môđun quản trị người dùng............................................. 87
Hình 4.3. Kiến trúc Nhà chứng nhận thẩm quyền .......................................... 89
Hình 4.4. Sơ đồ lớp Nhà chứng nhận thẩm quyền.......................................... 90
Hình 4.5. Sơ đồ lớp thành phần Quản lý giấy ủy nhiệm................................. 91
Hình 4.6. Sơ đồ lớp MapService..................................................................... 92
Hình 4.7. Lưu đồ tạo người dùng.................................................................... 93
Hình 4.8. Tương tác giữa môđun đệ trình công việc với môđun quản trị người
dùng................................................................................................................. 95
Hình 4.9. Sơ đồ triển khai thử nghiệm............................................................ 97
Hình 4.10. Xem thông tin về giấy ủy nhiệm................................................... 99
Hình 4.11. Tạo mới giấy ủy nhiệm ............................................................... 100
Hình 4.12. Dịch vụ MathService .................................................................. 101
8
Chương 1. Tổng quan tính toán lưới, bảo mật trên môi trường
lưới
1.1. Tính toán lưới
1.1.1. Giới thiệu về tính toán lưới
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ể làm được. Ngoài ra, nhìn chung mọi
người đều muốn có được khả năng chia sẻ tài nguyên 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 các yêu cầu trên.
Hình 1.1. Tính toán lưới với tài nguyên phân tán
Tính toán lưới tuy không còn là một khái niệm quá mới mẻ (được đưa ra
lần đầu tiên vào năm 1998 bởi I. Forster và C. Kesselman [3]), nhưng hiện tại
vẫn phát triển rất mạnh mẽ và còn rất nhiều vấn đề cần giải quyết. Một trong
9
những vấn đề đó là việc đưa ra được một định nghĩa hoàn chỉnh và chuẩn về
lưới.
Từ trước đến nay, mỗi tổ chức, cá nhân tùy theo cách quan niệm và thực
tế xây dựng hệ thống của mình mà đưa ra những định nghĩa khác nhau về
lưới. Chẳng hạn như:
- Định nghĩa 1: Một lưới tính toán là một cơ sở hạ tầng phần cứng và
phần mềm cung cấp khả năng truy nhập nhất quán, tin cậy, qui mô và
rẻ tới các tài nguyên tính toán mạnh.
I. Foster, C. Kesselman (1999)
- Định nghĩa 2: Tính toán lưới liên quan tới việc chia sẻ, điều phối tài
nguyên và giải quyết vấn đề trong phạm vi các tổ chức ảo.
I. Foster, C. Kesselman, S. Tuecke, “Anatomy of the Grid“ (2000)
- Định nghĩa 3: Một lưới là một hệ thống có các đặc trưng:
• Tài nguyên được điều phối một cách phi tập trung
• Sử dụng các giao thức chuẩn, mở và đa năng
• Cung cấp chất lượng dịch vụ không tầm thường
I. Foster‘s Three-Point Checklist (HPCWIRE - 22.07.2002)
Mỗi tác giả khi đưa ra định nghĩa đều đứng trên một số quan niệm nhất
định. Chẳng hạn định nghĩa 1 bị ảnh hưởng một cách sâu sắc bởi các dự án
siêu tính toán (meta-computing) trước đó. Định nghĩa 2 tập trung vào sự quan
trọng của các giao thức như là phương tiện để tương tác giữa các thành phần,
còn định nghĩa 3 “có thể sẽ thích hợp hơn cho các nghiên cứu về lưới có qui
mô rất lớn trong tương lai. Định nghĩa này đã bỏ qua nhiều đóng góp từ các tổ
chức công nghiệp, do đó có lẽ là không xác đáng” (W. Gentzsch, HPCWIRE
05.08.2002).
10
Vì vậy, để có được một cái nhìn toàn diện về lưới, luận văn không đưa ra
một định nghĩa cụ thể nào. Thay vào đó, chúng ta xem xét khái niệm lưới trên
cơ sở các đặc trưng sau:
- Kích thước lớn: theo nghĩa số lượng các tài nguyên tiềm tàng và
khoảng cách về mặt địa lý giữa chúng.
- Phân tán: có độ trễ đáng kể trong truyền dữ liệu và điều này có thể ảnh
hưởng lớn đến ứng dụng.
- Độ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
- 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.
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à các nút lưới - có thể là PC, cluster, hệ thống lưu trữ, …)
thuộc về nhiều tổ chức nhằm giải quyết một bài toán nào đó
1.1.2. Lợi ích của tính toán lưới
Các lợi ích mà tính toán lưới mang lại bao gồm:
- Khai thác các tài nguyên nhàn rỗi: một trong những lợi ích cơ bản của
tính toán lưới là khả năng chạy ứng dụng trên một tài nguyên khác.
Thống kê cho thấy, đối với các máy tính để bàn, trong một ngày làm
việc thì chỉ có khoảng 5% thời gian là bận, còn lại là rỗi [4]. Việc tận
dụng khoảng thời gian rỗi này để chạy các ứng dụng khác là một việc
làm rất hiệu quả và kinh tế.
- Cung cấp khả năng xử lý song song: khả năng chạy ứng dụng song
song là tính năng thú vị nhất mà tính toán lưới mang lại. Lúc này, một
11
công việc được chia thành nhiều công việc con, các công việc con này
được thực hiện đồng thời trên các tài nguyên khác nhau của lưới. Do
đó, thời gian chạy ứng dụng sẽ được rút ngắn nhiều lần. Tuy nhiên, vấn
đề là không phải ứng dụng nào cũng có thể triển khai theo cách này
được. Cần xem xét các yếu tố như khả năng song song hóa, sự trao đổi
giữa các công việc con khi chạy để đánh giá xem một ứng dụng có thực
sự hiệu quả khi được triển khai trên lưới hay không.
- Giúp truy nhập các tài nguyên khác: ngoài tài nguyên tính toán và lưu
trữ, lưới còn cung cấp các loại tài nguyên khác, chẳng hạn đường
truyền mạng, các phần mềm đắt tiền. Ví dụ như nếu một người dùng
muốn tăng thông lượng kết nối tới Internet để thực hiện khai phá dữ
liệu, anh ta có thể tận dụng các kết nối Internet riêng biệt của các nút
lưới khác để chạy bài toán trên.
- Giúp cân bằng trong sử dụng tài nguyên: lưới cung cấp khả năng lập
lịch, giúp phân bổ các công việc lên các nút một cách hợp lý, tránh tình
trạng bị quá tải ở bất kì một nút nào.
- Giúp hợp tác giữa các tổ chức: sự hợp tác được thể hiện thông qua khái
niệm tổ chức ảo - sự kết hợp nhiều tổ chức thực cùng mục tiêu. Thông
qua mô hình tổ chức ảo, các tổ chức thực có thể chia sẻ tài nguyên như
dữ liệu, các thiết bị đặc biệt.
12
Hình 1.2. Công việc được chuyển sang các nút ít bận hơn
- Mang lại độ tin cậy: khái niệm tin cậy trong tính toán lưới được thể
hiện ở các khía cạnh sau: một là, trong lưới có những tài nguyên tính
toán đắt tiền, cung cấp độ tin cậy cao cho những bài toán được thực
hiện trên chúng. Hai là, lưới cung cấp khả năng lập lịch lại, phân bổ lại
công việc nếu có lỗi xảy ra. Ba là, nếu cần, một công việc có thể được
chạy đồng thời trên nhiều nút, cho nên việc xảy ra lỗi ở một nút sẽ
không làm ảnh hưởng đến kết quả của công việc đó.
1.1.3. Các vấn đề cơ bản của một lưới
Có 4 vấn đề cơ bản được quan tâm và xem xét khi đề cập đến tính toán
lưới [5], đó là:
13
- An toàn và bảo mật (Security): Một nền tảng bảo mật vững chắc sẽ
quyết định sự phát triển của môi trường tính toán lưới. Với tính chất
quy mô lớn, quan hệ chia sẻ tài nguyên giữa nhiều tổ chức, an toàn và
bảo mật luôn phải được coi là một trong những yếu tố hàng đầu trong
lưới. Hai vấn đề quan trọng trong an toàn bảo mật phải xem xét trong
tính toán lưới là:
o Chứng thực người dùng (Authentication)
o Xác thực thẩm quyền (Authorization).
- Lập lịch và quản lý tài nguyên (Resource Management and
Scheduling): 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ộ hóa và biểu diễn chúng dưới một dạng
thống nhất là một yêu cầu tất yếu. 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, do vậy cần có một bộ lập lịch nhằm
tối ưu hóa các công việc. Bộ lập lịch phải dựa vào các thông tin trên
toàn bộ lưới để quyết định thứ tự đệ trình công việc.
- Dịch vụ thông tin (Information Service): Đối với một 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ẽ thay đổi liên tục. Chính vì vậy, 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ư kiến trúc các 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.
- Quản lý dữ liệu (Data Management): 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 với các dữ liệu có thể
lên đến giga bytes hoặc hơn thế nữa. Điều này đòi hỏi tính toán lưới
14
phải có các chiến lược lưu trữ cũng như tối ưu hóa các hệ thống lưu
trữ.
1.1.4. Kiến trúc lưới
Theo [6], một lưới bao gồm các thành phần sau (hình 1.3):
- Tầng nền (Fabric): bao gồm các tài nguyên phân tán, các tài nguyên
này có thể có kiến trúc và tính chất rất khác nhau.
- Tầng trung gian lưới (Core Middleware): cung cấp các dịch vụ cơ bản
của lưới như quản lý truy nhập từ xa, định vị tài nguyên, đăng ký và
khám phá tài nguyên, bảo mật.
- Tầng trung gian phía người dùng (User level middleware): bao gồm
môi trường phát triển ứng dụng, các công cụ lập trình và các bộ môi
giới tài nguyên nhằm lựa chọn các tài nguyên phù hợp và thực hiện
công việc trên các tài nguyên đó.
- Các ứng dụng lưới và portal: tầng trên cùng là các ứng dụng lưới được
phát triển bởi các công cụ hỗ trợ. Grid Portal cung cấp giao diện Web
cho các ứng dụng lưới, giúp người dùng có thể đệ trình công việc và
tập hợp kết quả thông qua Web.
15
Hình 1.3. Kiến trúc phân tầng của lưới
1.2. Các khái niệm cơ bản về bảo mật
1.2.1. Một số thuật ngữ cơ bản
Chủ thể: là một thành viên của các hoạt động bảo mật. Đối với mô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 thay
mặt cho các tài nguyên đó.
Giấy ủy nhiệm: là 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ể đó.
Chứng thực: 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. Chứng thực hai bên (bên yêu cầu và bên được yêu
16
cầu) là quá trình hai bên chứng thực lẫn nhau, còn gọi là chứng thực đ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ật
địa phương cụ thể.
Xác thực thẩm quyền: 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
mật ổn đị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 mật cục bộ.
1.2.2. Mã hóa thông tin sử dụng khóa
Để truyền tin an toàn, thông tin gửi đi sẽ được người gửi mã hóa bằng
khóa mã và người nhận để đọc được thông tin đã được mã hóa này anh(chị) ta
sẽ phải sử dụng khóa giải để giải mã.
Người gửi mã hóa thông tin bằng khóa mã và gửi cho người nhận:
Hình 1.4. Mã hóa bản tin sử dụng khóa
Người nhận sử dụng khóa giải để giải mã thông tin.
17
Hình 1.5. Giải mã thông điệp sử dụng khóa giải
Sau đây, ta sẽ xem xét hai phương pháp mã hóa thông dụng là mã đối
xứng và mã công khai.
1.2.3. Mã hóa đối xứng
Mã hóa đối xứng sử dụng cùng một khóa cho quá trình mã hóa và giải
mã. Trong đó, hàm giải mã là hàm ngược của hàm mã hóa.
Hình 1.6. Mã đối xứng
Mặc dù các phương pháp mã hóa đối xứng thường có tốc độ cao và dễ
cài đặt, nhưng chúng lại có nhiều yếu điểm. Một nhược điểm chính đó là vì cả
người gửi và người nhận đều sử dụng cùng một khóa mã do đó cần phải có sự
trao đổi thông tin thống nhất khóa thông qua một kênh mật. Đây là một vấn
đề lớn trong an toàn và bảo mật.
18
Các hệ thống bảo mật ngày nay thường sử dụng các thuật toán mã hóa
bất đối xứng (các khóa mã và khóa giải khác nhau). Mã hóa công khai là một
giải pháp được sử dụng phổ biến ngày nay.
1.2.4. Mã hóa công khai
Hình 1.7. Giải thuật mã hóa không đối xứng
Nền tảng của mã hóa công khai là khóa mã và khóa giải là khác nhau.
Các khóa này được xây dựng bằng cách chỉ ra một hàm bẫy sập một chiều.
Đồng thời, cũng chỉ ra một cửa bẫy (Trap-door).
Trong hai khóa đó, một khóa được chọn làm khóa bí mật và khóa còn lại
được chọn làm khóa công khai. Khóa bí mật chỉ có một người là chủ nhân của
nó nắm giữ. Khóa công khai được công bố rộng rãi cho bất cứ ai muốn trao
đổi thông tin mật với người sở hữu khóa. Khóa công khai được sử dụng để mã
hóa thông tin và khóa bí mật được sử dụng để giải mã.
Đối với hệ thống mã hóa công khai, độ phức tạp giải mã thường là hàm
mũ trong khi độ phức tạp giải mã của hệ thống mã đối xứng thường chỉ là
tuyến tính. Quá trình giao tiếp giữa hai đối tượng A và B có thể được mô tả
như sau: B sinh ra một cặp khóa bí mật và công khai, khóa bí mật được cất
19
giữ một cách an toàn và được bảo vệ bằng một mật mã còn khóa công khai
được cung cấp rộng rãi. A có thể sử dụng khóa công khai (được phát hành bởi
B) để mã hóa thông tin và gửi cho B. Lúc này, chỉ duy nhất B, người sở hữu
khóa bí mật, có thể giải mã thông tin được bằng khóa công khai.
Ngoài ra, mã công khai còn đảm bảo được tính toàn vẹn của thông tin
được mã hóa và còn được dùng trong các cơ chế xác thực. Tuy nhiên, một
nhược điểm lớn duy nhất của hệ mã hóa công khai này là quá trình giải mã
cũng như mã hóa mất nhiều thời gian.
1.2.5. Chữ ký điện tử
Chữ ký được dùng để xác định tính hợp thức của những văn bản trong
các quá trình giao dịch. Do đó, chữ ký là đặc trưng cho từng cá nhân. Chữ ký
điện tử là một hàm phụ thuộc vào thông tin mà nó ký. Trong giao dịch, chữ ký
điện tử được coi là một thông tin gắn liền với giao dịch.
Hình 1.8. Chữ ký điện tử và mã hóa công khai
20
Chữ ký điện tử cho một thông điệp được sản sinh theo 2 bước:
1. Bản tin đầu tiên được băm sử dụng một hàm băm thích hợp để đảm bảo
tính toàn vẹn của thông tin ban đầu gọi là thông điệp băm. Hàm băm có
chức năng biến đổi các xâu vào có độ dài thay đổi thành những xâu có
độ dài cố định và ngắn hơn các xâu vào rất nhiều.
2. Tiếp đó, bản tin đã được băm này được mã hóa sử dụng khóa bí mật
của người gửi. Kết quả ta thu được một chữ ký điện tử.
Chữ ký điện tử này được gửi kèm với bản tin tới người nhận. Người
nhận sẽ phải thực hiện các công việc sau:
1. Sử dụng khóa công khai của người gửi giải mã chữ ký điện tử để thu
được thông điệp băm của người gửi.
2. Sử dụng thuật toán băm đã được người gửi sử dụng để băm bản tin
nhận được thành một thông điệp băm.
3. So sánh thông điệp băm sau khi băm với thông điệp băm của người gửi.
Nếu chúng khác nhau chứng tỏ nội dung của bản tin nhận được đã bị
thay đổi so với bản tin ban đầu của người gửi. Đồng thời, ta cũng có thể
khẳng định đây là chữ ký điện tử của người gửi bởi vì chữ ký điện tử
được mã hóa bằng khóa bí mật của người gửi và do đó, chỉ khóa công
khai của người gửi mới có thể giải mã được chữ ký điện tử tương ứng.
Việc kết hợp mã hóa công khai với chữ ký điện tử cho phép ta xác định
được tính toàn vẹn của bản tin. Quá trình mô tả như trên chi tập trung vào xác
định tính toàn vẹn của bản tin bởi vì bản tin khi gửi đi không được mã hóa.
Điều này phù hợp với thực tế có những thông tin không cần che giấu nội dung
mà chỉ cần bảo vệ tính toàn vẹn của nội dung (đảm bảo nội dung không bị
thay đổi). Khi cần bảo mật nội dung bản tin, ta chỉ việc mã hóa nội dung của
bản tin.
21
Tuy nhiên, với quá trình như trên không có gì đảm bảo rằng khóa công
khai có đích thực là của người gửi hay không, có thể có một đối tượng khác
giả danh, đánh tráo khoá công khai của người gửi. Chính vì vậy, cần có một
cơ chế để đảm bảo xác nhận được khóa công khai mà ta đang sử dụng đích
thực là của người mà ta cần giao tiếp. Giấy chứng nhận điện tử cho phép ta
giải quyết vấn đề này.
1.2.6. Giấy chứng nhận điện tử và Nhà chứng nhận thẩm quyền
Hình 1.9. Giấy chứng nhận
Một giấy chứng nhận điện tử (gọi tắt là giấy chứng nhận) là một văn bản
điện tử xác nhận một khoá công khai được sở hữu bởi một người cụ thể. Một
giấy chứng nhận được cấp bởi một cơ quan có thẩm quyền gọi là Nhà chứng
nhận thẩm quyền. Những người tham gia giao dịch cần có một kênh liên lạc
bí mật với Nhà chứng nhận thẩm quyền.
Một ví dụ về giao dịch điện tử giữa hai chủ thể A và B, thông qua một
Nhà chứng nhận thẩm quyền S như sau:
Bước 1. Xin các giấy chứng nhận: A trước khi giao dịch gửi khoá công
khai cho S và S sẽ cấp một giấy chứng nhận CA. Thông tin từ A có thể gồm M
= [ZA, Tên, Chu kỳ sử dụng, ...] trong đó có ZA là khoá công khai của A. Giấy
22
chứng nhận CA được S mã hoá sử dụng khoá bí mật của mình EZs(M)). Tương
tự B cũng sẽ được S cấp cho một giấy chứng nhận CB.
Bước 2. Giao dịch điện tử: A tìm giấy chứng nhận CB của B, kiểm định
chữ ký điện tử của S đã kí lên CB. Nếu giấy chứng nhận CB đúng do S phát
hành, A tách khoá công khai của B để mã hoá thông tin của mình và gửi cho
B.
Với việc sử dụng giấy chứng nhận, quá trình chứng thực có sự liên quan
của ba bên A, B, S. Quá trình kiểm chứng rất nghiêm ngặt, S phải chứng minh
là người phát hành các giấy chứng nhận, các thông tin mà A gửi cho B cũng
bảo đảm bí mật, bởi vì nó đã được mã hóa bằng khóa công khai của B, chỉ có
B mới có khóa bí mật để giải mã thông tin từ A.
Chuẩn giấy chứng nhận X509
Đây là khuyến nghị về định dạng của giấy chứng nhận theo chuẩn X509.
Một giấy chứng nhận chuẩn X509 là một văn bản chứa các thông tin theo
định dạng sau:
Hình 1.10. Giấy chứng nhận theo chuẩn X509
23
Subject: đây là tên của đối tượng xin cấp. Nó được mã hoá theo định
dạng tên định danh (Distinguished Name) của đối tượng.
Subject’s public key: bao gồm các thông tin về khoá và thuật toán sử
dụng để sinh ra khoá công khai đó.
Issuer’s Subject: tên định danh của Nhà chứng nhận thẩm quyền.
Digital signature: chữ ký điện tử sinh ra bởi khoá bí mật của Nhà chứng
nhận thẩm quyền. Chữ ký này có thể được kiểm định bằng khoá công khai
của Nhà chứng nhận thẩm quyền.
Tên định danh (Distinguished Name - DN): là tên gồm các cặp giá trị
cách nhau bằng dấu phẩy. Ví dụ: "O=University of Technology, OU=Faculty
of Information Technology, CN=HPC". Một tên định danh có nhiều trường,
trong đó, có một số trường thông dụng là:
- O: tên tổ chức (Organization).
- OU: tên của đơn vị trong tổ chức đó (Organization Unit).
- CN: tên đối tượng, thông thường là tên của người dùng (Common
Name).
- C: đất nước (Country).
Tên định danh cho phép ta xác định được định danh duy nhất của một
đối tượng trong tổ chức.
Cấu trúc phân cấp Nhà chứng nhận thẩm quyền
Mỗi đối tượng tham gia giao tiếp có thể tin tưởng các Nhà chứng nhận
thẩm quyền khác nhau. Trong trường hợp này, cấu trúc phân cấp Nhà chứng
nhận thẩm quyền sẽ cho phép các bên tham gia tin tưởng các Nhà chứng nhận
thẩm quyền khác nhau vẫn có thể thiết lập các mối quan hệ tin cậy trong giao
tiếp.
24
Trong hình 1.9, giấy chứng nhận của Borja được ký bởi Nhà chứng nhận
thẩm quyền FOO. Ngược lại, giấy chứng nhận của Nhà chứng nhận thẩm
quyền FOO được ký bởi Nhà chứng nhận thẩm quyền BAR. Cuối cùng giấy
chứng nhận của BAR được ký bởi chính nó.
Nếu chúng ta nhận được giấy chứng nhận của Borja mà không hoàn toàn
tin tưởng Nhà chứng nhận thẩm quyền FOO, như vậy có nghĩa là giấy chứng
nhận của Borja sẽ không được tin tưởng ngay. Chúng ta có thể kiểm tra xem
giấy chứng nhận của Nhà chứng nhận thẩm quyền FOO có được cấp bởi một
Nhà chứng nhận thẩm quyền mà ta tin tưởng hay không. Nếu Nhà chứng nhận
thẩm quyền BAR nằm trong danh sách tin tưởng của ta, khi đó giấy chứng
nhận của Borja được tin tưởng.
Hình 1.11. Cấu trúc phân cấp Nhà chứng nhận thẩm quyền
25
Tuy nhiên, chú ý rằng Nhà chứng nhận thẩm quyền cấp cao tự ký giấy
chứng nhận của mình. Điều này không hiếm thấy. Giấy chứng nhận này được
gọi là giấy chứng nhận tự ký. Một Nhà chứng nhận thẩm quyền với một giấy
chứng nhận tự ký được gọi là Nhà chứng nhận thẩm quyền gốc, bởi không có
Nhà chứng nhận thẩm quyền nào ở trên nó. Để tin tưởng giấy chứng nhận
được ký bởi một Nhà chứng nhận thẩm quyền, Nhà chứng nhận thẩm quyền
gốc tương ứng phải nằm trong danh sách Nhà chứng nhận thẩm quyền được
tin tưởng.
1.3. Cơ chế bảo mật trong môi trường lưới
Khái niệm tổ chức ảo là một khái niệm rất quan trọng trong tính toán
lưới. Tổ chức ảo là một tổ chức được lập ra động để giải quyết một vấn đề
nào đó. Thành phần của tổ chức ảo bao gồm rất nhiều tài nguyên thuộc về
nhiều tổ chức thực khác nhau trong môi trường lưới và cùng hoạt động vì một
mục tiêu chung. Tùy theo mức độ của vấn đề cần giải quyết mà các tổ chức ảo
có thể rất khác nhau về quy mô, phạm vi hoạt động, thời gian sống. Hình 1.12
minh họa về tổ chức ảo. Có một người dùng cần giải một bài toán lớn về dự
báo thời tiết, anh ta thành lập một tổ chức ảo bằng cách thuê một số nguồn tài
nguyên khác nhau từ một vài tổ chức thực khác nhau. Tương tự như vậy, một
người dùng cần giải một bài toán về dự báo tài chính, anh ta cũng thành lập
một tổ chức ảo để giải quyết bài toán này.
26
Hình 1.12. Tổ chức ảo
Các yêu cầu bảo mật trên môi trường lưới được định hướng để cung cấp
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. Tuy nhiên, về khía cạnh bảo mật, 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
nội quy và các chính sách của tổ chức thực mà chúng là thành viên. Do vậy,
để các tổ chức ảo truy nhập vào các tài nguyên trong các tổ chức thực, 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 các tổ chức thực của họ và mối quan hệ giữa người dùng với
các tổ chức ảo. Chúng ta không thể thiết lập quan hệ tin tưởng trực tiếp giữa
các tổ chức thực với tổ chức ảo hay các thành viên mở rộng của nó.
Cơ chế bảo mật lưới giải quyết các trở ngại 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 thực.
Cơ chế được thể hiện như hình vẽ:
27
Hình 1.13. Đưa các miền chính sách phân tán vào trong
một miền tin tưởng chung trong 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 các chính sách dẫn tới các chức năng chủ yếu sau
mà bảo mật lưới phải thực hiện:
- Hỗ trợ nhiều cơ chế bảo mật khác nhau: Các miền tài nguyên hay các
tổ chức ảo thường đã có sự đầu tư đáng kể trong các cơ chế bảo mật và
cơ sở hạ tầng bảo mật của địa phương họ. Do vậy khó khăn lớn nhất
chính là phải liên kết các công nghệ bảo mật trên các địa phương hơn là
thay thế toàn bộ nó, như thế sẽ rất tốn kém và không có tính kế thừa.
- Khởi tạo động các dịch vụ: Người dùng có thể khởi tạo ra các dịch vụ
mới mà không cần có sự can thiệp của nhà quản trị, ngoài ra các dịch
28
vụ này còn có thể tương tác với nhau. Như vậy là phải có cơ chế định
danh các thực thể lưới, cấp quyền cho các dịch vụ mà không ảnh hưởng
tới các cơ chế bảo mật địa phương. Một ví dụ trong cơ sở hạ tầng bảo
mật lưới, khi một dịch vụ lưới cung cấp cho người dùng, các định danh
về người dùng sử dụng dịch vụ, định danh của dịch vụ, định danh của
hệ thống mà dịch vụ đăng ký trên đó đều được xác định rõ ràng.
- Thiết lập động các miền chứng thực tin tưởng: Việc chứng thực
không chỉ được thiết lập giữa người dùng và tài nguyên trong một tổ
chức ảo mà còn mở rộng giữa các tổ chức ảo với nhau. Như vậy đòi hỏi
phải có một mô hình bảo mật hướng người dùng, cho phép người dùng
tạo ra các thực thể và các miền chính sách để liên kết tài nguyên trong
các tổ chức ảo.
1.4. Các chính sách bảo mật trong môi trường lưới
Sau đây là các chính sách bảo mật giải quyết các yêu cầu trình bày ở
phần trên.
1. Môi trường lưới bảo mật đa miền: Do 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. Ví dụ trong cơ sở hạ tầng lưới, các hoạt động liên miền
được thực hiện bởi các chủ thể sở hữu một giấy chứng nhận lưới theo
chuẩn X509. Trong từng miền cụ thể, các giấy chứng nhận này sẽ được
Tải về để xem bản đầy đủ
Bạn đang xem 30 trang mẫu của tài liệu "Luận văn Bảo mật trong môi trường lưới với tiếp cận hướng tác tử", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
luan_van_bao_mat_trong_moi_truong_luoi_voi_tiep_can_huong_ta.pdf