Nghiên cứu xây dựng hệ thống PKI dựa trên bộ phần mềm mã nguồn mở OpenCA - Pdf 73

LỜI CẢM ƠN
Sau ba tháng nỗ lực thực hiện, đồ án “ Nghiên cứu xây dựng hệ thống PKI
dựa trên bộ phần mềm mã nguồn mở OpenCA” đã phần nào hoàn thành.
Ngoài sự cố gắng hết mình của bản thân, em đã nhận được sự khích lệ rất
nhiều từ phía nhà trường, thầy cô, gia đình, bạn bè
Em xin gửi lời cảm ơn chân thành và sâu sắc nhất tới Ths Hoàng Đức
Thọ, người thầy đã cho em những định hướng và những ý kiến rất quý báu về
PKI và OpenCA
Em cũng xin tỏ lòng biết ơn sâu sắc tới thầy cô trong khoa và bạn bè cùng
khoá đã giúp đỡ em tiến bộ trong suốt những năm học tại Học Viện Kỹ Thuật
Mật Mã.
Xin cảm ơn gia đình và những người thân yêu đã luôn động viên, khuyến
khích giúp đỡ con trong mọi hoàn cảnh khó khăn
Xin cảm ơn bạn bè đã và đang động viên, giúp đỡ tôi trong quá trình học
tập và hoàn thành đồ án tốt nghiệp này
Đồ án tốt nghiệp của em được hoàn thành trong một thời gian cũng tương
đối ngắn. Vì vậy đồ án này chắc chắn sẽ còn nhiều khiếm khuyết. Em xin cảm
ơn những thầy cô, bạn bè và người thân sẽ có những góp ý chân thành cho nội
dung của đồ án này, để em có thể tiếp tục tìm hiểu, đi sâu nghiên cứu và áp
dụng trong thực tiễn
Ngô Thu Hằng
1

MỤC LỤC
MỤC LỤC .................................................................................................................................. 2
DANH MỤC CÁC TỪ VIẾT TẮT ............................................................................................ 5
DANH MỤC HÌNH VẼ ............................................................................................................. 9
LỜI NÓI ĐẦU .......................................................................................................................... 10
CHƯƠNG I: CƠ SỞ MẬT MÃ HỌC ...................................................................................... 12
1.1.Mật mã khoá bí mật ........................................................................................................ 13
1.1.1.Giới thiệu về mật mã khoá bí mật và các khái niệm có liên quan .......................... 13

2.3.2.7.Chứng thực chéo .............................................................................................. 29
2.3.2.8.Hỗ trợ chống chối bỏ ........................................................................................ 30
2.3.2.9.Tem thời gian ................................................................................................... 30
2.3.2.10.Phần mềm phía Client .................................................................................... 31
2.4. Mục tiêu, chức năng ..................................................................................................... 32
2.4.1. Xác thực .................................................................................................................. 32
2.4.1.1.Định danh thực thể ........................................................................................... 32
2.4.1.1.1.Xác thực cục bộ ......................................................................................... 33
2.4.1.1.2.Xác thực từ xa ........................................................................................... 33
2.4.1.2. Định danh nguồn gốc dữ liệu .......................................................................... 33
2.4.2. Bí mật ...................................................................................................................... 33
2.4.3.Toàn vẹn dữ liệu ...................................................................................................... 34
2.4.3.1.Chữ ký số .......................................................................................................... 34
2.4.3.2. Mã xác thực thông báo ................................................................................... 34
2.4.4.Chống chối bỏ .......................................................................................................... 34
2.5. Các khía cạnh an toàn cơ bản mà PKI cung cấp ........................................................... 35
2.5.1. Đăng nhập an toàn ................................................................................................. 35
2.5.2. Đăng nhập một lần an toàn ................................................................................... 35
2.5.3. Trong suốt với người dùng cuối ............................................................................. 36
2.5.4. An ninh toàn diện ................................................................................................... 37
CHƯƠNG IIII: CÁC THÀNH PHẦN, CƠ CHẾ LÀM VIỆC CỦA PKI. CÁC MÔ HÌNH
VÀ CÁC KIỂU KIẾN TRÚC CỦA PKI ................................................................................. 37
3.1. Mô hình PKI và các thành phần của PKI ...................................................................... 37
3.1.1. CA ........................................................................................................................... 38
3.1.2.RA ............................................................................................................................ 38
3.1.2.1.Chức năng, nhiệm vụ của RA .......................................................................... 38
3.1.2.2.Thành phần của RA .......................................................................................... 39
3.1.2.2.1.RA Console ............................................................................................... 39
3.1.2.2.2.RA Officer ................................................................................................. 39
3.1.2.2.3.RA Manager .............................................................................................. 39

3.5.5. Kiến trúc Bridge CA(BCA) .................................................................................... 60
CHƯƠNG IV: XÂY DỰNG MÔ HÌNH PKI DỰA TRÊN MÃ NGUỒN MỞ OPENCA .... 60
4.1.Lịch sử phát triển OpenCA ............................................................................................. 61
4.2. CA ................................................................................................................................. 62
4.2.1.Chức năng của CA .................................................................................................. 62
4.2.1.1. Cấp phát chứng chỉ .......................................................................................... 62
4.2.1.2.Huỷ bỏ chứng chỉ ............................................................................................. 62
4.2.1.3.Tạo lập chính sách chứng chỉ ........................................................................... 63
4.2.1.4.Hướng dẫn thực hiện chứng chỉ số (Certification Practice Statement) .......... 63
4.2.2.Nhiệm vụ của CA .................................................................................................... 63
4.2.3. Các loại CA ............................................................................................................ 64
4.2.3.1.Enterprise CA: ................................................................................................. 64
4.2.3.2.Standalone CA .................................................................................................. 64
4.2.4.Các cấp CA .............................................................................................................. 64
4.2.4.1.Root CA(CA gốc) ............................................................................................. 64
4.2.4.2.Subordinate CA(CA phụ thuộc): .................................................................... 65
4.3. Thiết kế chung của CA .................................................................................................. 66
4.3.1.Phân cấp cơ bản ....................................................................................................... 67
4.3.2.Các giao diện ........................................................................................................... 69
4.3.2.1.Node .................................................................................................................. 70
4.3.2.2.CA ..................................................................................................................... 71
4.3.2.3.RA ..................................................................................................................... 71
4.3.2.4. LDAP ............................................................................................................... 71
4.3.2.5.Pub .................................................................................................................... 72
4.4. Vòng đời của các đối tượng .......................................................................................... 72
4.5. Các lưu ý khi thiết kế PKI ............................................................................................. 73
4.5.1. Các vấn đề phần cứng ............................................................................................ 73
4.5.1.1.Thời gian ........................................................................................................... 73
4
4.5.1.2.Đĩa lỗi ............................................................................................................... 74

2.Các chuẩn mật mã .............................................................................................................. 95
DANH MỤC CÁC TỪ VIẾT TẮT
AES Advanced Encryption Standard
Tiêu chuẩn mã hóa tiên tiến
API Application Programming Interface
5
Giao diện lập trình ứng dụng
APXS Apache Extention (tool)
Công cụ mở rộng Apache
CA Certificate Authority
Thẩm quyền chứng thực
CDP: CRL Distribution Point
Điểm phân phối CRL
CRL Certificate Revocation List
Danh sách huỷ bỏ chứng chỉ
CRR Certificate Revocation Request
Yêu cầu huỷ bỏ chứng chỉ
CPS Certification Pratice Statement
Hướng dẫn thực hành chứng chỉ
CSR Certificate Signing Request
Yêu cầu ký chứng chỉ
DES Data Encryption Standard
Tiêu chuẩn Mã hóa Dữ liệu
DN Distingished Name
Tên phân biệt
DSO Dynamic Shared Object
6
Đối tượng chia sẻ động
Email Electronice mail
Thư điện tử

Chuẩn mật mã khoá công khai
PKI: Pulic Key Infracstructure
Cơ sở hạ tầng khóa công khai
POP: Post Office Protocol
RSA: Rivest Shamir Adleman
SCEP: Simple Certificate Enrollment Protocol
Giao thức đăng ký chứng chỉ đơn giản
SHA: Secure Hash Algorithm
8
Thuật toán băm
S/MIME Secure Multipurpose Internet Mail Extensions
SMTP Simple Mail Transfer Protocol
Giao thức truyền thư đơn giản
SPKC Simple Public Key Certificate
Chứng chỉ khoá công khai đơn giản
SSH Secure Shell
TCP/IP Transmission Control Protocol /Internet Protocol
Giao thức điều khiển truyền thông/giao thức Internet
TLS Transport layer Security
Giao thức đảm bảo an toàn lớp vận chuyển

DANH MỤC HÌNH VẼ
Hình 1: Mật mã khoá bí mật.....................................................................................................15
Hình 2: Mật mã khoá công khai...............................................................................................16
Hình 3: Quá trình ký số............................................................................................................18
Hình 4: Quá trình kiểm tra chữ ký số.......................................................................................19
Hình 5:Mô hình PKI Việt Nam hiện nay.................................................................................23
Hình 6: Khuôn dạng chứng chỉ X.509v3.................................................................................27
Hình 7: Tiến trình đăng nhập an toàn.......................................................................................35
Hình 8: Tiến trình đăng nhập an toàn một lần.........................................................................36

khía cạnh quản lý an toàn. Hầu hết các giao thức chuẩn đảm bảo an toàn mail,
truy cập Web, mạng riêng ảo và hệ thống xác thực người dùng đăng nhập đơn
đều sử dụng chứng chỉ khóa công khai
PKI bản chất là một hệ thống công nghệ vừa mang tính tiêu chuẩn, vừa
mang tính ứng dụng được sử dụng để khởi tạo, lưu trữ và quản lý các chứng
thực điện tử cũng như các mã khoá công khai và cá nhân. Sáng kiến PKI ra
10
đời năm 1995, khi mà các tổ chức công nghiệp và các chính phủ xây dựng các
tiêu chuẩn chung dựa trên phương pháp mã hoá để hỗ trợ một hạ tầng bảo mật
trên mạng Internet. Tại thời điểm đó, mục tiêu được đặt ra là xây dựng một bộ
tiêu chuẩn bảo mật tổng hợp cùng các công cụ và lý thuyết cho phép người sử
dụng cũng như các tổ chức (doanh nghiệp hoặc phi lợi nhuận) có thể tạo lập,
lưu trữ và trao đổi các thông tin một cách an toàn trong phạm vi cá nhân và
công cộng.
PKI ngày càng thể hiện rõ vai trò của mình trong lĩnh vực an toàn thông
tin. Hiện nay, có rất nhiều cách thức xây dựng PKI . Một trong những cách
thức xây dựng PKI đó là dựa trên mã nguồn mở OpenCA
Đề tài “Nghiên cứu xây dựng hệ thống PKI dựa trên mã nguồn mở
OpenCA” được thực hiện với mục đích tìm hiểu, nghiên cứu và xây dựng PKI
dựa trên mã nguồn mở OpenCA. Nội dung đề tài bao gồm các khái niệm tổng
quan về mật mã, các khái niệm liên quan tới PKI , các mô hình và các kiểu
kiến trúc của PKI. Về phần OpenCA, đề tài nêu lên được đặc điểm, chức năng
của các phần mềm mã mở để xây dựng nên OpenCA như Apache, OpenSSL,
mod_ssl , perl và các module perl
Với giới hạn về các vấn đề tìm hiểu và nghiên cứu, nội dung tìm hiểu đề
tài của em bao gồm ..phần
Chương I: Cơ sở mật mã khoá công khai và khoá bí mật
Chương I trình bày về mật mã khoá bí mật và mật mã khoá công khai
cùng các thuật toán được sử dụng trong mật mã. Chương I cũng nêu ra khái
niệm về chữ ký số, hàm băm và bản tóm lược thông báo

Việc chuyển đổi từ bản tin ban đầu thành bản tin mã hoá được gọi là sự
mã hoá, sự chuyển đổi ngược lại từ bản tin mã hoá thành bản tin ban đầu
được gọi là giải mã.
Bản tin ban đầu được gọi là bản rõ, bản tin ban đầu được mã hoá sẽ trở
thành bản mã. Toàn bộ cơ chế bí mật đó được gọi là mật mã.
1.1.Mật mã khoá bí mật
1.1.1.Giới thiệu về mật mã khoá bí mật và các khái niệm có liên quan
Trong mật mã đối xứng các bên tham gia liên lạc sử dụng cùng một khóa
để mã hóa và giải mã. Trước khi truyền tin, hai thực thể A và B cùng thỏa
thuận với nhau một khóa dùng chung (K). Thực thể A dùng khóa đó để mã
hóa bản tin (e
K
) sau đó gửi cho thực thể B. Thực thể B dùng khóa K, thực hiện
phép giải mã (d
K
) để giải mã mã nhận được
Khóa bí mật phải được dữ bí mật
1.1.2.Một vài các thuật toán sử dụng trong mật mã khoá đối xứng
1.1.2.1.DES
Hệ mật 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 và được sự thẩm định của an ninh quốc gia.
DES kết hợp cả hai phương pháp thay thế và chuyển dịch
DES là một mật mã khối. Độ dài của mỗi khối là 64 bit
Khoá dùng trong DES có độ dài tổng thể là 64 bit, tuy nhiên chỉ có 56 bit
thực sự được dùng, 8 bit còn lại dùng cho việc kiểm tra
Đây đã từng là thuật toán mật mã được sử dụng rộng rãi nhất .
1.1.2.2.IDEA
IDEA là một thuật toán mã hoá khối
13
IDEA tao thác trên từng khối 64 bit, mã khối 64bit plaintext thành khối

biết khóa công khai
15
Hình 2: Mật mã khoá công khai
1.2.2. Các thuật toán sử dụng trong mật mã khoá công khai
1.2.2.1. RSA
Thuật toán RSA được Ron Rivest, Adi Shamir và Len Adleman mô tả lần
đầu tiên vào năm 1977 tại Học viện Công nghệ Massachusetts (MIT).
RSA là một thuật toán mã hóa khóa công khai.
Thuật toán đầu tiên phù hợp với việc tạo ra chữ ký điện tử đồng thời với
việc mã hóa. Nó đánh dấu một sự tiến bộ vượt bậc của lĩnh vực mật mã trong
việc sử dụng khóa công khai. RSA đang được sử dụng phổ biến trong thương
mại điện tử và được cho là đảm bảo an toàn với điều kiện độ dài khóa đủ lớn.
Độ an toàn của hệ thống RSA dựa trên 2 vấn đề của toán học: bài toán
phân tích ra thừa số nguyên tố các số nguyên lớn và bài toán RSA
RSA có tốc độ thực hiện chậm hơn đáng kể so với DES và các thuật toán
mã hóa đối xứng khác. Trên thực tế, người ta sử dụng một thuật toán mã hóa
16
đối xứng nào đó để mã hóa văn bản cần gửi và chỉ sử dụng RSA để mã hóa
khóa để giải mã (thông thường khóa ngắn hơn nhiều so với văn bản).
1.2.2.2.Phương thức trao đổi khoá Diffie Hellman
Phương thức này được phát minh bởi Whitfield Diffie và Matty Hellman
ở Standford.
Đây là sơ đồ khoá công khai đầu tiên. Tuy nhiên, đó không phải là một sơ
đồ mã hoá khoá công khai thực sự, mà chỉ dùng cho trao đổi khóa.
Các khoá bí mật được trao đổi bằng cách sử dụng các trạm trung gian
riêng tin cậy. Phương pháp này cho phép các khoá bí mật được truyền an toàn
thông qua các môi trường không bảo mật.
Trao đổi khoá Diffie-Hemall dựa trên tính hiệu quả của bài toán logarit rời
rạc
Tính bảo mật của trao đổi khoá Diffie-Hellman nằm ở chỗ: tính hàm mũ

bản tóm lược thông báo vừa được giải mã ở trên, nếu kết quả giống nhau thì
quá trình kiểm tra thành công. Ngược lại có thể kết luận đây là một thông báo
đã bị giả mạo hoặc thông tin đã bị thay đổi trên quá trình gửi đi.
18
Hình 4: Quá trình kiểm tra chữ ký số
1.4. Hàm hash
1.4.1.Khái niệm hàm hash
Hàm hash (hash function) là hàm một chiều mà khi ta đưa một khối dữ
liệu có độ dài bất kỳ qua hàm này thì sẽ tạo ra một chuỗi bít có độ dài cố định
ở đầu ra. Kết quả ở đầu ra gọi là bản tóm lược thông báo (message digest)
Hash có thể đảm bảo tính toàn vẹn và xác thực
Thuật toán hash không thể được dịch ngược trở lại dữ liệu ban đầu vì vậy
được gọi là thuật toán mã hoá một chiều
1.4.2. Tóm lược thông báo
Bản tóm lược thông báo được coi là một “dấu vân tay” số của bản tin. Bản
tóm lược thông báo được tạo ra từ hàm hash trên dữ liệu của bản tin.
Thuật toán tóm lược thông báo có hai đặc điểm quan trọng
Đầu vào như nhau thì luôn luôn tạo ra đầu ra như nhau nhưng đầu vào
khác nhau thì có thể không bao giờ tạo ra đầu ra như nhau
Không thể xác định được bản tin thật sự từ bản tóm lược thông báo
19
Bản tóm lược thông báo được sử dụng để đảm bảo rằng dữ liệu bản tin
không bị thay đổi trong suốt quá trình truyền
Bản tóm lược thông báo được mã hoá bằng khoá riêng của người gửi để
tạo nên chữ ký số
CHƯƠNG II: TỔNG QUAN VỀ PKI VÀ CA
2.1. Lịch sử phát triển PKI
Việc Diffie, Hellman, Rivest, Shamir, và Adleman công bố công trình
nghiên cứu về trao đổi khóa an toàn và thuật toán mật mã hóa khóa công khai
vào năm 1976 đã làm thay đổi hoàn toàn cách thức trao đổi thông tin mật.

Thị trường PKI thực sự đã tồn tại và phát triển nhưng không phải với quy
mô đã được kỳ vọng từ những năm giữa của thập kỷ 1990. PKI chưa giải
quyết được một số vấn đề mà nó được kỳ vọng. Những PKI thành công nhất
tới nay là các phiên bản do các chính phủ thực hiện
Tới nay, những nỗ lực hoàn thiện PKI vẫn đang được đầu tư và thúc đẩy.
Và để hiện thực hoá ý tưởng tuyệt vời này, các tiêu chuẩn cần phải được
nghiên cứu phát triển ở các mức độ khác nhau bao gồm: mã hoá, truyền thông
và liên kết, xác thực, cấp phép và quản lý. Tuy nhiên, hầu hết các công nghệ
hình thành từ ý tưởng này đã trở nên chín muồi và một số đã bước vào giai
đoạn "lão hoá". Nhiều chuẩn bảo mật trên mạng Internet, chẳng hạn Secure
Sockets Layer/Transport Layer Security (SSL/TLS) và Virtual Private
Network (VPN), chính là kết quả của sáng kiến PKI
Quá trình nghiên cứu và phát triển PKI là một quá trình lâu dài và cùng
với nó, mức độ chấp nhận của người dùng cũng tăng lên một cách khá chậm
chạp. Cũng giống như với nhiều tiêu chuẩn công cộng khác, tỷ lệ người dùng
chấp nhận sẽ tăng lên chỉ khi các chuẩn đó trở nên hoàn thiện, chứng minh
được khả năng thực sự của nó, và khả năng ứng dụng và hiện thực hoá của nó
là khả thi (cả về khía cạnh chi phí lẫn thực hiện).
21
2.2.Tình hình PKI tại Việt Nam
Trước nhu cầu sử dụng PKI, ở Việt nam, có một số tổ chức đã triển khai
hoạt động cung cấp dịch vụ chứng thực trong lĩnh vực này. Trong khu vực
Nhà nước Ban Cơ Yếu chính phủ đã xây dựng và thử nghiệm tại hạ tầng
Trung Tâm của một số Bộ, ngành ở quy mô nhỏ , đồng thời sử dụng trong
một số dịch vụ bảo mật và an toàn . Ngân hàng Nhà nước, Bộ Công Thương
cũng đã tổ chức thử nghiệm các CA chuyên dùng đáp ứng hoạt động nghiệp
vụ nội bộ
Khu vự ngoài nhà nước như các tổ chức VASC, VDC đã cung cấp chứng
thực điện tử cho một số tổ chức và cá nhân. Nhìn chung, nhu cầu sử dụng PKI
ở Việt Nam ngày càng tăng , tuy nhiên việc triển khai thực tế hiện tại chưa

giản và tạo ra chứng chỉ CA
Một loạt các đoạn script được cung cấp sẽ giúp cho việc cài đặt và cấu
hình cho hầu hết các phần của dự án. Mặc dù đơn giản như vậy, nhưng giải
pháp này gây ra rất nhiều vấn đề với cộng đồng người dùng bởi vì các vấn đề
nảy sinh từ việc nhu cầu cần phải tạo ra một gói đầy đủ và tốt hơn. Phiên bản
đầu tiên của OpenCA rất đơn giản, nhiều chức năng được xây dựng chủ yếu
chỉ được dùng để cấp phát chứng chỉ, CRL và các phương thức cài đặt thì khá
đơn sơ, không có tính tiện dụng cho bất kỳ tiện ích cấu hình nào , đoạn script
chỉ có thể tương thích với bash
Các phiên bản tiếp theo được bổ sung thêm nhiều tính năng hơn cho dự án
và do đó phiên bản 0.109 đã bao gồm giao diện cho server của CA, RA và
Pub. Từ lúc bắt đầu dự án và từ phát hành phiên bản đầu tiên, đã có một
lượng lớn sự tham gia của cộng đồng Internet đóng góp vào sự phát triển của
dự án
2.3. Các định nghĩa về PKI và các khái niệm có liên quan
2.3.1. Các định nghĩa về PKI
PKI có rất nhiều định nghĩa. Để hiểu sâu và rõ về PKI, em xin phép được
đưa ra các định nghĩa về PKI
Định nghĩa 1:
PKI là cơ sở của một hạ tầng an ninh rộng khắp, các dịch vụ của PKI được
cài đặt và thực hiện bằng cách sử dụng các khái niệm và kỹ thuật của mật mã
khoá công khai
Định nghĩa 2
24
PKI là một tập hợp phần cứng, phần mềm, con người, các 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 các chứng
chỉ khoá công khai dựa trên mật mã khoá công khai
Định nghĩa 3
Trong mật mã khoá công khai, cơ sở hạ tầng khóa công khai là một cơ chế
để cho một bên thứ 3 (CA) cung cấp và xác thực định danh các bên tham gia


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