Mục đích nội dung của ĐATN Nhiệm vụ của đồ án là xây dựng ứng dụng kiểm soát truy cập mạng trên cơ sở hạ tầng hệthống BioPKI, là hệ thống an ninh thông tin dựa trên sự kết hợp giữa sinh
Trang 1PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1 Thông tin về sinh viên
Họ và tên sinh viên: Bùi Văn Hạnh
Điện thoại liên lạc: 097.230.8187 Email: buivan_hanh06@yahoo.comLớp: Truyền thông và Mạng máy tính K50 Hệ đào tạo: Chính quy
Đồ án tốt nghiệp được thực hiện tại: Bộ môn truyền thông và Mạng máy tính
Thời gian làm ĐATN: Từ ngày 23/2/2010 đến 28/5/2010
2 Mục đích nội dung của ĐATN
Nhiệm vụ của đồ án là xây dựng ứng dụng kiểm soát truy cập mạng trên cơ sở hạ tầng hệthống BioPKI, là hệ thống an ninh thông tin dựa trên sự kết hợp giữa sinh trắc học với hạtầng khóa công khai PKI dùng môi trường OpenCA có sử dụng thiết bị nhúng Trọng tâmcủa đồ án là đi vào nghiên cứu các vấn đề của bài toán truy cập mạng, phân tích giải pháp,thiết kế và cài đặt ứng dụng kiểm soát truy cập mạng đảm bảo tính xác thực, tính mật, tínhtoàn vẹn của dữ liệu
3 Các nhiệm vụ cụ thể của ĐATN
- Tìm hiểu về khái niệm kiểm soát truy cập, kiểm soát truy cập từ xa và hướng tiếp cậnsinh trắc trong kiểm soát truy cập từ xa
- Tìm hiểu về hạ tầng khóa công khai – PKI và môi trường hệ lõi OpenCA
Tổng quan về hệ thống BioPKI trong phạm vi đề tài KHCN cấp nhà nước KC01.11/06
-10 và mô hình triển khai ở phòng thí nghiệm liên mạng C1-415, Bộ môn Truyền thông vàmạng máy tính
- Phân tích, thiết kế và cài đặt ứng dụng kiểm soát truy cập mạng sử dụng thẻ sinh trắctrong hạ tầng hệ thống BioPKI
4 Lời cam đoan của sinh viên
Tôi – Bùi Văn Hạnh - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của PGS.TS Nguyễn Thị Hoàng Lan
Trang 2Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳcông trình nào khác.
Hà Nội, ngày tháng năm 2010
Tác giả ĐATN
Bùi Văn Hạnh
5 Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảovệ:
Hà Nội, ngày tháng năm 2010
Giáo viên hướng dẫn
PGS.TS Nguyễn Thị Hoàng Lan
Trang 3TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Đồ án này có tên “Xây dựng ứng dụng kiểm soát truy cập mạng trên nền hệ thống BioPKI” nằm trong khuôn khổ đề tài nghiên cứu khoa học công nghệ cấp nhà nước KC01.11/06-10 “Hệ thống an ninh thông tin dựa trên sinh trắc học sử dụng công nghệ nhúng BioPKI” Nội dung đồ án là nghiên cứu các vấn đề của bài toán truy cập mạng, phân
tích giải pháp, thiết kế và cài đặt ứng dụng kiểm soát truy cập mạng đảm bảo tính xác thực,tính mật, tính toàn vẹn dữ liệu trên nền hệ thống BioPKI
Trang 4MỤC LỤC
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 3
MỤC LỤC 4
LỜI NÓI ĐẦU 8
DANH MỤC CÁC HÌNH VÀ BẢNG 10
CÁC ĐỊNH NGHĨA, TỪ VIẾT TẮT 12
CHƯƠNG MỘT: TÌM HIỂU VỀ KIỂM SOÁT TRUY CẬP 13
1.1 Khái niệm chung về kiểm soát truy cập 13
1.1.1 Một số khái niệm cơ bản về kiểm soát truy cập 13
1.1.1.1 Nhận dạng và xác thực 14
1.1.1.2 Sự ủy quyền 15
1.1.2 Một số dạng kiểm soát truy cập 15
1.1.2.1 Kiểm soát truy cập tùy quyền 16
1.1.2.2 Kiểm soát truy cập phân quyền 16
1.1.2.3 Kiểm soát truy cập trên cơ sở vai trò 17
1.2 Kiểm soát truy cập từ xa 17
1.3 Hướng tiếp cận sinh trắc trong kiểm soát truy cập từ xa 18
CHƯƠNG HAI: TỔNG QUAN VỀ HẠ TẦNG KHÓA CÔNG KHAI - PKI 20
2.1 Các hệ mã hóa 20
2.1.1 Mã hóa đối xứng 20
2.1.2 Mã hóa bất đối xứng 21
Trang 52.2 Hạ tầng khóa công khai – PKI 24
2.2.1 Khái niệm 24
2.2.2 Các thành phần của hạ tầng khóa công khai PKI 25
2.2.2.1 Certification Authority (CA) 25
2.2.2.2 RA 26
2.2.2.3 Chứng thư số 26
2.2.2.4 Thực thể cuối 28
2.2.2.5 Kho chứng chỉ 28
2.2.3 Kiến trúc PKI 28
2.2.3.1 Kiến trúc PKI đơn có một CA (Single CA Architecture) 29
2.2.3.2 Kiến trúc PKI xí nghiệp 31
2.2.3.3 Kiến trúc PKI lai 33
2.2.4 Vấn đề bảo vệ khóa riêng, xác thực người dùng và các hướng tiếp cận BioPKI 35
2.3 Tìm hiểu về môi trường hệ lõi OpenCA 39
2.3.1 Giới thiệu chung về OpenCA 39
2.3.2 Các thành phần của OpenCA 40
CHƯƠNG BA : GIỚI THIỆU VỀ HỆ THỐNG BioPKI CỦA ĐỀ TÀI KC01.11/06-10 41
3.1 Sơ đồ mức khung cảnh hệ thống BioPKI 41
3.2 Chức năng của các thành phần trong hệ thống BioPKI 43
3.2.1 Hệ thống con CA 43
3.2.2 Hệ thống con RA (Registration Authority) 45
3.2.3 Hệ thống con LRA (Local Registration Authority) 47
3.2.4 Ứng dụng người dùng 49
Trang 6CHƯƠNG BỐN: XÂY DỰNG ỨNG DỤNG KIỂM SOÁT TRUY CẬP MẠNG
TRÊN NỀN HỆ THỐNG BioPKI 50
4.1 Phân tích bài toán kiểm soát truy cập mạng 50
4.1.1 Bài toán kiểm soát truy cập mạng 50
4.1.2 Phân tích bài toán kiểm soát truy cập mạng 50
4.2 Mô hình ứng dụng kiểm soát truy cập CSDL từ xa 52
4.2.1 Sơ đồ giao dịch trong ứng dụng kiểm soát truy cập CSDL từ xa 52
4.2.2 Quá trình truy cập CSDL từ xa 54
4.3 Phân tích thiết kế ứng dụng kiểm soát truy cập mạng trên nền hệ thống BioPKI 55
4.3.1 Biểu đồ phân cấp chức năng 55
4.3.1.1 Chức năng kiểm soát đăng nhập hệ thống bao gồm các chức năng 56
4.3.1.2 Chức năng thiết lập kênh truyền dữ liệu bảo mật: 56
4.3.1.3 Chức năng truyền khóa phiên bảo mật: 57
4.3.1.4 Chức năng kiểm soát truyền tin bảo mật 57
4.3.2 Sơ đồ mức khung cảnh 58
4.3.3 Sơ đồ mức đỉnh 60
4.3.4 Sơ đồ mức dưới đỉnh 62
4.4 Thiết kế các quy trình của hệ thống kiểm soát truy cập CSDL từ xa 64
4.4.1 Quy trình người dùng đăng nhập vào máy 65
4.4.2 Quy trình sinh và phân phối khóa phiên 66
4.4.3 Quá trình truy cập từ xa giữa Client và DB Server 67
4.4.4 Biểu đồ tuần tự của hệ thống 68
Trang 7CHƯƠNG NĂM: CÀI ĐẶT ỨNG DỤNG KIỂM SOÁT TRUY CẬP CSDL TỪ
XA TRÊN NỀN HỆ THỐNG BioPKI 69
5.1 Phân tích yêu cầu 69
5.2 Giải pháp 69
5.2.1 Giải pháp về công nghệ 69
5.2.2 Giải pháp hệ thống 70
5.2.2.1 Cài đặt cho ứng dụng ở Client: 70
5.2.2.2 Cài đặt RA Application Server: 70
5.2.2.3 Cài đặt Module trên DBServer: 71
5.3 Xây dựng kịch bản và thử nghiệm 71
5.3.1 Kịch bản thử nghiệm 71
5.3.2 Một số hình ảnh giao diện của ứng dụng 72
5.3.3 Nhận xét, đánh giá về ứng dụng 79
KẾT LUẬN 80
TÀI LIỆU THAM KHẢO 81
Trang 8LỜI NÓI ĐẦU
Những năm gần đây, cùng với sự phát triển mạnh mẽ của môi trường mạng Internetcác giao dịch trực tuyến qua mạng, các ứng dụng truy cập cơ sở dữ liệu (CSDL) quamạng ngày càng trở nên phổ biến Việc sử dụng các ứng dụng truyền thông tin quamạng đã giúp chúng ta ‘rút ngắn’ được khoảng cách về địa lý và tiết kiệm được rấtnhiều thời gian và tiền bạc
Tuy nhiên, làm sao để đảm bảo được an toàn an an ninh thông tin cho các giao dịchđiện tử qua mạng ?
Đây thực sự là vấn đề cấp thiết đối với cơ quan, tổ chức và quốc gia Hiện có nhiềugiải pháp, nhiều sản phẩm công nghệ đã và đang được nghiên cứu và ứng dụng Mộttrong những giải pháp công nghệ giải quyết tốt vấn đề này là công nghệ PKI dựatrên nền tảng hệ mật mã khóa công khai cùng với các chính sách, các kiến trúc hệthống, cơ chế sử dụng các khoá công khai và tính toàn vẹn của chứng thư số tạothành cơ sở hạ tầng an toàn cho các giao dịch điện tử trên mạng Bên cạnh đó, với sựphát triển nhanh chóng của khoa học kỹ thuật việc nghiên cứu và ứng dụng các đặctrưng sinh trắc của con người trong kỹ thuật nhận dạng và xác thực ngày càng chínhxác Vấn đề xác thực và thẩm định chủ thể, điểm yếu của PKI, lại là điểm mạnh củasinh trắc học Cho nên sự kết hợp sinh trắc học với PKI thành BioPKI thực sự làmột giải pháp hữu hiệu cho việc đảm bảo an toàn an ninh thông tin cho các giao dịchđiện tử qua mạng
Trong khuôn khổ đề tài nghiên cứu khoa học công nghệ cấp nhà nước
KC01.11/06-10 “Hệ thống an ninh thông tin dựa trên sinh trắc học sử dụng công nghệ nhúng
BioPKI”, hệ thống hạ tầng khóa công khai dùng môi trường PKI tích hợp các giải
pháp đa sinh trắc để trở thành hệ BioPKI đã được nghiên cứu và thử nghiệm thànhcông Đây là cở sở hạ tầng cần thiết để xây dựng ứng dụng kiểm soát truy cập mạngđảm bảo an toàn an ninh thông tin
Nhiệm vụ của đề tài đồ án là nghiên cứu các vấn đề của bài toán truy cập mạng,phân tích giải pháp, thiết kế và cài đặt ứng dụng kiểm soát truy cập mạng đảm bảo
tính xác thực, tính mật, tính toàn vẹn dữ liệu Đề tài tốt nghiệp này có tên “Xây dựng ứng dụng kiểm soát truy cập mạng trên nền hệ thống BioPKI”, được trình
bày thành 5 chương như sau:
-Chương 1: Tìm hiểu về kiểm soát truy cập
Trang 9Chương này trình bày các khái niệm cơ bản về kiểm soát truy cập và hướng tiếp cậnsinh trắc trong kiểm soát truy cập từ xa.
-Chương 2: Tìm hiểu về hạ tầng khóa công khai PKI và các hướng tiếp cận BioPKIChương này giới thiệu các khái niệm cơ bản, quan trọng về PKI, môi trường hệ lõiOpenCA và một số hướng tiếp cận tích hợp sinh trắc vào hệ PKI trở thành hệBioPKI
-Chương 3: Giới thiệu về hệ thống BioPKI
Chương này giới thiệu tổng quan về hệ thống BioPKI đã được xây dựng và triểnkhai trong khuôn khổ đề tài KHCN cấp nhà nước KC01.11/06-10
-Chương 4: Xây dựng ứng dụng kiểm soát truy cập mạng
Chương này tập trung vào phân tích, thiết kế giải pháp cho ứng dụng kiểm soátkiểm soát truy cập CSDL từ xa
-Chương 5: Cài đặt ứng dụng kiểm soát truy cập mạng
Chương này tập trung vào việc cài đặt các module, thành phần của ứng dụng và thựchiện một số kịch bản ứng dụng
Tuy đã hết sức cố gắng nhưng đồ án này không thể tránh khỏi được những thiếu sót,người làm đồ án rất mong nhận được sự đóng góp ý kiến từ các thầy cô giáo và cácbạn
Tôi xin được bày tỏ sự biết ơn sâu sắc đến PGS.TS Nguyễn Thị Hoàng Lan và KS.Nguyễn Văn Toàn, bộ môn Truyền thông và mạng máy tính, Viện công nghệ thôngtin và truyền thông, trường Đại học Bách Khoa Hà Nội, những người đã nhiệt tìnhgiúp đỡ, hướng dẫn tôi hoàn thành đồ án tốt nghiệp này Tôi cũng xin được cảm ơncác thầy cô trong bộ môn Truyền thông và mạng máy tính đã tạo điều kiện để tôi cóthể thực hiện và thử nghiệm ứng dụng trên phòng LAB của bộ môn, giúp tôi hoànthành đồ án Xin cảm ơn các bạn trong nhóm BioPKI, những người trực tiếp thamgia vào đề tài KHCN cấp nhà nước KC01.11/06-10
Hà Nội, tháng 05 năm 2010
Sinh viên thực hiện đồ án
Bùi Văn Hạnh
Trang 10DANH MỤC CÁC HÌNH VÀ BẢNG
Hình 1-1: Một số phương pháp xác thực người dùng 13
Hình 1-2: Một số đặc trưng sinh trắc thông dụng 19
Hình 2-1: mật mã khóa đối xứng 20
Hình 2-2: mật mã khóa công khai dùng để giữ mật thông tin 22
Hình 2-3: mật mã khóa công khai dùng xác thực 23
Hình 2-4: Các thành phần của PKI 25
Hình 2-5: Cấu trúc chứng thư 27
Hình 2-6: Kiến trúc PKI đơn CA 29
Hình 2-7: Mô hình danh sách các CA tin cậy 30
Hình 2-8: Mô hình PKI phân cấp 32
Hình 2-9: Mô hình PKI lưới 33
Hình 2-10: Mô hình danh sách điểm tin cậy mở rộng 34
Hình 2-11: Mô hình PKI chứng nhận chéo 34
Hình 2-12: Mô hình CA bắc cầu 35
Hình 2-13: Tích hợp sinh trắc học vào PKI 36
Hình 2-14: Hệ thống BioPKI xác thực thẩm định sinh trắc theo phương pháp mật mã sinh trắc học 38
Hình 3-1: Sơ đồ mức khung cảnh hệ thống BioPKI 42
Hình 3-2: Biểu đồ phân rã chức năng của CAOperator 44
Hình 3-3: Biểu đồ phân rã chức năng của RA 46
Hình 3-4: Biểu đồ phân rã chức năng của LRA 48
Hình 4-1: Mô hình ứng dụng truy cập CSDL từ xa 51
Hình 4-2: Sơ đồ giao dịch trong ứng dụng kiểm soát truy cập CSDL từ xa 53
Trang 11Hình 4-3: Biểu đồ phân cấp chức năng ứng dụng kiểm soát truy cập mạng trên nền
hệ thống BioPKI 56
Hình 4-4: Sơ đồ mức khung cảnh ứng dụng kiểm soát truy cập CSDL từ xa 58
Hình 4-5: Sơ đồ mức đỉnh ứng dụng kiểm soát truy cập CSDL từ xa 60
Hình 4-6: Sơ đồ mức dưới đỉnh định nghĩa chức năng kiểm soát truyền tin bảo mật .62
Hình 4-7: Mô hình Use Case của ứng dụng kiểm soát truy cập CSDL từ xa 64
Hình 4-8: Quy trình đăng nhập vào máy 65
Hình 4-9: Quy trình sinh và phân phối khóa phiên 66
Hình 4-10: Quá trình truy cập từ xa giữa Client và DB Server 67
Hình 4-11: Biểu đồ tuần tự của hệ thống 68
Hình 5-1: Giao diện chính của ứng dụng ở máy Client 72
Hình 5-2: Giao diện xác thực vân tay người dùng 73
Hình 5-3: Giao diện khi người dùng đăng nhập vào hệ thống thành công 74
Hình 5-4: Giao diện thiết lập cấu hình cho RA Application Server 75
Hình 5-5: Giao diện chính của RA Application Server 76
Hình 5-6: Giao diện chính của DB Server 77
Trang 12CÁC ĐỊNH NGHĨA, TỪ VIẾT TẮT
CA: Certification Authority.
RA: Registration Authority.
LRA: Local Registration Authority
CRL: Certificate Revocation List.
MITM: Man-In-The-Middle
DB: DataBase
SSL: Secure Socket Layer
I&A: Identification & Authentication
PID: Process ID
PIN: Personal Identification Number
DES: Data Encryption Standard
AES: Advanced Encryption Standard
DAC: Discretionary Access Control
ACL: Access Control List
RSA: Rivest Shamir Adleman
PKI : Public Key Infrastructure
KHCN : Khoa Học Công Nghệ
Trang 13CHƯƠNG MỘT:
TÌM HIỂU VỀ KIỂM SOÁT TRUY CẬP
1.1 Khái niệm chung về kiểm soát truy cập
1.1.1 Một số khái niệm cơ bản về kiểm soát truy cập
Trong lĩnh vực an ninh, thuật ngữ kiểm soát truy cập (access control) ám chỉ đến cácthi hành nhằm hạn chế sự thâm nhập vào một cơ sở, một tòa nhà, hoặc một phònglàm việc và chỉ cho phép những người đã được ủy quyền tiếp cận mà thôi Điều này
có thể được thực hiện bằng cách sử dụng người bảo vệ , khóa hay hiện đại hơn là sửdụng mật khẩu, thẻ từ, e-token [9]
Trong an ninh máy tính, nhiệm vụ kiểm soát truy cập (Computer security accesscontrol) bao gồm các nhiệm vụ xác thực (authentication), ủy quyền (authorization) vàkiểm toán (Accounting) Nhiệm vụ này được thực hiện bằng cách sử dụng cácphương pháp:
- Sử dụng các thiết bị phần cứng: Sử dụng máy quét sinh trắc học (biometricscans), dùng các khóa bằng kim loại (metal locks)
- Các phương pháp xử lý phần mềm: Sử dụng “ đường dẫn ẩn” (hidden path),chữ ký điện tử (digital signatures), mật mã hóa (encryption)
-Theo dõi mọi hoạt động của hệ thống dưới sự giám sát của nhân viên chuyêntrách hoặc bằng các hệ thống tự động
Hình 1-1: Một số phương pháp xác thực người dùng
Trang 14Khi thực hiện kiểm soát truy cập hệ thống chúng ta có thể cho phép hoặc từ chối mộtchủ thể (một người, một quy trình…) sử dụng tài nguyên của hệ thống, và kiểm soátđược mọi thao tác của chủ thể đó lên hệ thống
Tài nguyên của hệ thống: Các thư mục, tệp tin văn bản, chương trình, cơ sở dữ liệu,máy in, các thiết bị…
Các hệ thống kiểm soát truy cập cung cấp những dịch vụ thiết yếu như dịch vụ nhậndạng và xác minh (Identification & authentication – I&A), dịch vụ ủy quyền(Authorization) và dịch vụ quy trách nghiệm (Accountability) đối với người dùng hoặcđối với quy trình Trong khi dịch vụ nhận dạng và xác minh nhằm xác định ai là ngườiđược đăng nhập vào hệ thống, thì dịch vụ ủy quyền xác định những gì mà một ngườidùng đã được xác thực có thể thi hành, và dịch vụ quy trách nghiệm nhận dạng vàchứng thực những hành vi hay hoạt động mà người dùng đã thực hiện khi họ sử dụng
hệ thống
Trong các hệ ứng dụng công nghệ thông tin, thông thường khi một người nào đó thựchiện thao tác trong hệ thống như xem, chỉnh sửa, xóa… các thông tin thì được gọi làtruy cập hệ thống Chẳng hạn như, khi người dùng thực hiện thay đổi các thông tin cánhân của mình, hay thực hiện truy vấn đến cơ sở dữ liệu nào đó
hệ thống tên người dùng (username) hoặc định danh người dùng (userID) Trongtrường hợp đối với một hệ thống hoặc một quy trình (process), việc nhận dạng thườngdựa vào:
- Tên máy tính (computer name)
- Địa chỉ truy cập thiết bị (Media Access Control – MAC – address)
- Địa chỉ giao thức mạng (Internet Protocol – IP –address)
- Định danh của quy trình (Process ID – PID)
Điều kiện:
-Định danh phải là duy nhất, không thể có một định danh cho 2 người hoặc
Trang 15không được dùng định danh để xác định vị trí hay tầm quan trọng của người dùngtrong tổ chức, chẳng hạn không được có định danh chỉ ra rằng người này là chủ tịch,giám đốc hoặc nhân viên.
-Tránh việc sử dụng các thư mục được dùng chung bởi nhiều người dùng, như thư mụcgốc (root), thư mục của người quản trị (admin), hoặc thư mục của người quản lý hệthống (sysadmin)
- Không nên dùng các thư mục không hỗ trợ việc quy trách nghiệm vì chúng có thể trởthành những lỗ hổng nguy hiểm của hệ thống
b.Xác thực
Xác thực là một quy trình xác minh định danh của người dùng, chẳng hạn bằng cách
so sánh mật khẩu mà người dùng đăng nhập với mật khẩu được lưu trữ trong hệ thống.Quy trình xác thực thường dựa trên các yếu tố:
- Dựa vào những chi tiết mà ta biết trước, chẳng hạn như mật khẩu, hoặc một sốnhận dạng cá nhân (personal identification number – PIN)
- Dựa vào những gì mà chúng ta đã có, chẳng hạn nhử thẻ thông minh (smart card)
- Dựa vào những đặc trưng sinh trắc riêng có của mỗi người như vân tay, giọng nói,võng mạc, khuôn mặt
1.1.1.2 Sự ủy quyền
Sự ủy quyền (authorization) định nghĩa quyền hạn, phạm vi thực hiện quyền củangười dùng trong một hệ thống Cụ thể, sau khi người dùng (hoặc một quy trình) đãđược chứng thực, việc ủy quyền chỉ định những cái gì mà người dùng đó có thể thihành trên hệ thống
Thông thường, người sử dụng được thực hiện một số quyền:
- Quyền đọc (Read): Người dùng có thể liệt kê các tài nguyên của hệ thống,xem nội dung của các tài nguyên này
- Quyền ghi (Write): Người dùng có quyền đọc và thay đổi nội dung trong hệthống như thêm, sửa, xóa và đổi tên
- Quyền thi hành (Execute): Người dùng có quyền chạy các ứng dụng (chươngtrình chạy) của hệ thống
1.1.2 Một số dạng kiểm soát truy cập
Có nhiều tiêu chí để phân loại các dạng kiểm soát truy cập:
Nếu dựa trên vị trí địa lý, thì có 2 dạng đó là:
Trang 16- Kiểm soát truy cập trực tiếp tại vị trí máy chủ (truy cập thông thường).
- Kiểm soát truy cập từ xa
Nếu dựa trên cách thức kiểm soát truy cập thì có 3 dạng:
- Kiểm soát truy cập tùy quyền
- Kiểm soát truy cập bắt buộc
- Kiểm soát truy cập trên cơ sở vai trò
1.1.2.1 Kiểm soát truy cập tùy quyền
Kiểm soát truy cập tùy quyền (discretionary access control-DAC) là một chínhsách truy cập mà chủ nhân của tài nguyên tự định đoạt, quyết định ai là người đượcphép truy cập tài nguyên và những đặc quyền (privilege) nào người đó được phépthi hành Hai khái niệm quan trọng trong truy cập tùy quyền.[9]
- Quyền sở hữu tài nguyên (tập tin, dữ liệu): Bất cứ một đối tượng nào trong hệthống cũng phải có chủ sở hữu, chính sách truy cập các đối tượng là do chủ nhântài nguyên quyết định Các tài nguyên có thể là: các tập tin, các thư mục, dữ liệu,chương trình, thiết bị (devices) Những đối tượng nào không có chủ sở hửu thì đốitượng đó bị bỏ lơ, không được bảo vệ Thông thường chủ sở hữu của tài nguyênchính là người đã kiến tạo nên tài nguyên (như tập tin, thư mục)
- Các đặc quyền truy cập: Đây là những quyền khống chế những thực thể tàinguyên mà chủ nhân của tài nguyên chỉ định cho mỗi người hoặc một nhóm ngườidùng
Kiểm soát truy cập tùy quyền có thể được áp dụng thông qua nhiều kỹ thuật khácnhau:
- Danh sách kiểm soát truy cập (Access control list – ACL) định danh các quyền(rights) và phép (permissions) được chỉ định cho một tài nguyên trong hệ thống, ví
dụ như trong hệ trong hệ thống có 4 người dùng A, B, C, D chẳng hạn, khi đó ta códanh sách kiểm soát truy cập của các file trong hệ thống như sau: File 0: (A, rx),File1: (A, rw-), (B, r ), (C, rw), File 3: (B,rwx), (D,rx)… Danh sách kiếm soáttruy cập cho ta một phương pháp linh hoạt để áp dụng quy chế kiểm soát truy cậptùy quyền
1.1.2.2 Kiểm soát truy cập phân quyền
Kiểm soát truy cập bắt buộc (mandatory access control – MAC) là một chính sáchtruy cập không do cá nhân sở hữu tài nguyên quyết định mà do hệ thống quyết định.MAC được dùng trong các hệ thống đa tầng cấp, là những hệ thống xử lý các loại dữ
Trang 17liệu quan trọng như các thông tin được phân cấp về mức độ bảo mật trong chínhphủ, công an và quân đội
Có thể phân thành 4 mức độ bảo mật theo cấp độ giảm dần: Tối mật (Top secret-T),Tuyệt mật (Secret-S), Mật (Confidential – C) và không quan trọng Người dùng vàtài nguyên trong hệ thống sẽ được phân loại dựa trên các mức độ bảo mật này
Ý nghĩa:
- Khi một chủ thể có quyền truy cập đến tài nguyên ở mức độ bảo mật cao thì chủthể đó có thể thực hiện truy cập đến tài nguyên ở mức độ bảo mật thấp hơn
- Tài nguyên ở mức độ bảo mật thấp có thể được ghi vào vị trí của tài nguyên ở mức
độ bảo mật cao hơn, nhưng điều ngược lại thì không được
1.1.2.3 Kiểm soát truy cập trên cơ sở vai trò
Luật (Role) là một nhóm các đặc quyền, kiểm soát truy dựa vào các luật Based Access Control –RBAC) là việc gán các luật cho từng người dùng hoặc nhómngười dùng trong hệ thống Vì người dùng không được cấp quyền trực tiếp, mà phảithông qua các luật mà họ được gán nên việc quản lý quyền hạn của người dùng trởnên đơn giản hơn Chẳng hạn như việc thêm một người dùng vào hệ thống, hay đổiphòng làm việc, chức vụ của một người dùng, khi đó chỉ cần thu hồi các role cũ vàgán cho họ các role mới phù hợp RBAC khác với các danh sách kiểm soát truy cập– ACL được dùng trong hệ thống kiểm soát truy cập tùy quyền ở chỗ nó chỉ định cácquyền hạn tới một nhóm người dùng có vai trò, ý nghĩa trong hệ thống, trong khiACL chỉ định quyền cho từng người dùng cụ thể trong hệ thống
(Role-1.2 Kiểm soát truy cập từ xa
Ngày nay, các giao dịch trên mạng đang thay thế dần các giao dịch thủ công, mọingười phải đến tận vị trí máy chủ để thực hiện các thao tác truy cập cơ sở dữ liệu(CSDL), thay vào đó mọi người có thể ngồi ở một vị trí bất kỳ trong hệ thống hay ởnhà để thực hiện điều này Một hạ tầng mạng tốt là điều kiện cần thiết để thực hiện truycập từ xa
Điểm khác biệt lớn nhất của truy cập từ xa so với truy cập thông thường: Quá trình xácthực và truy cập thông tin phải truyền qua mạng, đây chính là điểm yếu của các hệthống truy cập từ xa, tin tặc có thể lợi dụng điều này để ăn cắp thông tin của ngườidùng hoặc tấn công máy chủ Đã có nhiều giải pháp được đưa ra để giải quyết điểmyếu này, một trong những giải pháp hữu hiệu đó là sử dụng ký số để xác thực thông tin,
và sử dụng mã hóa để bảo vệ tính mật cho thông tin Tuy nhiên, làm sao có thể thựchiện được điều này?
Trang 18Hạ tầng khóa công khai PKI được biết đến như là môi trường lý tưởng để thực hiện,bởi lẽ nó cho phép triển khai nhiều ứng dụng bảo mật thông tin sử dụng mật mã khóabất đối xứng như: ứng dụng chữ ký số, hay ứng dụng mã hóa thông điệp nhằm đảmbảo độ an toàn của thông tin trên đường truyền.
1.3 Hướng tiếp cận sinh trắc trong kiểm soát truy cập từ xa
Trong truy cập từ xa thông tin xác thực người dùng được truyền qua mạng do vậyngười dùng rất có khả năng bị mạo danh Thông thường, mật khẩu thường bao gồmusername và password, giả sử một người nào có lấy được thông tin về mật khẩu củabạn, họ có thể dễ dàng đăng nhập vào hệ thống bằng cách sử dụng mật khẩu của bạn Vậy có giải pháp nào cho vấn đề này?
Ngoài mật khẩu, cần phải có thêm một dấu hiệu đặc trưng riêng nào đó để xác thựcngười dùng, điều này sẽ đảm bảo rằng một người nào đó dù có được mật khẩu của bạncũng không thể đăng nhập được vào hệ thống
Như chúng ta đã biết , từ xa xưa các dấu hiệu sinh trắc đã được coi như là một đặctrưng riêng có của mỗi người , không ai giống ai, và nó đã được sử dụng để xác thựctrong các giao dịch cũng như nhận dạng Như vậy, có thể sử dụng một số đặc tínhsinh trắc thông dụng đã và đang được nghiên cứu để xác thực người dùng như:
- ADN (cấu trúc di truyền)
- Cấu trúc vành tai (Ear)
- Nét mặt (Face)
- Thân nhiệt (cụ thể là ở mặt : Facial Thermogram)
- Cấu trúc mạch máu trên bàn tay, gân tay (Hand vein)
- Vân tay (Fingerprint)
- Dáng đi (Gait)
- Các đặc trưng hình học của bàn tay và ngón tay (Hand geometry)
- Mống mắt (Iris)
- Võng mạc (Retina)
- Chữ kí viết tay (Signature)
- Giọng nói (Voice)…
Trang 19Các đặc tính sinh trắc này có các tính chất về phổ biến, bất biến, khả năng thu thập, phân biệt khác nhau [3]
Hình 1-2: Một số đặc trưng sinh trắc thông dụng
Trang 20CHƯƠNG HAI:
TỔNG QUAN VỀ HẠ TẦNG KHÓA CÔNG KHAI - PKI
Như trình bày chương 1, hạ tầng khóa công khai là môi trường lý tưởng để thực hiệncác kỹ thuật mã hóa, ký số Để hiểu rõ về PKI trước tiên chúng ta phải nắm được một
số khái niệm cơ bản về mã hóa
Theo đó, hệ mã hóa đối xứng là hệ mà khóa giải mã d trùng với khóa mã hóa e Hoặc
là d có thể được suy ra dễ dàng từ e Trong các hệ mã đối xứng chỉ có một khoá được
chia sẻ giữa các bên tham gia liên lạc Cứ mỗi lần truyền tin bảo mật, cả người gửi A
và người nhận B cùng thoả thuận trước với nhau một khoá chung K, sau đó người gửidùng hàm mã hóa để lập mã cho thông báo gửi đi và người nhận dùng hàm giải mã hóa
để giải mã bản mật mã nhận được Người gửi và người nhận có cùng một khoá chung
K, được giữ bí mật dùng cho cả lập mã và giải mã [10]
Hình 2-3: mật mã khóa đối xứng
Trang 21Có rất nhiều hệ mật mã khóa đối xứng, một trong những hệ mật mã đối xứng được
sử dụng nhiều là hệ mã chuẩn DES (Data Encryption Standard) được xây dựng tại
Mỹ trong những năm 70 theo yêu cầu của Văn phòng quốc gia về chuẩn (NBS).DES kết hợp cả hai phương pháp thay thế và chuyển dịch DES thực hiện mã hoátrên từng khối bản rõ là một xâu 64 bit, có khoá là một xâu 56 bit và cho ra bản mãcũng là một xâu 64 bit Hiện nay, DES và biến thể của nó (3DES) vẫn được sửdụng rộng rãi trong nhiều ứng dụng
Độ an toàn của hệ mã này phụ thuộc vào một số yếu tố Trước hết, thuật toán mãhoá phải đủ mạnh, sao cho việc giải mã một thông báo mà chỉ dựa vào bản mã làkhông khả thi Tiếp theo, độ an toàn của mã hoá đối xứng phụ thuộc vào sự bí mậtcủa khoá, chứ không phải là sự bí mật của thuật toán Có nghĩa là, việc giải mã mộtthông báo dựa vào bản mã và các thông tin về thuật toán mã hoá giải mã là khôngkhả thi Nói cách khác, người ta không cần giữ bí mật thuật toán mà giữ bí mậtkhoá Chính đặc tính này đã làm cho mã hoá đối xứng được sử dụng rộng rãi Đó
là vì các thuật toán không cần phải giữ bí mật, có nghĩa là các nhà sản xuất có thểsản xuất các chíp thuật toán mã hóa giá thành thấp Các chíp này có sẵn và dễ dàngghép với một số sản phẩm khác Khi sử dụng mã hoá đối xứng, vấn đề an toàn cầnđược quan tâm hàng đầu chính là sự bí mật của khoá Một giải thuật mã hóa đốixứng khác với độ an toàn khá cao là AES
Nhận xét:
Ưu điểm nổi bật của các hệ mật mã khoá đối xứng là việc xây dựng một hệ mật mã
có độ bảo mật cao khá dễ dàng về mặt lý thuyết và tốc độ mã hóa nhanh Tuynhiên nó vẫn còn một số nhược điểm cần giải quyết được:
- Cần có trước một kênh mật để phân phối khóa đến các bên tham gia giao dịch,nếu kênh mật này bị lộ thì bản tin mật không còn an toàn nữa
- Nếu hệ thống có n người thì số lượng khóa tối đa cần phải quản lý n(n-1)/2, đâythực sự là một vấn đề lớn khi hệ thống mở rộng
- Quá trình mã hóa chỉ sử dụng 1 khóa chung không đưa ra được cơ chế tạo dấuhiệu đặc trưng cho từng bên tham gia giao dịch nên không thể kí dấu lên bản tintruyền đi
2.1.2 Mã hóa bất đối xứng
Việc phải duy trì kênh mật phân phối khóa và hạn chế trong việc kí dấu đặc trưng làhai vấn đề nội tại của hệ mã hóa đối xứng, hai vấn đề này chỉ có thể được giải quyếtvới hệ mã hóa công khai Sự ra đời của hệ mã hóa công khai được coi như một cuộccách mạng trong mật mã học [1] Nó giải quyết được hai vấn đề của hệ mã hóa đốixứng nói trên Khác với hệ mã hóa đối xứng chủ yếu dùng các phép thế và hoán vị,
hệ mã hóa công khai thường dựa trên các hàm toán học Lý thuyết về hệ mã côngkhai liên quan nhiều tới lý thuyết số
Trang 22Trong hệ mã hóa công khai, khóa giải mã và khóa mã hóa là khác nhau Một cặpkhóa bao gồm khóa công khai (public key) và khóa bí mật (hay khóa cá nhân)(private key) Khóa cá nhân phải được giữ bí mật, chỉ người chủ của nó biết, cònkhóa công khai thì không cần giữ mật Mã hóa bằng khóa cá nhân thì giải mã bằngkhóa công khai tương ứng và ngược lại: mã hóa bằng khóa công khai thì giải mãđược đúng bằng khóa cá nhân tương ứng Với đặc điểm như vậy, có thể coi khóa cánhân đặc trưng cho người chủ nên có thể dùng nó để kí dấu đặc trưng, phục vụ choviệc xác thực chủ thể Do đó hệ mã hóa công khai có thể đáp ứng được yêu cầu vềgiữ mật thông tin cũng như có khả năng tạo dấu hiệu để xác thực.[11]
Hình 2-2, 2-3 minh họa cho quá trình mã hóa sử dụng khóa công khai để đảm bảotính mật của thông tin, và dùng để xác thực tính toàn vẹn của nội dung, xác thực chủthể trong giao dịch.[1]
Hình 2-4: mật mã khóa công khai dùng để giữ mật thông tin
Trang 23Hình 2-5: mật mã khóa công khai dùng xác thực
Có nhiều hệ thống khoá công khai được triển khai rộng rãi như hệ RSA, hệElGamal sử dụng giao thức trao đổi khoá Diffie-Hellman và gần đây là hệ đườngcong Elliptic Trong số các hệ mật mã trên thì hệ RSA là hệ được cộng đồng chuẩnquốc tế và công nghiệp chấp nhận rộng rãi trong việc thực thi mật mã khoá côngkhai
Khi nói tới mật mã khóa công khai chúng ta có thể thấy những ưu điểm nổi bật của
- Ứng dụng của nó trong lĩnh vực chữ ký số, cùng với các kết quả về hàm băm, thủtục ký để bảo đảm tính toàn vẹn của một văn bản được giải quyết
Tuy nhiên, do bản thân các hệ mật mã khoá công khai đều dựa vào các giả thiếtliên quan đến các bài toán khó nên đa số các hệ mật mã này đều có tốc độ mã hóakhông nhanh lắm
Trang 24Để đưa hệ mật mã khóa vào triển khai trong thực tế thì chúng ta cần giải quyếtđược những vấn đề như thẩm quyền và độ tin cậy của người tạo khóa, sự thốngnhất về định dạng dữ liệu, việc cập nhật thông tin về khóa, các hoạt động cần tiếnhành nếu phát hiện khóa bị xâm phạm … đòi hỏi một chính sách thống nhất để hệthống có thể hoạt động mà không gặp các cản trở Hạ tầng khóa công khai PKIchính là 1 framework hoàn chỉnh cung cấp các chính sách như vậy Dưới đây,chúng ta sẽ tìm hiểu một số khái niệm cơ bản về PKI.
2.2 Hạ tầng khóa công khai – PKI
Như đã nói ở trên, để triển khai được hệ mã hóa khóa bất đối xứng thì chúng taphải giải quyết được các vấn đề :
Cơ quan, tổ chức hay cá nhân nào sẽ tạo ra cặp khoá công khai – bí mật ?
Dữ liệu (khoá, định danh người dùng, các thông tin khác) được lưu dưới định dạngnào trong hệ thống lưu trữ ?
Có cơ chế nào để sinh và phân phối khoá và chứng thư số ?
Làm thế nào để đảm bảo việc gắn kết giữa khoá công khai và định danh của thựcthể có khoá đó là chính xác và đáng tin cậy ?
Làm thế nào để người dùng có thể truy cập được đến nơi lưu trữ ?
Vấn đề gì sẽ xảy ra đối với khoá công khai nếu khoá bí mật bị xâm hại ?
Cần phải có một hạ tầng cơ sở xác thực và phân phối đáng tin cậy để quản lý và hỗtrợ cho những ứng dụng của mật mã khoá công khai trên mạng máy tính, nhằm tậndụng được những ưu điểm vượt trội mà mật mã khoá công khai đem lại Giải phápđược sử dụng ở đây là hạ tầng cơ sở mật mã khoá công khai – PKI (Public KeyInfrastructure)
2.2.1 Khái niệm
Trên thực tế có rất nhiều định nghĩa về PKI như:
PKI là một hệ thống nền tảng bảo gồm các chính sách bảo mật, các cơ chế mã hóa
và các ứng dụng cho phép tạo, lưu trữ và quản lí các khóa Nó cũng cung cấp cácthủ tục được chuẩn hóa để tạo, phân phối và sử dụng khóa công khai, khóa riêng
Trang 25Như vậy, chúng ta có thể hiểu PKI là một hệ thống gồm cả phần cứng lẫn phầnmềm dựa trên mật mã khóa bất đối xứng, cung cấp các dịch vụ hòan chỉnh để tạo,quản lí, lưu trữ và sử dụng cặp khóa cũng như các chứng thư cho các giao dịchđiện tử.
2.2.2 Các thành phần của hạ tầng khóa công khai PKI
Để thực hiện được các chức năng được nêu ra như định nghĩa, một hệ PKI thường
có các thành phần sau:[4]
- Certification Authority (CA) – Cơ quan phát hành, thu hồi chứng thư
- Registration Authority (RA) – Cơ quan đăng kí chứng thực
- Digital Certificate – chứng thư số
- PKI client: người dùng trong hệ thống, là thực thể cuối (End user)
- Kho chứa chứng chỉ: làm nhiệm vụ lưu trữ các chứng chỉ để các thực thể đầu cuối
có thể lấy được
Hình 2-6: Các thành phần của PKI
2.2.2.1 Certification Authority (CA)
CA là thành phần trung tâm quan trọng nhất của hệ PKI Nó đóng vai trò là bên thứ
3 được các bên tham gia giao dịch tin tưởng Các bên sẽ chỉ truyền tin tin cậy vớinhau nếu bên kia được chứng thực bởi CA Để chứng thực cho một thực thể, CA
sử dụng chứng thư Chứng thư chứa các thông tin như tên của thực thể, khóa côngkhai của thực thể và chứng thư được CA kí và phát hành cho các bên CA sẽ quản
lí chứng thư không chỉ trong lúc nó được tạo ra mà cả trong quá trình nó được sửdụng
Các chức năng chính của CA bao gồm:[5]
Trang 26- Tạo cặp khóa riêng – khóa công khai Đây là tùy chọn khi xây dựng hệ thống: cặpkhóa có thể do CA tạo ra hoặc do người dùng tự tạo.
- Tiếp nhận yêu cầu cấp chứng thư: CA cần kiểm tra danh tính và các thông tinkhác của người đăng kí và cặp khóa của họ (nếu khóa là do người dùng tạo ra)
- Phát hành chứng thư: đối với các yêu cầu hợp lệ do người dùng đăng kí trực tiếphoặc yêu cầu do RA chuyển lên, CA tiến hành cấp phát chứng thư
- Phân phối chứng thư: cung cấp các dịch vụ cho phép truy vấn thông tin về chứngthư để sử dụng trong quá trình xác thực
- Thu hồi chứng thư: trong các trường hợp như chứng thư được yêu cầu hủy, hoặcchứng thư bị xâm phạm hoặc chứng thư hết thời hạn sử dụng, CA có nhiệm vụ hủychứng thư đó và thông báo cho tòan bộ hệ thống bằng CRL (Certificate RevocationList – Danh sách chứng thư bị hủy)
- Treo chứng thư: CA có thể tạm thời ngừng cho sử dụng một chứng thư nếu nhưnghi ngờ nó bị xâm phạm
- Gia hạn chứng thư: khi một chứng thư sắp hết hạn sử dụng, người dùng có thểxin CA gia hạn cho chứng thư của họ
2.2.2.2 RA
Trong các hệ thống với phạm vi vật lý rộng lớn, việc CA chứng nhận thông tinđịnh danh của đối tượng là rất khó khăn Một giải pháp cho vấn đề này là CA sửdụng các cơ quan đăng ký địa phương - RA làm đại diện cho CA trong một cộngđồng nhỏ Các RA không trực tiếp phát hành chứng chỉ, hay quản lý chứng chỉ mà
nó chỉ thực hiện công việc xác nhận những thông tin người dùng cho CA Đồngthời RA cũng có thể thay mặt người sử dụng yêu cầu CA phát hành, thu hồi, thayđổi thông tin trên chứng chỉ
Trang 27Nội dung của chứng thư bao gồm 1 số trường như:[5]
- Mã số của chứng thư: cơ sở để tra cứu chứng thư
- Chữ kí số của CA: xác nhận của CA về chứng thư
- Khóa công khai của chủ chứng thư
- Hạn sử dụng của chứng thư
- Tên của CA tạo ra nó
Hình dưới chỉ ra cấu trúc của một chứng thư phiên bản 3 được dùng phổ biến hiệnnay: [5]
Hình 2-7: Cấu trúc chứng thư
Cơ chế sử dụng chứng thư:[5]
- Chủ của chứng thư kí số vào thông điệp (sử dụng khóa riêng) và gửi đi
- Người nhận kiểm tra chữ kí bằng khóa công khai của người gửi Muốn vậy, họtruy vấn một kho chứa chứng thư (cơ sở dữ liệu chung) để kiểm tra tính đúng đắncủa chứng thư và của người gửi
- Cơ sở dữ liệu trả lời, giao dịch hoàn tất nếu chứng thư được xác nhận là hợp lệ.Khi đó, người nhận lấy khóa công khai của người gửi từ chứng thư và tiến hànhxác thực chữ kí của người gửi
- CA phải kí vào chứng thư, để kiểm tra chứng thư cần khóa công khai của CA
Trang 282.2.2.4 Thực thể cuối
Là đối tượng được CA cấp phát chứng chỉ để chứng nhận những thông tin địnhdanh về đối tượng, đồng thời còn chứng minh rằng đối tượng sở hữu một khoá bímật tương ứng khoá công khai trong chứng chỉ
Trong vai trò chủ thể của chứng chỉ mỗi đối tượng có những quyền sau trong hệthống
- Yêu cầu cấp phát chứng chỉ
Sau khi tạo được cặp khóa công khai/bí mật, đối tượng yêu cầu chứng chỉ có quyềnyêu cầu một trung gian RA , hoặc yêu cầu trực tiếp với CA để được cấp phátchứng chỉ Sau khi xác thực những thông tin mà đối tượng yêu cầu chứng chỉ cungcấp, nhà phát hành chứng chỉ CA có thể ký, cung cấp một chứng chỉ mới cho đốitượng yêu cầu chứng chỉ
- Yêu cầu thu hồi chứng chỉ
Khi đối tượng sử dụng chứng chỉ không cần chứng chỉ nữa, hoặc lộ mất khóa bímật, chủ thể chứng chỉ hoàn toàn có quyền yêu cầu hệ thống thu hồi chứng chỉ củachính nó
- Yêu cầu thay đổi thông tin trên chứng chỉ
Tức là thay chứng chỉ cũ bằng chứng chỉ mới nhưng giữ nguyên các trường thôngtin, chỉ thay đổi những trường thông tin theo yêu cầu của chủ thể chứng chỉ
2.2.2.5 Kho chứng chỉ
Các chứng chỉ, các bản CRL và các thông tin liên quan đến chúng cần được lưu trữcông khai để các chương trình sử dụng chứng chỉ truy cập và lấy về những thôngtin cần thiết Như vậy kho chứa chứng chỉ cũng là một thành phần trong hệ thốngPKI Kho chứa chứng chỉ còn đảm bảo những thông tin được lưu trữ trên nó làhoàn toàn chính xác và tính nhất quán (ví dụ như đảm bảo CRL phát hành đúnghạn)
2.2.3 Kiến trúc PKI
Kiến trúc PKI rất đa dạng, tương ứng theo mô hình hoạt động của mỗi tổ chức Dovậy, hiện chưa có một kiến trúc PKI chuẩn Mỗi tổ chức có thể chọn mô hình PKIphù hợp nhất với mình, kiến trúc đó phải đảm bảo sự tin cậy Bản tin muốn xácnhận được gửi từ người dùng nào thì phải kiểm tra bằng khóa công khai của người
đó Độ tin cậy thể hiện ở chỗ khóa công khai phải thực sự là của người gửi PKIthực hiện việc phân phối khóa công khai và chứng nhận khóa công khai dưới hìnhthức các chứng thư số Trong chứng thư số có thông tin định danh về một người
Trang 29dùng kèm theo khóa công khai của người đó Toàn bộ nội dung chứng thư số đượcđảm bảo tính toàn vẹn bằng chữ ký số của CA Người dùng cần lấy khóa công khaicủa CA để kiểm tra tính đúng đắn của chứng thư số Để đảm bảo không bị giảmạo, CA phải phân phối khóa công khai của mình thông qua một kênh mật sao chongười dùng có thể tin cậy được Một CA có thể được chứng nhận bởi một CAkhác Do đó việc phân phối khóa công khai diễn ra đơn giản hơn Các CA đượcchứng nhận này lại chứng nhận CA khác, tạo nên chuỗi các chứng nhận của CA.Chuỗi này được gọi là một đường dẫn chứng nhận (certificate path) Số lượng các
CA trong một đường dẫn chứng nhận và tổ chức của các CA cho biết các kiến trúcPKI khác nhau.[11]
Các kiến trúc PKI sau được phân loại dựa trên số lượng CA, tổ chức và mối quan
hệ giữa chúng:
Kiến trúc PKI đơn có một CA (Single CA Architecture)
Kiến trúc PKI xí nghiệp (Enterprise PKI)
Kiến trúc PKI lai (Hybrid PKI)
2.2.3.1 Kiến trúc PKI đơn có một CA (Single CA Architecture)
Đây là mô hình kiến trúc PKI đơn giản nhất, thường chỉ đáp ứng nhu cầu cho tổchức có quy mô nhỏ Trong mô hình này, chỉ có duy nhất một CA làm nhiệm vụphát hành, phân phối chứng thư số và quản lý danh sách chứng thư số bị hủy bỏ(CRL) Mọi thực thể trong hệ thống đều tin tưởng vào CA này Việc mở rộng, bổsung thêm CA vào hệ PKI dạng này không được hỗ trợ Mô hình thể hiện của kiếntrúc này như sau:[4]
Hình 2-8: Kiến trúc PKI đơn CA
Trang 30Mô hình trên gặp giới hạn khi hai thực thể sử dụng các CA khác nhau có nhu cầuliên lạc và xác minh định danh Do chỉ hỗ trợ duy nhất một CA nên kiến trúc PKInày không thể thực hiện được tình huống đó Một giải pháp được đưa ra là sử dụng
mô hình danh sách các CA tin cậy (Basic Trust List Model) như sau:
PKI sử dụng nhiều CA, giữa các CA này không có sự liên hệ tin cậy chung Do đókhông tồn tại đường dẫn chứng nhận ở đây Các thực thể trong PKI sử dụng mộtdanh sách các CA mà họ tin cậy, kèm theo là các chứng thư số và danh sách chứngthư số bị hủy bỏ của từng CA Khi hai thực thể muốn liên lạc với nhau, trước tiên
họ kiểm tra xem trong danh sách các CA tin cậy của mỗi bên có cùng chung một
CA hay không Nếu có, quá trình xác minh định danh và thiết lập sự tin cậy đượcdiễn ra Còn không, hai thực thể không thể tiến hành xác minh định danh của nhau.Nhược điểm của mô hình này là quá trình đồng bộ thông tin khi có nhu cầu sửa đổidiễn ra chậm và phức tạp, do có nhiều thông tin trùng lặp được lưu trữ trên các CAkhác nhau Ngoài ra, khi một thực thể đưa một CA nào đó vào trong danh sách tincậy mà không thông báo cho CA đó, có thể dẫn đến tình huống nguy hiểm sau: nếu
CA ngừng cung cấp dịch vụ (có thể do khóa cá nhân bị lộ), nó sẽ thông báo đến tất
cả các thực thể có sử dụng dịch vụ của CA Nhưng với thực thể không nằm trongdanh sách quản lý của CA, sẽ không nhận được thông tin, và vẫn tiếp tục sử dụng
CA này như bình thường cho tới khi biết tin Với nhược điểm như vậy, trong các
hệ thống tổ chức phức tạp và có nhu cầu nâng cấp mở rộng, PKI không sử dụng
mô hình này mà sử dụng kiến trúc PKI xí nghiệp
Hình 2-9: Mô hình danh sách các CA tin cậy
Trang 312.2.3.2 Kiến trúc PKI xí nghiệp
Mô hình kiến trúc xí nghiệp được thiết kế với mục đích sử dụng nhiều CA phântán Quan hệ giữa các CA có thể theo mô hình phân cấp hoặc mô hình ngang hàng(mô hình lưới).[4]
a.Mô hình PKI phân cấp
Mô hình PKI phân cấp tổ chức các CA theo mối quan hệ thứ bậc, có dạng như một
đồ thị cây Trên cao nhất của mô hình là CA gốc, kế tiếp bên dưới là các CA thứcấp… Mỗi CA con được CA cha tạo chứng thư số đảm bảo sự tin cậy của mình
CA gốc thường chỉ tạo chứng thư số cho các CA con, nhưng các CA cấp thấp hơnlại có thể tạo chứng thư số cho cả người dùng và CA cấp thấp hơn nữa
Khi thêm một CA mới vào kiến trúc PKI hiện tại, chỉ việc đặt quan hệ CA mới trởthành con của một CA trong hệ thống và để CA cha tạo chứng thư số cho CA con
Đường dẫn chứng nhận (Certificate path) trong mô hình PKI phân cấp khởi đầu ở
root CA và kết thúc ở thực thể cuối Ví dụ trong mô hình vẽ ở trên thì đường dẫnchứng nhận của thực thể cuối là UserX có thể được miêu tả như sau:
[Root CA CA -1]:[CA-1 CA-3]:[CA-3 UserX]
Các đặc tính nổi bật của kiến trúc PKI phân cấp:
Tính khả mở: Kiến trúc này đáp ứng việc nâng cấp, mở rộng hệ thống
Dễ dàng triển khai: kiến trúc phân cấp triển khai dễ dàng, đường dẫnchứng nhận từ CA gốc cho tới thực thể hoàn toàn xác định một cáchnhanh chóng và đơn giản
Đường dẫn chứng nhận ngắn: Do tổ chức theo mô hình cây, độ dài đườngdẫn chứng nhận tối đa trong hệ thống PKI phân cấp bằng độ cao của cây.Điểm yếu duy nhất trong mô hình này là sự an toàn bảo mật của CA gốc Trườnghợp CA gốc bị tấn công và thâm nhập, toàn bộ hệ thống PKI sẽ bị đổ vỡ Nếu chỉmột CA con nào đó bị thâm nhập, CA cha sẽ tiến hành hủy bỏ chứng thư số của nó
và xây dựng lại nhánh PKI con bắt đầu từ CA bị hủy chứng thư số
Trang 32Hình 2-10: Mô hình PKI phân cấp
b.Mô hình PKI ngang hàng
Trong mô hình lưới, các CA có mối quan hệ đồng cấp Mọi CA trong lướiPKI đều có chức năng làm điểm tin cậy (trust point), không có CA nào có vai tròquan trọng hơn Tổ chức của mô hình PKI lưới tương tự như đồ thị vô hướng Docác CA thực hiện chứng nhận lẫn nhau, chúng tạo nên các mối quan hệ tin cậytương hỗ.[4]
Do không có CA nào là điểm tin cậy trung tâm, một CA bị thâm nhập chỉ gây sự
cố tới các thực thể mà nó phát hành chứng thư số, không ảnh hưởng tới toàn hệthống PKI
Bổ sung thêm CA mới vào hệ tiến hành đơn giản CA mới chỉ cần được một CA đã
có trong hệ thống phát hành chứng thư số đối với nó
Trang 33Hình 2-11: Mô hình PKI lưới
Việc xây dựng đường dẫn chứng nhận trong mô hình lưới phức tạp hơn trong môhình phân cấp Không như ở mô hình phân cấp, thực hiện xây dựng đường dẫnchứng nhận ở mô hình lưới có thể là không hữu hạn Ví dụ với mô hình lưới nhưtrên, đối với Bob, Alice có thể xây dựng đường dẫn chứng nhận là [CA−1 Bob] Nhưng đối với James, Alice có thể xây dựng ít nhất hai đường dẫn chứngnhận như sau:
[CA - 1 CA - 2] : [CA – 2 CA - 4] : [CA – 4 James]
Hoặc :
[CA – 1 CA - 3] : [CA – 3 CA - 2] : [CA – 2 CA - 4] : [CA – 4 James]
2.2.3.3 Kiến trúc PKI lai
Các kiến trúc PKI đơn, PKI phân cấp, PKI lưới thường được triển khai cho một tổchức Khi cần thiết phải liên kết các kiểu kiến trúc PKI của các tổ chức khác nhau,
ví dụ như PKI phân cấp với PKI lưới, lúc này phải có một cơ chế đảm bảo môitrường tin cậy của PKI, đó là kiến trúc lai Kiến trúc lai cho phép các tổ chức sửdụng nhiều kiến trúc PKI khác nhau có khả năng tương tác và hoạt động bìnhthường
Có ba loại mô hình trong kiến trúc PKI lai:[4]
Trang 34 Mô hình danh sách điểm tin cậy mở rộng (Extended Trust List): mỗi phần
tử trong danh sách có thể là CA của bất cứ kiến trúc nào Đây là loại hình phổbiến được các trình duyệt sử dụng
Hình 2-12: Mô hình danh sách điểm tin cậy mở rộng
Mô hình PKI chứng nhận chéo ( Cross-certified PKI): kết hợp các hệ thống PKIcấp thấp nhằm thành lập mô hình lưới PKI cao hơn
Hình 2-13: Mô hình PKI chứng nhận chéo
Trang 35 Mô hình CA bắc cầu (Bridge CA architecture): khi số lượng các PKI trong môhình chứng nhận chéo lớn, dẫn tới số lượng chứng thư số tăng lên Giải pháp làtạo một CA bắc cầu làm nhiệm vụ trung gian khi thực hiện xác thực giữa hai
hệ thống PKI CA này không được coi là một điểm tin cậy
Hình 2-14: Mô hình CA bắc cầu
2.2.4 Vấn đề bảo vệ khóa riêng, xác thực người dùng và các hướng tiếp cận BioPKI
Bảo vệ khóa riêng được xem như vấn đề lớn nhất của hạ tầng khóa công khai, bởi
lẽ việc xâm phạm thành công khóa riêng sẽ khiến cho mọi qui trình trong hệ thống
bị xâm phạm
Nếu người dùng bị lộ khóa riêng thì những thông tin người dùng nhận được sẽ bị
lộ, tệ hại hơn họ có thể bị giả mạo Nguy hiểm nhất là khi khóa riêng của root CA
bị lộ, khi đó, mọi chứng chỉ do CA đó cấp sẽ mất hiệu lực, đồng nghĩa với việcmọi thực thể trong hệ thống đều không thể được tin cậy, hay hệ thống bảo mật đãhoàn toàn sụp đổ
Vấn đề khóa riêng cũng liên quan đến khả năng chống chối bỏ của hệ thống: mộtngười có thể tuyên bố rằng mình bị mất khóa riêng và do đó phủ nhận trách nhiệm
về các thông tin do mình gửi đi và kí.[10]
Vậy làm sao có thể bảo vệ khóa riêng an toàn nhất ? và từ đó xác thực được chínhxác người dùng sở hữu khóa riêng đó?
Từ xa xưa, các đặc trưng sinh trắc đã được biết đến như là các đặc trưng riêng cócủa mỗi người, khó giả mạo, có độ tin cậy cao Bằng chứng là người xưa đã biết sử
Trang 36dụng vân tay để lăn lên văn bản, giấy tờ để xác nhận Ngày này, với sự phát triểnmạnh mẽ của khoa học kỹ thuật đã có rất nhiều nghiên cứu và ứng dụng sử dụngđặc trưng sinh trắc để nhận dạng và xác thực có độ chính xác cao
Do vậy việc kết hợp sinh trắc học với PKI có thể tăng cường khả năng an toàn cho
hệ thống PKI nhằm loại bỏ nguy cơ sử dụng trái phép khóa cá nhân
Theo hướng tiếp cận này, đề tài KC01.11/06-10 “Hệ thống an ninh thông tin dựa
trên sinh trắc học sử dụng công nghệ nhúng BioPKI” đã đưa ra giải pháp tích hợp
hiệu quả
Hình 2-15: Tích hợp sinh trắc học vào PKI
Sự kết hợp ở đây không phải là phép cộng toán học thuần túy giữa hạ tầng khóacông khai PKI với một hệ xác thực Biometric, mà là một giải pháp với rất nhiềuvấn đề cần giải quyết như việc lựa chọn mô hình sinh trắc, việc tích hợp mô hình
đó vào hạ tầng PKI cho phù hợp, vấn đề phần cứng, vấn đề lưu giữ thông tin sinhtrắc, vấn đề ràng buộc đặc trưng sinh trắc với khóa riêng, vấn đề lập trình …
Hiện nay có 3 hướng tiếp cận chủ yếu nghiên cứu về giải pháp hệ BioPKI [3]:
- Giải pháp 1:
Đối sánh đặc trưng sinh trắc thay mật khẩu (password) xác thực chủ thể: ngườidùng phải gửi kèm đặc trưng sinh trắc để hệ thống PKI có thể xác thực Tuyphương pháp làm tăng tính xác thực của hệ thống nhưng việc lưu trữ tập trung cácđặc trưng sinh trắc khiến cho việc quản lí và bảo vệ cơ sở dữ liệu này trở nên khókhăn Việc bảo vệ kênh truyền đặc trưng sinh trắc đến nơi xác thực cũng trở thànhvấn đề lớn tiềm ẩn nguy cơ tấn công lấy trộm thông tin về đặc trưng
Trang 37- Giải pháp 2:
Tích hợp kỹ thuật nhận dạng sinh trắc vào quá trình mã hóa bảo mật, mật mã sinhtrắc bảo vệ khóa cá nhân: kĩ thuật này cho phép tạo mã khóa sinh trắc thay cho mãPIN hay mật khẩu bảo vệ khóa cá nhân Khi sử dụng kết hợp với thiết bị nhúng, nócho phép sinh khóa sinh trắc để có thể truy xuất khóa cá nhân Mã khóa không cầnphải khôi phục chính xác nhưng khóa chỉ có thể được sinh ra khi có xuất hiện mẫusinh trắc sống trong quá trình thẩm định
- Giải pháp 3:
Sinh khóa cá nhân trực tiếp từ các đặc trưng sinh trắc học: ưu điểm của phươngpháp này là việc không cần lưu trữ khóa cá nhân, việc sử dụng khóa là dễ dàng vìkhóa luôn luôn được “mang” theo người dùng Tuy nhiên, việc sinh khóa cá nhântrực tiếp như vậy gặp khó khăn do độ chính xác của khóa được sinh ra là khôngđảm bảo trong khi hệ PKI yêu cầu khóa chính xác tuyệt đối
Sau khi phân tích các hướng tiếp cận nêu trên, giải pháp thứ hai “Tích hợp kỹ thuậtnhận dạng sinh trắc vào quá trình mã hóa bảo mật, mật mã sinh trắc bảo vệ khóa cánhân” đã được chọn để triển khai trong mô hình BioPKI bởi vì:
-Việc dựa trên mã sinh trắc thay vì đối sánh trực tiếp sử dụng đặc trưng sinh trắccho phép chấp nhận độ không ổn định khi thu nhận các mẫu sinh trắc trực tiếp, vốn
Để thực hiện việc lưu trữ phân tán mã sinh trắc, hệ thống cấp cho người dùng mộtthiết bị nhúng (Bio-Etoken) có tác dụng lưu trữ mã sinh trắc của họ để đối sánh vàlưu trữ khóa riêng cũng như chứng thư của người dùng Để thu mã sinh trắc trựctiếp của người dùng, hệ thống sử dụng các thiết bị như Biometrika – thiết bị thumẫu vân tay Khi muốn sử dụng khóa riêng hoặc chứng thư, người dùng cung cấpđặc trưng sinh trắc Đặc trưng này nếu là đúng sẽ có thể kết hợp với mẫu đã lưutrong Bio-Etoken để tạo được khóa sinh trắc đúng có thể giải mã, truy cập vàovùng nhớ chứa khóa riêng hoặc chứa chứng thư
Từ đó, hệ thống cung cấp SDK có thể lập trình làm việc với các thiết bị nhúng nêutrên Các ứng dụng trong hệ thống Bio PKI, trong đó có ứng dụng kiểm soát truycập CSDL từ xa, cần sử dụng các SDK này để tích hợp module sinh trắc
Mô hình đối sánh sinh trắc trong hệ BioPKI :[10]
Trang 38Hình 2-16: Hệ thống BioPKI xác thực thẩm định sinh trắc theo phương pháp mật mã sinh trắc học
Vấn đề sử dụng đơn sinh trắc / đa sinh trắc:
Hệ thống BioPKI đã được triển khai với mô hình sử dụng đơn sinh trắc Dấu hiệusinh trắc được chọn là vân tay của con người Tuy nhiên, hệ thống đơn sinh trắcchứa đựng một số vấn đề như:
-Dễ bị nhiễu: đặc trưng sinh trắc có thể bị hỏng do xây xát (ví dụ như xước, sẹo ởngón tay), có thể không được thu nhận chính xác khi thao tác với thiết bị thu nhận.Nhiễu có thể khiến cho việc xác nhận người dùng và cho phép sử dụng khóa riêng
bị ảnh hưởng, có thể dẫn đến việc không thể sử dụng khóa
- Không đảm bảo tính duy nhất: mặc dù đặc trưng sinh trắc như vân tay có độ khácnhau tương đối cao đối với mỗi người dùng, không có gì đảm bảo không có cácdấu hiệu tương đồng giữa 2 cá nhân Với khả năng thu nhận giới hạn của thiết bị,việc chấp nhận sai (chấp nhận dù mẫu sinh trắc không đúng) là hòan tòan có thểxảy ra Do đó, sử dụng đơn sinh trắc mang khả năng bị giả mạo đặc trưng
-Không có tính phổ biến chung: có những người không có đặc trưng sinh trắc mà
hệ thống yêu cầu, chẳng hạn như việc vân tay bị mờ không thể lấy mẫu được Do
đó, những người này không thể sử dụng hệ thống gây hạn chế đến hiệu năng của
hệ thống
Trang 39Chính vì các vấn đề nói trên mà hệ thống BioPKI đang triển khai phát triển môhình đa sinh trắc, trong đó sử dụng kết hợp đặc trưng vân tay với một số đặc trưngkhác như vân lòng bàn tay hay ảnh khuôn mặt Mô hình đa sinh trắc đang tronggiai đoạn tích hợp thử nghiệm Mô hình đa sinh trắc có tác dụng:
-Khả năng xử lí nhiễu: khi có nhiễu đối với một đặc trưng thì các đặc trưng khác
Một số vấn đề khi nâng cấp hệ thống lên để sử dụng đa sinh trắc:
-Việc lựa chọn đặc trưng để sử dụng và chọn các ngưỡng đối sánh cho phù hợp.-Việc phân cấp để thu nhận và xử lí đặc trưng
-Việc xây dựng các module và SDK để phát triển ứng dụng
2.3 Tìm hiểu về môi trường hệ lõi OpenCA
2.3.1 Giới thiệu chung về OpenCA
OpenCA là một hệ thống mã nguồn mở, mã nguồn của nó được cung cấp rộng rãitrên mạng internet, được phát triển bởi nhiều nhà lập trình trên toàn thế giới, cótiềm năng to lớn nhằm ứng dụng vào các dự án bảo mật từ mức độ thấp như mãhóa dữ liệu, chữ kí số cho đến việc xây dựng hệ thống nhận dạng và mã hóa dữliệu cao cấp mà lõi của nó là OpenCA
PKI là một trong những hạ tầng bảo mật được xây dựng cho tương lai Vấn đề ởđây là hầu hết các ứng dụng đều có thể được bảo mật với chứng thư số và khóanhưng cho tới thời điểm hiện nay, việc xây dựng các PKI là khá khó khăn và tốnkém thậm chí cả trên môi trường mã nguồn mở như Unix OpenCA được xây dựng
để đáp ứng cho nhu cầu này, mọi người dễ dàng có một hạ tầng cơ sở để từ đó pháttriển PKI như mọi người mong muốn, OpenCA được xây dựng với các ứng dụnglõi nền tảng và cơ bản nhất, đáp ứng những nhu cầu cơ bản nhất cho một hệ PKI,phần còn lại là do người xây dựng hệ thống phát triển tùy theo yêu cầu cụ thể của
hệ thống
Trang 402.3.2 Các thành phần của OpenCA
OpenCA bao gồm 3 thành phần chính:[7]
+ Giao diện web xây dựng bằng ngôn ngữ Perl
+ Thư viện OpenSSL nằm phía sau thực hiện các tác vụ mã hóa
+ Cơ sở dữ liệu để lưu trữ
OpenCA được thiết kế cho một hạ tầng phân tán Nó không chỉ có khả năng quản
lý một CA offline, một RA online mà còn có thể sử dụng nó để xây dựng một hệthống đa cấp với ít nhất là 3 levels
Open CA không chỉ đủ khả năng phục vụ cho các hệ thống vừa và nhỏ như các nhàmáy hay doanh nghiệp mà nó còn có thể đáp ứng nhu cầu cho một tổ chứ lớn như
cá trường đại học, các viện nghiên cứu hay công ty đa quốc gia
Trong chương tiếp theo chúng ta sẽ tìm hiểu cụ thể về mô hình hệ thống BioPKIđược xây dựng trên cơ sở môi trường hệ lõi OpenCA như thế nào ?