Trong một vài năm lại đây, hạ tầng truyền thông công nghệ thông tin càng ngày càng được mở rộng khi mà người sử dụng dựa trên nền tảng này để truyền thông và giao dịch với các đồng nghiệp, các đối tác kinh doanh cũng như việc khách hàng dùng email trên các mạng công cộng. Hầu hết các thông tin kinh doanh nhạy cảm và quan trọng được lưu trữ và trao đổi dưới hình thức điện tử. Sự thay đổi trong các hoạt động truyền thông doanh nghiệp này đồng nghĩa với việc chúng ta phải có biện pháp bảo vệ tổ chức, doanh nghiệp của mình trước các nguy cơ lừa đảo, can thiệp, tấn công, phá hoại hoặc vô tình tiết lộ các thông tin đó.
Cấu trúc cơ sở hạ tầng mã hóa khoá công khai cùng các tiêu chuẩn và các công nghệ ứng dụng của nó có thể được coi là một giải pháp tổng hợp và độc lập có thể được sử dụng để giải quyết vấn đề này.
PKI đang trở thành một phần trung tâm của các kiến trúc an toàn dành cho các tổ chức kinh doanh. PKI được xem là một điểm trọng tâm trong nhiều 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 đờ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
Chương II: Tổng quan về PKI
Chương này trình bày về các khái niệm của PKI và các khái niệm có liên quan tới PKI. Chương này nêu lên mục tiêu, chức năng cơ bản của PKI, những khía cạnh an toàn mà PKI cung cấp. Mục đích của chương này là thể hiện cái nhìn tổng quan nhất về PKI
Chương III: Các thành phần và cách thức làm việc của PKI, các mô hình và các kiểu kiến trúc của PKI. Chương II đã nêu lên những cái nhìn tổng quan nhất về PKI, còn chương III khai thác sâu hơn về các khía cạnh kỹ thuật được sử dụng trong PKI, cách thức làm việc của PKI và các kiểu kiến trúc, các mô hình của PKI
Chương IV: Xây dựng mô hình PKI dựa trên mã nguồn mở OpenCA
Chương này trình bày chi tiết về CA: Bao gồm chức năng, nhiệm vụ, các loại CA . Chương này trình bày thiết kế chung CA và lưu ý khi xây dựng PKI dựa trên nguồn mở OpenCA
85 trang |
Chia sẻ: ngtr9097 | Lượt xem: 3795 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Đồ á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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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
MỤC LỤC
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
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
Đối tượng chia sẻ động
Email Electronice mail
Thư điện tử
FTP File Transfer Protocol
Giao thức truyền tập tin
HTTP Hypertext Transfer Protocol
Giao thức truyền siêu văn bản
HTTPS: Secure Hypertext Transfer Protocol
Giao thức truyền siêu văn bản an toàn
IDEA: International Data Encryption Algorithm-
Thuật toán mã hoá dữ liệu quốc tế
IKE: Internet Key Exchange
Trao đổi khoá Internet
IMAP Internet Message Access Protocol
Giao thức truy cập thông báo Internet
ITU: Internet Telecommunication Union
Liên minh viễn thông quốc tế
LDAP: Lightweight Directory Access Protocol
Giao thức truy cập nhanh các thư mục
MAC Message Authentication Code
Mã xác thực thông báo
MD: Message Degist
Tóm lược thông báo
NCSA
OCSP Online Certificate Status Protocol
Giao thức trạng thái chứng chỉ
OSI Open System Interconnection
Mô hình kết nối các hệ thống mở
PEM: Privacy Enhanced Mail
Thư riêng tư tăng cường
PGP: Pretty Good Privacy
PKCS: Public Key CryptoGraphy Standards
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
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 11
Hình 2: Mật mã khoá công khai 12
Hình 3: Quá trình ký số 14
Hình 4: Quá trình kiểm tra chữ ký số 15
Hình 5:Mô hình PKI Việt Nam hiện nay 18
Hình 6: Khuôn dạng chứng chỉ X.509v3 22
Hình 7: Tiến trình đăng nhập an toàn 29
Hình 8: Tiến trình đăng nhập an toàn một lần 30
Hình 9: Mô hình các thành phần PKI 32
Hình 10: Chuỗi chứng chỉ 35
Hình 11: Mô hình phân cấp CA chặt chẽ 41
Hình 12: Mô hình kiến trúc tin cậy phân tán 43
Hình 13: Mô hình bốn bên 43
Hình 14: Mô hình Web 44
Hình 15: Mô hình tin cậy lấy người dùng làm trung tâm 46
Hình 16: Chuỗi tin cậy 47
Hình 17: Kiến trúc kiểu Web of Trust 48
Hình 18: Kiến trúc CA đơn 49
Hình 19: Kiến trúc CA phân cấp 50
Hình 20: Kiến trúc kiểu chứng thực chéo 51
Hình 21: Kiến trúc Bridge CA 52
Hình 22: Sơ đồ minh họa rootCA và SubCA 57
LỜI NÓI ĐẦU
Trong một vài năm lại đây, hạ tầng truyền thông công nghệ thông tin càng ngày càng được mở rộng khi mà người sử dụng dựa trên nền tảng này để truyền thông và giao dịch với các đồng nghiệp, các đối tác kinh doanh cũng như việc khách hàng dùng email trên các mạng công cộng. Hầu hết các thông tin kinh doanh nhạy cảm và quan trọng được lưu trữ và trao đổi dưới hình thức điện tử. Sự thay đổi trong các hoạt động truyền thông doanh nghiệp này đồng nghĩa với việc chúng ta phải có biện pháp bảo vệ tổ chức, doanh nghiệp của mình trước các nguy cơ lừa đảo, can thiệp, tấn công, phá hoại hoặc vô tình tiết lộ các thông tin đó.
Cấu trúc cơ sở hạ tầng mã hóa khoá công khai cùng các tiêu chuẩn và các công nghệ ứng dụng của nó có thể được coi là một giải pháp tổng hợp và độc lập có thể được sử dụng để giải quyết vấn đề này.
PKI đang trở thành một phần trung tâm của các kiến trúc an toàn dành cho các tổ chức kinh doanh. PKI được xem là một điểm trọng tâm trong nhiều 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 đờ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
Chương II: Tổng quan về PKI
Chương này trình bày về các khái niệm của PKI và các khái niệm có liên quan tới PKI. Chương này nêu lên mục tiêu, chức năng cơ bản của PKI, những khía cạnh an toàn mà PKI cung cấp. Mục đích của chương này là thể hiện cái nhìn tổng quan nhất về PKI
Chương III: Các thành phần và cách thức làm việc của PKI, các mô hình và các kiểu kiến trúc của PKI. Chương II đã nêu lên những cái nhìn tổng quan nhất về PKI, còn chương III khai thác sâu hơn về các khía cạnh kỹ thuật được sử dụng trong PKI, cách thức làm việc của PKI và các kiểu kiến trúc, các mô hình của PKI
Chương IV: Xây dựng mô hình PKI dựa trên mã nguồn mở OpenCA
Chương này trình bày chi tiết về CA: Bao gồm chức năng, nhiệm vụ, các loại CA . Chương này trình bày thiết kế chung CA và lưu ý khi xây dựng PKI dựa trên nguồn mở OpenCA
CHƯƠNG I: CƠ SỞ MẬT MÃ HỌC
Mật mã đã được sử dụng từ rấ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. Mật mã đã và đang tồn tại hàng nghìn năm lịch sử và hiện vẫn đang được sử dụng rất rộng rãi để giữ bí mật trong truyền tin đặc biệt trong các lĩnh vực quân sự, chính trị, an ninh và quốc phòng. Mật mã về cơ bản được chia thành hai loại chính là mật mã khóa bí mật (hay còn gọi là mật mã đối xứng) và mật mã khóa công khai (hay còn gọi là mật mã phi đối xứng).
Để có thể truyền tin sử dụng mật mã thì hai bên truyền tin phải có khóa
Một khóa mã hóa là một mẫu thông tin đặc biệt được kết hợp với một thuật toán để thi hành mã hóa và giải mã. Mỗi khóa khác nhau có thể tạo ra các văn bản mã hóa khác nhau, và nếu ta không chọn đúng khóa thì không thể nào mở được dữ liệu đã mã hóa , cho dù biết được mã hóa văn bản dùng thuật toán gì. Sử dụng khóa càng phức tạp, mã hóa càng mạnh.
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 (eK) 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ã (dK) để 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
IDEA tao thác trên từng khối 64 bit, mã khối 64bit plaintext thành khối 64bit ciphertext
Độ dài khoá khoá dùng trong thuật toán IDEA là 128 bit
1.1.2.3. Triple DES
3DES (Triple DES), là thuật toán mã hóa khối trong đó khối thông tin 64 bit sẽ được lần lượt mã hóa 3 lần bằng thuật toán mã hóa DES với 3 khoá khác nhau. Do đó, chiều dài khóa mã sẽ lớn hơn và độ an toàn sẽ cao hơn so với DES do 3DES dùng 3 khóa khác nhau để mã hóa dữ liệu. Bộ xử lý thực hiện các bước sau :
Khóa đầu tiên dùng để mã hóa dữ liệu. Sau đó, khóa thứ hai sẽ dùng để giải mã dữ liệu vừa được mã hóa. Cuối cùng, khóa thứ ba sẽ mã hóa lần thứ hai. Toàn bộ quá trình xử lý của 3DES tạo thành một thuật giải có độ an toàn cao. Nhưng bởi vì đây là một thuật giải phức tạp nên thời gian thực hiện sẽ lâu hơn, gấp 3 lần so với phương pháp DES.
1.1.2.4.CAST-128
Là một thuật toán mật mã được đặt tên theo tên người phát triển là Carlisle Adams và Stafford Tavares
Chiều dài khoá là 128 bit
1.1.2.5.AES
AES là một thuật toán mã hoá khối
AES làm việc với khối dữ liệu 128 bít và khóa có độ dài 128, 192 hoặc 256 bít
Hình 1: Mật mã khoá bí mật
1.2.Mật mã khoá công khai
1.2.1.Khái niệm
Mật mã khóa công khai là một dạng mật mã cho phép người sử dụng trao đổi các thông tin mật mà không cần phải trao đổi các khóa bí mật trước đó. Trong mật mã khóa công khai sử dụng một cặp khóa là khóa công khai/khóa riêng. Khóa công khai dùng để mã hóa còn khóa riêng dùng để giải mã
Điều quan trọng đối với hệ thống là không thể tìm ra khóa bí mật nếu chỉ biết khóa công khai
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 đố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ũ modulo của một số nguyên tố là khá dễ dàng nhưng tính logarit rời rạc là rất khó
1.3. Chữ ký số
Một trong những ứng dụng của mật mã khóa công khai là chữ ký số.
Chữ ký số là một phần dữ liệu được đính kèm với bản tin, dùng để nhận dạng và xác thực người gửi và dữ liệu của bản tin, sử dụng mã hoá khoá công khai. Người gửi sử dụng hàm hash một chiều để tạo ra một bản mã hash có độ dài 32 bit từ dữ liệu của bản tin. Sau đó, người gửi sẽ mã hoá bản mã hash đó(hash-code) bằng khoá riêng của người gửi. Người nhận sẽ tính toán lại mã hash đó từ dữ liệu đó và giải mã bản mã hash đó bằng khoá công khai của người gửi. Nếu hai mã hash đó giống nhau, thì người nhận có thể chắc chắn rằng dữ liệu đó không bị sửa đổi và dữ liệu đó đúng là của người gửi
1.3.1.Quá trình ký
Đầu tiên, thông báo được tính toán bởi hàm băm một chiều , hàm này sẽ tính toán thông báo và trả về một bản tóm lược thông báo (message digest), hàm băm một chiều đảm bảo rằng bản tóm lược thông báo này là duy nhất và bất kỳ một sửa đổi dù nhỏ nhất trên thông báo cũng sẽ gây ra thay đổi cho bản tóm tắt này. Sau đó người gửi sẽ dùng khoá riêng của mình mã hoá bản tóm tắt này. Nội dùng sau khi được mã hoá chính là chữ ký số (digital signature) của thông báo đó được ký bởi người gửi. Chữ ký số này sẽ được gửi tới cho người nhận kèm với thông báo
.
Hình 3: Quá trình ký số
1.3.2.Quá trình kiểm tra chữ ký số
Khi người nhận nhận được thông báo, để kiểm tra tính hợp lệ của nó, đầu tiên người nhận sẽ dùng khoá công khai của người gửi để giải mã chữ ký số. Kết quả của quá trình giải mã chữ ký số là bản tóm lược thông báo của người gửi tạo ra. Sau đó, người nhận dùng hàm băm một chiều để tính toán bản tóm tắt qua nội dung của thông báo một lần nữa rồi lấy kết quả đem so sánh với 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.
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
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. Cùng với sự phát triển của các hệ thống truyền thông điện tử tốc độ cao (Internet và các hệ thống trước nó), nhu cầu về trao đổi thông tin bí mật trở nên cấp thiết. Thêm vào đó một yêu cầu nữa phát sinh là việc xác định định dạng của những người tham gia vào quá trình thông tin. Vì vậy ý tưởng về việc gắn định dạng người dùng với chứng thực được bảo vệ bằng các kỹ thuật mật mã đã được phát triển một cách mạnh mẽ.
Nhiều giao thức sử dụng các kỹ thuật mật mã mới đã được phát triển và phân tích. Cùng với sự ra đời và phổ biến của World Wide Web, những nhu cầu về thông tin an toàn và xác thực người sử dụng càng trở nên cấp thiết. Chỉ tính riêng các nhu cầu ứng dụng cho thương mại (như giao dịch điện tử hay truy cập những cơ sở dữ liệu bằng trình duyệt web) cũng đã đủ hấp dẫn các nhà phát triển lĩnh vực này. Taher ElGamal và các cộng sự tại Netscape đã phát triển giao thức SSL trong đó bao gồm thiết lập khóa, xác thực máy chủ. Sau đó, các thiết chế PKI được tạo ra để phục vụ nhu cầu truyền thông an toàn.
Các nhà doanh nghiệp kỳ vọng vào một thị trường hứa hẹn mới đã thành lập những công ty hoặc dự án mới về PKI và bắt đầu vận động các chính phủ để hình thành nên khung pháp lý về lĩnh vực này. Một dự án của American Bar Association đã xuất bản một nghiên cứu tổng quát về những vấn đề pháp lý có thể nảy sinh khi vận hành PKI .Không lâu sau đó, một vài tiểu bang của Hoa kỳ mà đi đầu là Utah (năm 1995) đã thông qua những dự luật và quy định đầu tiên. Các nhóm bảo vệ quyền lợi người tiêu dùng thì đặt ra các vấn đề về bảo vệ quyền riêng tư và các trách nhiệm pháp lý.
Tuy nhiên, các luật và quy định đã được thông qua lại không thống nhất trên thế giới. Thêm vào đó là những khó khăn về kỹ thuật và vận hành khiến cho việc thực hiện PKI khó khăn hơn rất nhiều so với kỳ vọng ban đầu.
Tại thời điểm đầu thế kỷ 21, người ta nhận ra rằng các kỹ thuật mật mã cũng như các quy trình/giao thức rất khó được thực hiện chính xác và các tiêu chuẩn hiện tại chưa đáp ứng được các yêu cầu đề ra.
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