xây dựng phân hệ setup trong hệ thống an ninh dựa trên sinh trắc học biopki-openca - Pdf 14

PHIẾ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: Trần Hoàn Vũ
Điện thoại liên lạc: 0982.195.223 Email:
Lớp: Hệ Thống Thông Tin và Truyền Thông Hệ đào tạo: Chính quy
Kỹ Sư Chất Lượng Cao – K49
Đồ á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 12/03/2009 đến 12/06/2009
2. Mục đích nội dung của ĐATN
Nhiệm vụ của đồ án là xây dựng thành phần Setup trong hệ thống BioPKI-OpenCA. Đây là một
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âm của đồ án là tập trung xây dựng
phân hệ Setup hệ thống BioPKI-OpenCA.
3. Các nhiệm vụ cụ thể của ĐATN
• Tìm hiểu lý thuyết về PKI, OpenCA, sinh trắc học, các giải pháp tích hợp sinh trắc với hạ
tầng khóa công khai để thành hệ BioPKI
• Tập trung xây dựng, phát triển phân hệ Setup hệ thống BioPKI-OpenCA
• Thử nghiệm một ứng dụng trên hệ thống BioPKI-OpenCA
4. Lời cam đoan của sinh viên:
1
Tôi –Trần Hoàn Vũ - 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.
Cá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 29 tháng 05 năm 2009
Tác giả ĐATN
Trần Hoàn Vũ
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ảo vệ:
Hà Nội, ngày tháng năm 2009
Giáo viên hướng dẫn
PGS.TS. Nguyễn Thị Hoàng Lan

2.3.2 Thẩm tra (validation)……………………………………………………………………40
2.3.3 Một số chức năng khác………………………………………………………………….41
2.4 Mô hình tin cậy cho PKI………………………………………………………………… 44
2.4.1 Mô hình CA đơn……………………………………………………………………… 45
2.4.2 Mô hình phân cấp……………………………………………………………………….46
2.4.3 Mô hình mắt lưới (xác thực chéo)………………………………………………………47
2.4.4 Mô hình Hub và Spoke (Bridge CA)……………………………………………………49
2.4.5 Mô hình Web (Trust Lists)…………………………………………………………… 49
2.4.6 Mô hình người sử dụng trung tâm (User Centric Model)………………………………51
CHƯƠNG 3 - PHƯƠNG ÁN THIẾT KẾ XÂY DỰNG HỆ THỐNG BIOPKI-OPENCA
TRONG KHUÔN KHỔ ĐỀ TÀI KC.01.11………………………………………………… 53
3.1 Giới thiệu……………………………………………………………………………………53
3.1.1 Đề tài KC.01.11…………………………………………………………………………53
3.1.2 Sinh trắc học…………………………………………………………………………….54
a. Sinh trắc học là gì…………………………………………………………………… 54
b. Các giải pháp tích hợp sinh trắc để bảo vệ khoá cá nhân…………………………… 56
3.1.3 Tổng quan về hệ thống OpenCA……………………………………………………….58
3.1.3.1 Giới thiệu……………………………………………………………………… 58
3.1.3.2 Đánh giá về hệ OpenCA…………………………………………………………59
3.1.4 Mục đích của hệ thống BK BioPKI-OpenCA………………………………………… 59
3.2 Thư viện OpenSSL………………………………………………………………………….60
4
3.3 Phương án thiết kế xây dựng hệ thống BioPKI-OpenCA……………………………… 65
3.3.1 Mô hình hệ thống dự kiến………………………………………………………………65
3.3.2 Các thành phần và chức năng của hệ thống…………………………………………….66
3.3.3 Biểu đồ phân cấp chức năng…………………………………………………………….68
3.3.4 Xây dựng phương án về quy trình hệ thống BK-BioPKI-OpenCA…………………….74
CHƯƠNG 4 -PHÂN TÍCH THIẾT KẾ CÀI ĐẶT THÀNH PHẦN SETUP HỆ THỐNG
BK-BIOPKI-OPENCA 78
4.1 Giới thiệu……………………………………………………………………………………78

nghiệm một ứng dụng trên hệ thống BioPKI-OpenCA.
DANH MỤC TỪ VIẾT TẮT
APKI Architecture for Public-Key Infrastructure
7
CA Certificate Authority
CRL Certifiate Revocation List
DES Data Encrytion Standard
DSA Digital Signature Algorithm
DSS Digital Signature Standard
IETF Internet Engineering Task Force
LDAP Lightweight Directory Access Protocol
MD2, 4,5 Message Digest 2,4,5
NIST National Institute of Standards and Technology
NSA National Security Agency
PEM Privacy Enhanced Mail
PGP Pretty Good Privacy
RA Registration Authority
PKCS Public Key Cryptography Standards
PKI Public Key Infrastructure
PKIX Public Key Infrastructure X.509 group
RFC Request For Comments
RSA Rivest Shamir Adleman
SCEP Simple Certificate Enrollment Protocol
SET Secure Electronic Transactions
SHA Secure Hash Algorithm
SPKI Simple Public Key Infrastructure
SSL Secure Socket Layer
TSL Transport Layer Security
DANH MỤC HÌNH VẼ
Hình 1.1: Quá trình mã hoá và giải mã

Hình 3.4: Mô hình hệ thống BioPKI-OpenCA mức khung cảnh
Hình 3.5: Biểu đồ phân cấp chức năng của CA Operator
Hình 3.6: Biểu đồ phân cấp chức năng của RA
Hình 3.7: Biểu đồ phân cấp chức năng của LRA
Hình 4.1: Các chức năng của Module Setup Hệ Thống
Hình 4.2: Biểu đồ diễn tiến quá trình Setup CA Operator
Hình 4.3: Biểu đồ diễn tiến quá trình Setup RA
Hình 4.4: Biểu đồ diễn tiến quá trình đăng ký một LRA
Hình 4.5: Biểu đồ diễn tiến quá trình setup LRA
Hình 4.6: Kịch bản khởi động cho các phân hệ trong hệ thống BioPKI
Hình 5.1: Biểu đồ usecase nhóm các chức năng liên quan tới ứng dụng trên nền
PKI
Hình 5.2: Biểu đồ diễn tiến quá trình kí
Hình 5.3: Biểu đồ diễn tiến quá trình xác thực chữ kí
Hình 5.4: Quá trình kí có thử nghiệm hoạt động tất cả các thành phần của hệ thống
BioPKI-OpenCA
Hình 5.5: Quá trình xác thực có thử nghiệm hoạt động tất cả các thành phần của hệ
thống
CHƯƠNG 1
LÝ THUYẾT TỔNG QUAN VỀ MẬT MÃ VÀ ỨNG DỤNG
10
1.1 Giới thiệu chung
Mật mã đã được con người sử dụng từ lâu đời. Các hình thức mật mã sơ khai đã
được tìm thấy từ khoảng bốn nghìn năm trước trong nền văn minh Ai Cập cổ đại. Trải
qua hàng nghìn năm lịch sử, mật mã đã được sử dụng rộng rãi ở khắp nơi trên thế giới từ
Đông sang Tây để giữ bí mật cho việc giao lưu thông tin trong nhiều lĩnh vực hoạt động
giữa con người và các quốc gia, đặc biệt trong các lĩnh vực quân sự, chính trị, ngoại giao.
Mật mã trước hết là một loại hoạt động thực tiễn, nội dung chính của nó là để giữ bí mật
thông tin. Ví dụ muốn gửi một văn bản từ một người gửi A đến một người nhận B, A
phải tạo cho văn bản đó một bản mã mật tương ứng và thay vì gửi văn bản rõ thì A chỉ

chuyển dịch, các chữ cái được sắp xếp theo một trật tự khác.
Hệ mã chuẩn DES đượ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) và được sự thẩm định của an ninh quốc gia là một
ví dụ về mật mã cổ điển. 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 thành công trong nhiều ứng dụng.
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ửi dùng eK để lập mã cho thông báo gửi
đi và người nhận dùng dK để 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ã. Những hệ mật
mã cổ điển với cách sử dụng trên được gọi là mật mã khoá đối xứng hay còn gọi là mật
mã khoá cá nhân.
Độ an toàn của hệ mật mã đối xứng phụ thuộc vào khoá. Nếu để lộ khoá thì bất kỳ
người nào cũng có thể mã hoá và giải mã thông điệp.
12
* Ưu và nhược điểm của hệ mật mã khoá đối xứng
Ư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. Nhưng như nếu không kể đến việc
cần có một nguồn sinh khoá ngẫu nhiên thì việc phân phối, lưu trữ bảo mật và thoả thuận
khoá là một vấn đề khó chấp nhận được trong mạng truyền thông ngày nay. Trong một
mạng có n người dùng, nếu cần khoá cho từng cặp thì cần n(n+1)/2 khoá.
Để khắc phục hiện tượng không thể lưu trữ một khối lượng khoá quá lớn đáp ứng
được nhu cầu mã dịch, người ta xem xét đến việc sử dụng các hệ mật mã khối với độ dài
không lớn lắm như DES… hoặc các hệ mật mã dòng mà khoá được sinh ra từ một nguồn
giả ngẫu nhiên bằng thuật toán.
Mặc dù đã thực hiện việc mã hoá và giải mã bằng các hệ mật mã khối hay bằng
thuật toán sinh khoá như đã nêu ở trên thì vấn đề phân phối và thoả thuận khoá vẫn phải
được thực hiện. Như vậy phân phối và thoả thuận khoá là một vấn đề chưa thể được giải

nổi tiếng là bài toán phân tích số nguyên thành các thừa số nguyên tố. Hệ mật mã RSA
được mô tả như hình 1.4.
Hình 1.4: Sơ đồ hệ mật mã RSA
Việc phát minh ra phương pháp mã công khai tạo ra một cuộc “cách mạng” trong
công nghệ an toàn thông tin điện tử. Nhưng thực tiễn triễn khai cho thấy tốc độ mã hoá
khối dữ liệu lớn bằng các thuật toán mã hoá công khai chậm hơn rất nhiều so với hệ mã
hoá đối xứng. Ví dụ, để đạt được độ an toàn như các hệ mã đối xứng mạnh cùng thời,
RSA đòi hỏi thời gian cho việc mã hoá một văn bản lâu hơn gấp hàng ngàn lần. Do đó,
thay bằng việc mã hoá văn bản có kích thước lớn bằng lược đồ khoá công khai thì văn
bản này sẽ được mã hoá bằng một hệ mã đối xứng có tốc độ cao như DES, IDEA,…sau
đó khoá được sử dụng trong hệ mã đối xứng sẽ được mã hoá sử dụng mật mã khoá công
khai. Phương pháp này rất khả thi trong việc mã và giải mã những văn bản có kích thước
lớn như được mô tả trong hình 1.5 và 1.6.
15
Hình 1.5: Mã hoá thông điệp sử dụng khoá cá nhân S để mã thông điệp và khoá
công khai P để mã khoá cá nhân S
Hình 1.6: Giải mã thông điệp sử dụng khoá cá nhân S để giải mã thông điệp và
khoá cá nhân P để giải mã khoá cá nhân S
16
* Ưu và nhược điểm của hệ mật mã khoá công khai
Vấn đề còn tồn đọng của hệ mật mã khoá đối xứng được giải quyết nhờ hệ mật mã
khoá công khai. Chính ưu điểm này đã thu hút nhiều trí tuệ vào việc đề xuất, đánh giá các
hệ mật mã công khai. Nhưng do bản thân các hệ mật mã khoá công khai đều dựa vào các
giả thiết liê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ã
dịch không nhanh lắm. Chính nhược điểm này làm cho các hệ mật mã khoá công khai
khó được dùng một cách độc lập.
Một vấn đề nữa nảy sinh khi sử dụng các hệ mật mã khóa công khai là việc xác
thực mà trong mô hình hệ mật mã đối xứng không đặt ra. Do các khoá mã công khai
được công bố một cách công khai trên mạng cho nên việc đảm bảo rằng “khoá được công
bố có đúng là của đối tượng cần liên lạc hay không?” là một kẽ hở có thể bị lợi dụng.

3. K là một tập hữu hạn các khoá có thể
4. S là tập các thuật toán ký
5. V là tập các thuật toán kiểm thử
6. Với mỗi k ∈ K, có một thuật toán ký sig k ∈ S, sig k: P → A và một thuật
toán kiểm thử ver k ∈ V, ver k: P x A → {đúng, sai}, thoả mãn điều kiện
sau đây với mọi x ∈ P, y ∈ A:
RSA cũng là thuật toán được dùng nhiều cho mục đích ký số. Sơ đồ chữ ký RSA
được mô tả như trong hình 1.7 [3]. Ngoài ra, còn có một số thuật toán công khai khác
được dùng để ký số, ví dụ như chuẩn chữ ký số DSS.

Cho n = p*q với p,q là số nguyên tố lớn . Đặt P = A = Zn
K = {(n, p, q, a, b)/ n = p*q, a*b ≡ 1 mod φ(n)}
trong đó (n,b) là công khai, (a, p, q) là bí mật
Với mỗi K = (n, p, q, a, b), mỗi x ∈ P, ta định nghĩa:
y = sigK (x) = xa mod n, y ∈ A
verK (x, y) = đúng ⇔ x ≡ yb mod n
Hình 1.7: Sơ đồ chữ ký RSA
Quá trình ký và kiểm tra chữ ký được mô tả trong hình 1.8 và hình 1.9
Giả sử A muốn gửi cho B thông điệp x. A thực hiện các bước sau:
1. A băm thông điệp x (Hình 1.8 a), thu được bản đại diện z = h(x) – có kích
thước cố định 128 bit hoặc 160 bit.
18
2. A ký số trên bản đại diện z (Hình 1.8 b), bằng khóa bí mật của mình, thu
được bản ký số y = sigK (z).
3. A gửi (x, y) cho B (Hình 1.8 c).
Hình 1.8 a: Băm thông điệp.
Hình 1.8 b: Ký trên bản băm.
Hình 1.8 c: Truyền dữ liệu thông tin cần gửi.
19
Hình 1.8: Sơ đồ mô tả các công đoạn người A làm trước khi gửi thông điệp

thực sau khi thông tin đến người nhận, dữ liệu truyền qua mạng không chỉ là bản thông
điệp gốc, mà còn bao gồm cả bản ký số (có dung lượng gấp đôi dung lượng bản thông
điệp gốc). Một cách đơn giản để giải quyết vấn đề trên (với thông điệp có kích thước lớn)
này là chặt thông điệp thành nhiều đoạn 160 bit, sau đó ký lên các đoạn đó độc lập nhau.
Nhưng, sử dụng biện pháp này sẽ có một số vấn đề gặp phải trong việc tạo ra các chữ ký
số:
- Thứ nhất: với một thông điệp có kích thước a, thì sau khi ký kích thước của chữ
ký sẽ là 2a (trong trường hợp sử dụng DSS).
- Thứ hai: với các chữ ký “an toàn” thì tốc độ chậm vì chúng dùng nhiều phép tính
số học phức tạp như số mũ modulo.
- Thứ ba: vấn đề nghiêm trọng hơn đó là kết quả sau khi ký, nội dung của thông
điệp có thể bị xáo trộn các đoạn với nhau, hoặc một số đoạn trong chúng có thể bị mất
mát, trong khi người nhận cần phải xác minh lại thông điệp. Do đó, ta cần phải bảo đảm
tính toàn vẹn của thông điệp.
Giải pháp cho các vấn đề vướng mắc đến chữ ký số là dùng hàm băm để trợ giúp
cho việc ký số.
Hàm băm - hiểu theo một nghĩa đơn giản là hàm cho tương ứng một mảng dữ liệu lớn với
một mảng dữ liệu nhỏ hơn - được sử dụng rộng rãi trong nhiều ứng dụng khác nhau của
tin học, không chỉ thuộc phạm vi mật mã học [1].
Hàm băm được đề cập đến trong phạm vi đồ án là hàm băm một chiều, có tác
dụng trợ giúp cho các sơ đồ ký số nhằm làm giảm dung lượng của dữ liệu cần thiết để
truyền qua mạng. Hàm băm ở đây được hiểu là các thuật toán không sử dụng khoá để mã
hóa (ở đây ta dùng thuật ngữ “băm” thay cho “mã hoá”), nó có nhiệm vụ băm thông điệp
được đưa vào theo một thuật toán h một chiều nào đó, rồi đưa ra một bản băm – văn bản
đại diện – có kích thước cố định. Giá trị của hàm băm là duy nhất và không thể suy
ngược lại được nội dung thông điệp từ giá trị băm này. Hàm băm một chiều h có một số
đặc tính quan trọng sau:
- Với thông điệp đầu vào x thu được bản băm z = h(x) là duy nhất.
- Nếu dữ liệu trong thông điệp x thay đổi hay bị xóa để thành thông điệp x’ thì
h(x’) ≠ h(x). Cho dù chỉ là một sự thay đổi nhỏ hay chỉ là xóa đi 1 bit dữ liệu của thông

- Điều gì sẽ xảy với khoá công khai nếu khoá cá nhân tương ứng bị xâm hại?
- Có một chính sách nào cho tất cả những vấn đề nêu trên không?
Để trả lời cho những câu hỏi trên có một giải pháp là sử dụng hạ tầng khoá công
khai - PKI.
Cho đến nay có nhiều định nghĩa về PKI, nhưng chưa định nghĩa nào được công
nhận chính thức. Có một số định nghĩa về PKI như sau:
“PKI là một tập các phần cứng, phần mềm, con người, chính sách và các thủ tục
cần thiết để tạo, quản lý, lưu trữ, phân phối và thu hồi chứng thư khoá công khai dựa trên
mật mã khoá công khai”[14].
“PKI là hạ tầng cơ sở có thể hỗ trợ quản lý khoá công khai để hỗ trợ các dịch vụ
xác thực, mã hoá, toàn vẹn hay chống chối bỏ” [7].
“PKI là hạ tầng cơ sở bảo mật có những dịch vụ được triển khai và chuyển giao sử
dụng công nghệ và khái niệm khoá công khai” [4].
Nhìn chung, PKI có thể được định nghĩa như một hạ tầng cơ sở sử dụng công nghệ
thông tin để cung cấp dịch vụ mã hoá khoá công khai và chữ ký số. Một mục đích quan
trọng khác của PKI là để quản lý khoá và chứng thư được sử dụng trong hệ thống.
Chứng thư là cấu trúc dữ liệu đặc biệt, gắn kết khoá công khai với chủ sở hữu của
nó. Việc gắn kết này được đảm bảo bằng chữ ký số của nơi được uỷ quyền cấp chứng
thư.
2.1. Chứng thư số (digital certificates)
2.1.1 Giới thiệu
Như đã nói đến ở trên, mật mã khoá công khai sử dụng hai khoá khác nhau (khoá
công và khoá cá nhân) để đảm bảo yêu cầu “bí mật, xác thực, toàn vẹn và chống chối bỏ
” của những dịch vụ an toàn. Một đặc tính quan trọng khác của lược đồ khoá công khai là
phần khoá công khai được phân phối một cách tự do. Ngoài ra, trong hạ tầng mã khoá
công khai thì khoá công ngoài việc phải luôn sẵn có để mọi người trong hệ thống có thể
sử dụng còn phải được đảm bảo về tính toàn vẹn.
24
Khoá công được đặt ở vị trí công khai trong một định dạng đặc biệt. Định dạng
này được gọi là chứng thư. Chứng thư (thực ra là chứng thư khoá công – public key


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status