Luận văn Thạc sĩ: Phát triển hạ tầng khóa công khai cơ bản dựa trên Cryptosys (Phan Thị Kim Quế)

Khám phá luận văn thạc sĩ về phát triển hạ tầng khóa công khai (PKI) cơ bản sử dụng bộ công cụ Cryptosys. Tìm hiểu sâu về bảo mật hệ thống thông tin.

Chuyên ngành

Khoa học Máy tính

Người đăng

Ẩn danh

Thể loại

Luận văn Thạc sĩ

2015

69
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

MỤC LỤC

DANH MỤC CÁC TỪ VIẾT TẮT

DANH MỤC HÌNH VẼ

MỞ ĐẦU

1. Lý do chọn đề tài

2. Mục đích và nhiệm vụ

3. Phƣơng pháp nghiên cứu

4. Đối tƣợng và phạm vi nghiên cứu

5. Ý nghĩa khoa học của đề tài

1. Chƣơng 1. TỔNG QUAN VỀ PKI

1.1. Giới thiệu chung

1.2. Mật mã khóa đối xứng và mật mã khóa bất đối xứng

1.2.1. Mật mã khóa đối xứng

1.2.2. Mật mã khóa bất đối xứng

1.3. Tạo chữ kí số

1.4. Hạ tầng khóa công khai PKI

1.4.1. Định nghĩa PKI

1.4.2. Các thành phần chính của PKI

1.4.3. Các dịch vụ của PKI

1.4.4. Kiến trúc PKI hiện hành

1.5. Kết chương

2. TÌM HIỂU KIẾN TRÚC VÀTHUẬT TOÁN TRONG CRYPTOSYS

2.1. Giới thiệu Cryptosys PKI

2.2. Các hàm được sửa đổi trong các phiên bản

2.3. Quy ước trong tài liệu này

2.4. Các thuật toán hỗ trợ trong Cryptosys PKI

2.4.1. Thuật toán ký số và mã hóa công khai

2.4.2. Thuật toán mật mã khối đối xứng cho mã hóa nội dung

2.4.3. Thuật toán mã hóa khối cho việc đóng gói khóa

2.4.4. Thuật toán băm Message digest

2.4.5. Thuật toán băm khóa HMAC

2.4.6. Các thuật toán mã hóa dựa trên mật khẩu

2.4.7. Định dạng khóa RSA

2.4.8. Các kiểu nội dung CMS

2.5. Các thuật toán không được hỗ trợ trong Cryptosys PKI

2.6. Các định dạng lưu trữ khóa

2.7. Chứng thư số

2.7.1. Chứng thư khóa công khai

2.7.2. Khuôn dạng chứng thư X.509

2.8. Cài đặt và sử dụng thư viện CryptoSysPKI

2.8.1. Sử dụng với C và C++

2.8.2. Sử dụng với .NET: C# và VB

2.9. Phát hành an toàn

2.9.1. An toàn khóa

2.9.2. Các tùy chọn an toàn cho khóa bí mật được mã hóa

2.9.3. Sinh số ngẫu nhiên ( Random Number Generator)

2.9.4. Xác định những định danh riêng biệt

2.9.5. Tham số mở rộng X509

2.10. Danh sách một số hàm trong CryptoSysPKI

2.10.1. Các hàm khóa công khai RSA

2.10.2. Hàm RSA gốc

2.10.3. Hàm chứng chỉ X509

2.10.4. Các hàm mật mã khối

2.10.5. Các hàm băm Message Digest

2.10.6. Các hàm chuyển đổi mã hóa

2.10.7. Các hàm chuyển đổi tập tin nhị phân và PEM

2.10.8. Các hàm sinh số ngẫu nhiên

2.11. Các hoạt động chính trong hệ thống PKI

2.11.1. Giai đoạn khởi tạo chứng chỉ

2.11.2. Giai đoạn sau phát hành

2.11.3. Giai đoạn hủy bỏ chứng thư

2.11.4. Các hoạt động phục hồi

3. XÂY DỰNG CHƢƠNG TRÌNH THỬ NGHIỆM

3.1. Mục tiêu phát biểu bài toán

3.2. Sơ đồ hoạt động của chương trình

3.3. Một số chức năng chính và lựa chọn môi trường công cụ

3.4. Ứng dụng chứng thư số sử dụng hệ thống PKI để bảo mật

3.5. Ứng dụng truyền tin an toàn

3.6. Ứng dụng xác thực người dùng và kiểm tra tính toàn vẹn

3.7. Đánh giá kết quả thử nghiệm

3.8. Chương trình mô phỏng hệ thống PKI

Kết luận

Tóm tắt

I. Tổng quan về PKI Cryptosys Nền tảng luận văn thạc sĩ cần biết

Trong kỷ nguyên số, bảo mật thông tin trở thành yếu tố then chốt cho mọi giao dịch trực tuyến và truyền thông dữ liệu. Để đáp ứng nhu cầu này, hạ tầng khóa công khai (PKI) đã nổi lên như một giải pháp nền tảng, cung cấp các dịch vụ chứng thực và chữ ký số đáng tin cậy. Đề tài "Phát triển PKI cơ bản với Cryptosys: Luận văn Thạc sĩ" không chỉ đào sâu vào lý thuyết mà còn hướng tới ứng dụng thực tiễn thông qua bộ công cụ Cryptosys. Mục tiêu của bài viết này là cung cấp cái nhìn tổng quan về PKI là gì, vai trò của nó, đồng thời giới thiệu thư viện mật mã Cryptosys như một công cụ mạnh mẽ hỗ trợ lập trình mật mãtriển khai PKI một cách hiệu quả. Việc nắm vững các nguyên lý và công cụ này là nền tảng vững chắc cho bất kỳ đề tài luận văn thạc sĩ nào trong lĩnh vực an ninh mạngmật mã học.

1.1. Hạ tầng khóa công khai PKI Định nghĩa tầm quan trọng

Theo tài liệu gốc, PKI là gì được định nghĩa là một tập hợp các phần cứng, phần mềm, con người, các chính sách và 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 thư khóa công khai dựa trên mật mã khóa công khai. "PKI là cơ sở của một hạ tầng an ninh rộng khắp, các dịch vụ cơ bản của nó được cài đặt và được 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ã khóa công khai." Hạ tầng khóa công khai đóng vai trò cực kỳ quan trọng trong việc thiết lập niềm tin trong môi trường kỹ thuật số, giải quyết các vấn đề cơ bản về an toàn và tính tin cậy của các giao dịch trên Internet. Các dịch vụ của PKI bao gồm đảm bảo tính toàn vẹn của dữ liệu, tính bí mật và xác thực danh tính của các thực thể tham gia trao đổi thông tin, từ đó ngăn chặn giả mạo và phủ nhận.

1.2. Cryptosys Giới thiệu và vai trò trong lập trình mật mã

Cryptosys PKI là một bộ thư viện mật mã Cryptosys dưới dạng giao diện lập trình ứng dụng (API) dành cho hệ thống Windows. Nó cho phép các nhà lập trình mật mã tạo và đọc các thông điệp an toàn, được mã hóa hoặc ký bằng mật mã khóa công khai RSA. Cryptosys cung cấp các thuật toán mật mã mạnh mẽ, không cấp bằng sáng chế, hỗ trợ nhiều ngôn ngữ lập trình mật mã như C, C++, C# và VB. Đối với một đề tài luận văn thạc sĩ tập trung vào phát triển PKI cơ bản với Cryptosys, công cụ này cung cấp nền tảng vững chắc để thử nghiệm, xây dựng các thành phần cốt lõi của hạ tầng khóa công khai như CA (Certificate Authority), quản lý chứng chỉ số X.509 và các hoạt động mật mã khác.

II. Khám phá thách thức phát triển PKI cơ bản giải pháp toàn diện

Việc triển khai PKI không phải là một nhiệm vụ đơn giản, đặc biệt khi phải đảm bảo tính bảo mật và hiệu quả trong môi trường thực tiễn. Nhiều thách thức nảy sinh từ việc quản lý khóa, phân phối chứng chỉ, cho đến việc xử lý các tình huống thu hồi chứng thư. Để giải quyết những vấn đề này, việc hiểu rõ các thành phần của kiến trúc PKI và các thuật toán mã hóa liên quan là điều cốt yếu. Phần này sẽ đi sâu vào những khó khăn thường gặp và đề xuất các giải pháp kỹ thuật, đặc biệt là cách Cryptosys hỗ trợ quá trình phát triển PKI cơ bản một cách vững chắc, đáp ứng các yêu cầu về bảo mật thông tinan ninh mạng.

2.1. Vấn đề cốt lõi trong triển khai và quản lý PKI

Một trong những thách thức lớn khi triển khai PKI là quản lý số lượng lớn khóa công khai và khóa riêng cùng với các chứng chỉ số X.509. Theo luận văn, "trong một hệ thống mạng lớn, số lượng khóa cần được quản lý rất nhiều." Điều này đòi hỏi một hệ thống quản lý khóa hiệu quả và đáng tin cậy. Ngoài ra, việc duy trì tính toàn vẹn và hợp lệ của các chứng chỉ cũng là một vấn đề phức tạp, bao gồm cả việc phát hành, gia hạn và thu hồi chứng chỉ. Các cơ chế như CRL (Certificate Revocation List)OCSP (Online Certificate Status Protocol) được sinh ra để giải quyết vấn đề này, nhưng việc tích hợp chúng vào một hệ thống PKI cơ bản vẫn đòi hỏi kiến thức chuyên sâu về mật mã họckiến trúc PKI.

2.2. Phương pháp giải quyết thách thức với các thuật toán mật mã

Để vượt qua các thách thức, việc lựa chọn và áp dụng các thuật toán mã hóa phù hợp là tối quan trọng. Cryptosys cung cấp một bộ sưu tập phong phú các thuật toán, từ mã hóa khóa công khai RSA đến các thuật toán băm như SHA-1, SHA-256. Ngoài ra, việc sử dụng các tiêu chuẩn như X.509 cho chứng chỉ số và PKCS cho các định dạng khóa giúp chuẩn hóa quá trình triển khai PKI. Cryptosys cũng hỗ trợ các hàm để sinh số ngẫu nhiên an toàn (RNG), đóng gói khóa và quản lý các loại nội dung CMS, giảm thiểu rủi ro liên quan đến việc tạo và bảo vệ khóa, từ đó tăng cường bảo mật thông tin cho toàn bộ hạ tầng khóa công khai.

III. Hướng dẫn kiến trúc thuật toán Cryptosys Phát triển PKI hiệu quả

Việc phát triển PKI cơ bản với Cryptosys đòi hỏi sự hiểu biết sâu sắc về cả kiến trúc PKI và các thuật toán mật mã mà thư viện này hỗ trợ. Cryptosys cung cấp một bộ công cụ mạnh mẽ để xây dựng các thành phần thiết yếu của hạ tầng khóa công khai, từ việc tạo chứng chỉ số X.509 đến quản lý khóa công khai và khóa riêng. Phần này sẽ tập trung vào việc mô tả chi tiết các khả năng của thư viện mật mã Cryptosys và cách thức các thuật toán mã hóa được tích hợp để tạo ra một hệ thống PKI an toàn và đáng tin cậy. Đây là kiến thức cốt lõi cho những ai muốn thực hiện một nghiên cứu khoa học mật mã hoặc đề tài luận văn thạc sĩ chuyên sâu.

3.1. Thiết kế kiến trúc PKI cơ bản dựa trên Cryptosys API

Một kiến trúc PKI cơ bản thường bao gồm các thành phần chính như CA (Certificate Authority), RA (Registration Authority), kho chứng thư, và các dịch vụ kiểm tra tình trạng chứng thư. Với Cryptosys API, nhà phát triển có thể xây dựng các chức năng này một cách linh hoạt. Ví dụ, Cryptosys hỗ trợ tạo chứng chỉ CA tự ký và các chứng chỉ con, quản lý các yêu cầu ký chứng chỉ (CSR) và tích hợp các hàm để xử lý CRL (Certificate Revocation List)OCSP (Online Certificate Status Protocol). Điều này cho phép tạo ra một mô hình PKI đơn giản, phục vụ cho mục đích thử nghiệm hoặc các ứng dụng quy mô nhỏ, tạo nền tảng vững chắc cho quá trình triển khai PKI thực tiễn. Sự linh hoạt của Cryptosys giúp tối ưu hóa việc lập trình mật mã cho từng thành phần cụ thể.

3.2. Các thuật toán mật mã chính được Cryptosys hỗ trợ

Thư viện mật mã Cryptosys tích hợp một loạt các thuật toán mã hóa quan trọng, bao gồm: mã hóa khóa công khai RSA để ký số và mã hóa, các thuật toán mật mã khối đối xứng như AES và Triple DES cho mã hóa nội dung, cùng với các thuật toán băm (Message Digest) như SHA-1, SHA-256, SHA-512 và HMAC. "Các thuật toán được hỗ trợ trong Cryptosys PKI bao gồm mã hóa khóa công khai RSA, thuật toán ký số từ PKCS#1, thuật toán mật mã khối đối xứng cho mã hóa nội dung và các thuật toán băm Message digest." Cryptosys cũng hỗ trợ các thuật toán mã hóa dựa trên mật khẩu từ PKCS#5 và PKCS#12, cùng với các định dạng khóa RSA tiêu chuẩn như PKCS#1 và PKCS#8. Việc nắm vững các thuật toán này là chìa khóa để đảm bảo an ninh mạngbảo mật thông tin trong mọi hệ thống PKI được xây dựng.

3.3. Quản lý chứng chỉ số X.509 và các thành phần phụ

Chứng chỉ số X.509 là trái tim của PKI, liên kết danh tính của một thực thể với khóa công khai và khóa riêng của nó. Cryptosys cung cấp các hàm mạnh mẽ để tạo, xác minh và truy vấn chứng chỉ số X.509. Các phiên bản X.509 từ 1 đến 3, cùng với các trường mở rộng, đều được hỗ trợ để đáp ứng các yêu cầu bảo mật phức tạp. Ngoài ra, thư viện còn giúp quản lý các danh sách hủy bỏ chứng chỉ (CRL) và giao thức trạng thái chứng chỉ trực tuyến (OCSP), đảm bảo rằng các chứng chỉ không còn hợp lệ sẽ bị từ chối. Việc tích hợp các tính năng này cho phép xây dựng một hạ tầng khóa công khai hoàn chỉnh, đảm bảo tính xác thực và tin cậy cho mọi giao dịch. Đây là một phần không thể thiếu trong bất kỳ nghiên cứu khoa học mật mã nào.

IV. Phương pháp cài đặt an toàn khóa Triển khai PKI thực tiễn

Để phát triển PKI cơ bản với Cryptosys thành công, việc cài đặt đúng cách và tuân thủ các nguyên tắc an toàn khóa là cực kỳ quan trọng. Thư viện mật mã Cryptosys cung cấp các hướng dẫn chi tiết về cách thiết lập môi trường phát triển và sử dụng các Cryptosys API hiệu quả. Tuy nhiên, thách thức lớn nhất nằm ở việc đảm bảo bảo mật thông tin của các khóa riêng và mật khẩu. Phần này sẽ đi sâu vào các quy trình cài đặt, các biện pháp bảo vệ khóa và cách Cryptosys hỗ trợ sinh số ngẫu nhiên an toàn, giúp người thực hiện đề tài luận văn thạc sĩ có thể triển khai PKI một cách vững chắc và tránh được những lỗ hổng bảo mật tiềm tàng.

4.1. Hướng dẫn cài đặt và tích hợp thư viện CryptosysPKI

Việc cài đặt thư viện CryptosysPKI trên hệ thống Windows khá đơn giản với chương trình setup.exe được cung cấp. Cốt lõi DLL (diCrPKI.dll) sẽ được cài đặt vào thư mục hệ thống. Đối với các ngôn ngữ .NET như C# và VB, cần thêm tham chiếu đến thư viện diCrSysPKINet.dll. "Để sử dụng với một chương trình C hoặc C++, bao gồm các tập tin diCrPKI.h với mã nguồn và liên kết của bạn với các thư viện diCrPKI." Sau khi cài đặt, các nhà lập trình mật mã có thể bắt đầu sử dụng Cryptosys API để thực hiện các chức năng mật mã học như tạo chứng chỉ số X.509, mã hóa khóa công khaichữ ký số. Quá trình tích hợp này tạo điều kiện thuận lợi cho việc nghiên cứu khoa học mật mã và phát triển các ứng dụng bảo mật.

4.2. Bảo vệ khóa riêng và sinh số ngẫu nhiên an toàn

An toàn khóa là yếu tố sống còn của hạ tầng khóa công khai. Cryptosys nhấn mạnh tầm quan trọng của việc không bao giờ lưu khóa bí mật ở dạng không được mã hóa và sử dụng mật khẩu mạnh. "Không cho người dùng của bạn có khả năng lưu một khóa bí mật không được mã hóa. Chỉ cần nói không." Thư viện cung cấp các tùy chọn an toàn để mã hóa khóa bí mật bằng các thuật toán như AES-256 và SHA-512. Ngoài ra, việc sinh số ngẫu nhiên (RNG) an toàn cũng là một tính năng quan trọng để tạo ra các khóa mật mã chất lượng cao, sử dụng các phương pháp như tập tin mầm (seed file) hoặc yêu cầu người dùng nhập tổ hợp phím ngẫu nhiên. Đây là các biện pháp không thể thiếu để đảm bảo an ninh mạngbảo mật thông tin trong quá trình phát triển PKI cơ bản với Cryptosys.

V. Ứng dụng PKI với Cryptosys Đánh giá kết quả thử nghiệm thực tế

Việc phát triển PKI cơ bản với Cryptosys không chỉ dừng lại ở lý thuyết mà còn được thể hiện rõ nét qua các ứng dụng thực tiễn và kết quả thử nghiệm. Mục tiêu của nhiều luận văn thạc sĩ là xây dựng các chương trình minh họa khả năng của hạ tầng khóa công khai trong việc giải quyết các bài toán bảo mật thông tin cụ thể. Phần này sẽ đi sâu vào cách Cryptosys hỗ trợ việc xây dựng các ứng dụng như truyền tin an toàn, xác thực người dùng và kiểm tra tính toàn vẹn dữ liệu. Việc đánh giá kết quả thử nghiệm sẽ cung cấp cái nhìn khách quan về hiệu quả của giải pháp, góp phần vào nghiên cứu khoa học mật mã và nâng cao hiểu biết về an ninh mạng.

5.1. Xây dựng chương trình thử nghiệm ứng dụng chứng thư số

Trong tài liệu gốc, đề tài đã xây dựng một chương trình thử nghiệm để mô phỏng hệ thống PKI, tập trung vào các chức năng như cấp phát chứng chỉ số, yêu cầu tạo chứng chỉ, kiểm tra và cập nhật chứng chỉ. Chương trình này ứng dụng chứng thư số để bảo mật truyền tin, xác thực người dùng và kiểm tra tính toàn vẹn. "Mục đích và nhiệm vụ của đề tài này tập trung vào hướng phát triển một hạ tầng khóa công khai cơ bản dựa trên bộ công cụ Cryptosys PKI." Việc sử dụng Cryptosys API cho phép thực hiện các thao tác mật mã phức tạp một cách dễ dàng, từ việc tạo chữ ký số đến mã hóa khóa công khai, minh chứng cho khả năng của thư viện mật mã Cryptosys trong việc xây dựng các giải pháp an ninh mạng thực tế.

5.2. Đánh giá hiệu quả triển khai PKI và bảo mật thông tin

Kết quả thử nghiệm từ chương trình mô phỏng cho thấy khả năng của PKI trong việc đảm bảo bảo mật thông tin cho các giao dịch điện tử. Các chức năng như xác thực danh tính bằng chứng chỉ số X.509, kiểm tra tính toàn vẹn của dữ liệu thông qua chữ ký số đã được kiểm chứng. Mặc dù luận văn giới hạn trong phạm vi nghiên cứu, các kết quả thu được khẳng định rằng việc triển khai PKI dựa trên Cryptosys có tiềm năng lớn để phát triển thành hạ tầng khóa công khai đáp ứng nhu cầu thực tế. Điều này góp phần giải quyết bài toán xác thực các thực thể tham gia trao đổi thông tin, mang lại giá trị thiết thực cho nghiên cứu khoa học mật mã và lĩnh vực an ninh mạng nói chung.

VI. Kết luận định hướng tương lai Tối ưu hạ tầng khóa công khai

Chủ đề "Phát triển PKI cơ bản với Cryptosys: Luận văn Thạc sĩ" đã cung cấp một cái nhìn toàn diện về tầm quan trọng của hạ tầng khóa công khai và vai trò của thư viện mật mã Cryptosys trong việc xây dựng các giải pháp bảo mật. Luận văn đã thành công trong việc hệ thống hóa cơ sở lý thuyết về mật mã học, đặc biệt là mật mã khóa công khai, và minh họa khả năng ứng dụng của Cryptosys trong việc triển khai PKI cơ bản. Những kết quả đạt được không chỉ củng cố kiến thức về an ninh mạng mà còn mở ra nhiều hướng phát triển tiềm năng, góp phần vào sự tiến bộ của nghiên cứu khoa học mật mã và ứng dụng thực tiễn.

6.1. Đánh giá tổng quan và những đóng góp của đề tài

Đề tài đã hệ thống hóa các cơ sở lý thuyết về hệ mật mã khóa công khai và xây dựng chương trình thử nghiệm mô hình PKI cơ bản dựa trên Cryptosys PKI. "Luận văn hệ thống các cơ sở lý thuyết cơ bản về hệ mật mã khóa công khai. Xây dựng chương trình thử nghiệm mô hình PKI cơ bản dựa trên nền bộ công cụ lập trình Cryptosys PKI." Mô hình này chứng minh khả năng tạo ra hạ tầng khóa công khai đáp ứng trong thực tế, giúp người dùng hiểu rõ hơn về ứng dụng mật mã học trong các bài toán bảo mật thông tin. Việc sử dụng Cryptosys API đã đơn giản hóa quá trình lập trình mật mã cho các chức năng cốt lõi như quản lý chứng chỉ số X.509, khóa công khai và khóa riêng, cũng như các hoạt động của CA (Certificate Authority)RA (Registration Authority).

6.2. Hướng phát triển tiếp theo cho hệ thống PKI với Cryptosys

Dựa trên những nền tảng đã đạt được, có nhiều hướng để tiếp tục phát triển PKI cơ bản với Cryptosys. Các hướng nghiên cứu trong tương lai có thể bao gồm việc tích hợp sâu hơn các dịch vụ như OCSP (Online Certificate Status Protocol) và mở rộng khả năng xử lý CRL (Certificate Revocation List) để tăng cường hiệu quả kiểm tra trạng thái chứng chỉ. Ngoài ra, việc nghiên cứu khả năng tương thích của Cryptosys với các nền tảng và chuẩn bảo mật mới (ví dụ như tích hợp SSL/TLS) cũng là một hướng đi hứa hẹn. Mục tiêu cuối cùng là xây dựng một kiến trúc PKI mạnh mẽ và linh hoạt hơn, đáp ứng yêu cầu ngày càng cao về an ninh mạngbảo mật thông tin trong các hệ thống quy mô lớn, tiếp tục đóng góp vào nghiên cứu khoa học mật mã.

02/10/2025

Trích đoạn nội dung tài liệu

Mở đầu 1. Lý do chọn đề tài 2. Mục đích và nhiệm vụ 3. Phương pháp nghiên cứu 4.

Đối tượng và phạm vi nghiên cứu 5. Ý nghĩa khoa học của đề tài. Chƣơng 1: Tổng quan về PKI Chƣơng 2: Kiến trúc và các thuật toán trong Cryptosys PKI Chƣơng 3: Xây dựng chƣơng trình thử nghiệm Kết luận Đánh giá và nêu ưu nhược điểm của đề tài. Trình bày các kết quả thu được sau khi thực hiện đề tài.

Hướng phát triển tiếp theo của đề tài. Đóng góp của luận văn Luận văn hệ thống các cơ sở lý thuyết cơ bản về hệ mật mã khóa công khai. Xây dựng chương trình thử nghiệm mô hình PKI cơ bản dựa trên nền bộ công cụ lập trình Cryptosys PKI (PKI- Public Key Infrastructure). Mô hình này hoàn toàn có thể phát triển tạo ra cơ sở hạ tầng khóa công khai đáp ứng trong thực tế.

Giúp người sử dụng hiểu rõ hơn về khả năng ứng dụng mật mã trong các bài toán bảo mật thông tin. Ngoài ra giúp người sử dụng hiểu rõ hơn hệ thống PKI, từ đó có thể vận hành tốt các hệ thống PKI trong thực tế. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn download by : skknchat@gmail.com 11 Chƣơng 1. TỔNG QUAN VỀ PKI 1.

Giới thiệu chung Mật mã được sử dụng để bảo vệ tính bí mật của thông tin khi thông tin được truyền trên các kênh truyền công cộng như kênh bưu chính, mạng truyền thông tin máy tính, điện thoại, mạng Internet,… Mật mã đã được con người sử dụng từ lâu đời[1]. 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ụ một văn bản được gửi từ người A đến người nhận B mà không muốn bất kì một ai khác B đọc được văn bản đó. A mã hóa văn bản đó thành bản mã tương ứng thay vì gửi văn bản thì A chỉ gửi bản mã cho B, B nhận được bản mã và giải mã lại văn bản để hiểu được thông tin mà A muốn gửi cho mình. Do văn bản gửi đi thường được chuyển qua các con đường công khai nên người ngoài có thể “ đánh cắp” được, nhưng vì đó là bản mã nên không thể đọc hiểu được. Mô hình mã hóa và giải mã sử dụng mật mã.

A có thể tạo ra bản mã và B có thể giải mã thành văn bản rõ để hiểu được là do hai người đã có một thoả thuận về một chìa khoá chung, chỉ với khoá chung này Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn download by : skknchat@gmail.com 12 thì A mới tạo được bản mã từ bản rõ và B mới khôi phục được bản rõ từ bản mã. Khoá chung đó được gọi là khoá mã. Để thực hiện được một phép mã, ta còn cần có một thuật toán biến bản rõ cùng với khoá mã thành bản mã và một thuật toán ngược lại biến bản mã cùng với khoá mã thành bản rõ. Các thuật toán đó được gọi tương ứng là thuật toán lập mã và thuật toán giải mã.

Các thuật toán này thường không nhất thiết phải giữ bí mật, mà cái luôn cần được giữ bí mật là khoá mã. Trong thực tiễn, có những hoạt động ngược lại với hoạt động bảo mật là khám phá bí mật từ các bản mã “lấy trộm” được, hoạt động này thường được gọi là mã thám hay phá khoá. Mật mã khóa đối xứng và mật mã khóa bất đối xứng  Mật mã khóa đối xứng Mật mã khóa đối xứng còn có tên gọi khác như Private Key Cryptography – mã hóa hóa bí mật. Mã hóa đối xứng sẽ sử dụng một khóa chung cho cả hai quá trình mã hóa và giải mã.[1] Trước khi truyền dữ liệu hai bên gửi và nhận phải thỏa thuận về khóa dùng chung cho quá trình mã hóa và giải mã.

Khóa sẽ được phân phối bằng cách an toàn nào đó như đĩa mềm, dùng bên thứ 3 tin cậy, hoặc bằng phương pháp mã hóa công khai,… Hai bên phải giữ bí mật về khóa dùng chung này. Sau đó, bên gửi sẽ mã hóa bản rõ bằng cách sử dụng khóa bí mật đã được thỏa thuận giữa 2 bên và gửi thông điệp được mã hóa sang cho bên nhận. Bên nhận sau khi nhận được thông điệp này sẽ dùng khóa bí mật để giải mã và sẽ nhận được bản rõ. Mô hình đơn giản của hệ thống mã hóa đối xứng Mã hóa đối xứng có thể phân làm 2 loại sau:  Block Cipher ( mã khối): Tác động trên bản rõ theo từng khối bits, từng nhóm Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn download by : skknchat@gmail.com 13 bits này còn được gọi là khối (Block).

Từng khối dữ liệu trong văn bản ban đầu được thay thế bằng một khối dữ liệu khác có cùng độ dài. Ví dụ như thuật toán DES với khối dữ liệu có độ dài là 64 bits, 3DES (Triple DES), AES với khối dữ liệu có độ dài là 128 bits và khóa có độ dài là 128, 192 hoặc 256 bits  Stream Cipher (mã dòng): Tác động lên bản rõ theo từng bits một. Dữ liệu của văn bản được mã hóa từng bits một. Các thuật toán mã dòng này có tốc độ nhanh hơn các thuật toán mã khối và nó thường được áp dụng khi lượng dữ liệu cần mã hóa chưa biết trước.

Phương pháp này tạo ra lỗi ít hơn so với phương pháp mã khối và nếu có xảy ra lỗi cũng chỉ ảnh hưởng trên 1 bit. Các thuật toán được dùng như là RC5, SEAL,… Thuật toán mã hóa đối xứng cũng có thể được dùng để xác thực tính toàn vẹn và nguồn gốc dữ liệu. A sử dụng khóa của mình để sinh ra ciphertext (bản mã) cho toàn bộ plaintext (bản rõ). Sau đó gửi bản plaintext và 1 phần của ciphertext cho B.

Một phần của ciphertext đó được gọi là đoạn mã xác thực thông điệp (MAC). B sử dụng bản sao khóa của mình để sinh ra ciphertext, lấy một phần tương tự của ciphertext và so sánh nó với MAC nhận được. Nếu chúng giống nhau thì B biết được rằng A đã gửi thông điệp đó cho anh. Tuy nhiên, phương pháp này không cung cấp khả năng chống chối bỏ.

A có thể phủ nhận việc gửi thông điệp đó, bởi vì chính B cũng có thể sinh ra thông điệp như vậy. A và B cần chia sẻ một khóa đối xứng trước khi A mã hóa hay tạo ra một MAC cho một thông điệp. Cần thành lập một nơi để chia sẻ khóa gọi là hệ thống quản lý khóa (key management), nhưng đây vẫn là một vấn đề rất khó. Hệ thống quản lý khóa có thể được thực hiện với mật mã khóa đối xứng, nhưng đó là một vấn đề nan giải.

Để sử dụng mật mã đối xứng, A và B cần chia sẻ một cách bí mật. Nơi đầu tiên chia sẻ khóa phải được thành lập thông qua kỹ thuật “out-of- band” (một kênh giao tiếp riêng). Nó có thể chấp nhận được nếu A chỉ liên lạc với B. Nếu A liên lạc với một cộng đồng lớn hơn, thì việc thành lập từng mối quan hệ trở nên phức tạp và khó để đạt được các dịch vụ bảo mật.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn download by : skknchat@gmail.com 14 Tuy nhiên, vấn đề này có thể trở thành dễ sử dụng thông qua sự giới thiệu của một bên thứ ba tin cậy (Trusted Third Party). Nếu A và người mà A muốn liên lạc đều tin vào TTP, họ có thể lấy một khóa mới cho ý định đó từ TTP. Mỗi bên phải thành lập một out-of-band bí mật với TTP như một điểm khởi đầu. Tuy nhiên, A sẽ không cần lặp lại quá trình đó cho mỗi người mới mà A muốn liên lạc.

Ưu, nhược điểm của mật mã khóa đối xứng: + Ưu điểm:  Có thể được thiết kế để đạt tốc độ cao. Các thiết bị phần cứng hỗ trợ có thể đạt tốc độ hàng trăm megabytes mỗi giây trong khi việc thực thi bằng phần mềm chỉ đạt được khoảng vài megabytes mỗi giây.  Khóa bí mật dùng cho việc mã hóa và giải mã tương đối ngắn.  Được xem như thành phần cơ bản có thể triển khai để xây dựng các kỹ thuật mã hóa khác bao gồm khởi tạo các số ngẫu nhiên, các hàm băm, các kỹ thuật tính toán.

 Có thể được kết hợp để tạo ra các thuật toán mã hóa mạnh hơn. + Nhược điểm:  Trong quá trình truyền thông giữa hai người, khóa phải được giữ bí mật cho cả hai phía.  Trong một hệ thống mạng lớn, số lượng khóa cần được quản lý rất nhiều. Ví dụ để đảm bảo giao thông liên lạc an toàn cho tất cả mọi người trong một nhóm gồm n người, tổng số lượng khóa cần phải có là.

Do vậy việc quản lý khóa một cách hiệu quả đòi hỏi sử dụng một bộ phận tin cậy thứ ba (TTP :Trusted Third Party).  Khóa bí mật cần được thay đổi thường xuyên.  Mật mã khóa bất đối xứng Mật mã khóa bất đối xứng hay còn được gọi là mật mã công khai (Public Key Cryptography). Trong thuật toán này sẽ có hai khóa được sử dụng, một được dùng để mã hóa và một được dùng để giải mã.

Khóa dùng để mã hóa được gọi là khóa công khai (Public key), còn khóa dùng để giải mã được gọi là khóa bí mật (private key). Một người dùng bất kỳ có thể dùng khóa công khai để mã hóa dữ liệu nhưng chỉ có người có khóa giải mã tương ứng mới có thể đọc được dữ liệu đó mà thôi. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn download by : skknchat@gmail. Mô hình đơn giản của mật mã khóa bất đối xứng Mã hóa khóa công khai ra đời nhằm giải quyết vấn đề phân phối khóa của các phương pháp mã hóa đối xứng.

Quá trình này được thực hiện như sau:  Bên gửi sẽ yêu cầu lấy khóa công khai của bên nhận đến bên nhận hoặc có thể gửi yêu cầu này đến trung tâm phân phối khóa.  Sau đó hai bên sẽ thống nhất thuật toán dùng để mã hóa dữ liệu, bên gửi sẽ sử dụng khóa công khai của người nhận cùng với thuật toán đã thống nhất để mã hóa dữ liệu gửi đi.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ