Chương I: TỔNG QUAN HẠ TẦNG KHÓA CÔNG KHAI Trong kỷ nguyên bùng nổ của công nghệ thông tin, mọi giao dịch từ xa có thể thực hiện thông qua mạng Internet. Tuy nhiên, khó có thể bảo đảm rằng những giao dịch trên Internet luôn an toàn. Hạ tầng khóa công khai đã đáp ứng những nhu cầu bảo mật của người dùng. Sáng kiến hạ tầng khóa công khai PKI (Public Key Infrastructure, viết tắt là PKI) ra đời năm 1995, khi các tiêu chuẩn chung được xây dựng dựa trên phương pháp mã hoá để hỗ trợ 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 với các công cụ và lý thuyết cho phép người dùng cũng như các tổ chức (doanh nghiệp hoặc tổ chứ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. [12] Hiện nay có rất nhiều cách định nghĩa khác nhau về PKI tuỳ theo góc độ nghiên cứu hoặc ứng dụng cơ sở hạ tầng này. Tuy nhiên, một cách cơ bản nhất có thể định nghĩa cơ sở hạ tầng khoá công khai là một hệ thống vừa mang tính mô hình vừa mang tính công nghệ và các chuẩn, vừa là mô hình kiến trúc vừa là hệ thống các giao dịch và ứng dụng cho phép thực hiện khởi tạo, lưu trữ, quản lý các chứng thư số (Digital certificate), quản lý và phân phối các khóa công khai, khóa bí mật và cơ chế chứng thực chứng thư số. Thành phần cốt lõi của hệ thống PKI là các chứng thư số.
Mỗi chứng thư số có hai thành phần thông tin cơ bản là định danh và khoá công khai của đối tượng sử dụng. Các chứng thư số này do đối tượng quản lý chứng thư tạo ra và ký với phương thức chữ ký số. Trong một số hệ thống, đối tượng quản lý đăng ký được tách riêng ra khỏi CA. Đối tượng này không tạo ra các chứng thư số.
Nó có nhiệm vụ xác minh đối tượng truyền thông cho một CA, đối tượng mà CA sẽ cấp phát chứng thư số. Nghĩa là, quá trình xác thực khi một đối tượng yêu cầu một chứng thư số của CA sẽ do RA đảm nhận. PKI là một dịch vụ nền cho các dịch vụ an toàn dựa trên các chứng thư số. Trong các hệ thống này, PKI đảm nhận vai trò tạo lập, quản lý và phân phối các chứng thư số cho các đối tượng truyền thông.
Nói tóm lại, tất cả các chức năng quản lý của hệ thống PKI đều hướng tới một yêu cầu duy nhất là quản lý các đối tượng sử dụng trong hệ thống với khoá công khai của các đối tượng đó. Hiện nay ở Việt Nam, việc nghiên cứu, ứng dụng và triển khai PKI nói chung và dịch vụ cung cấp chứng thư số nói riêng là một vấn đề tương đối mới mẻ. Bằng việc sử dụng chứng thư số và chữ ký số, những ứng dụng cho phép PKI đưa ra nhiều đặc tính đảm bảo an toàn thông tin cho người dùng. Có hai mô hình cung cấp chứng thư số, một là mô hình do CA sinh cặp khóa công khai và TIEU LUAN MOI download : skknchat@gmail.com -9- khóa bí mật cho người dùng, hai là mô hình do tự người dùng sinh cặp khóa công khai và khóa bí mật cho chính mình.
Hiện nay, ở Việt Nam đang nghiên cứu và triển khai hệ thống PKI theo mô hình thứ nhất. CƠ SỞ MẬT MÃ HỌC Mật mã là một công cụ dùng để bảo mật dữ liệu nói riêng và đảm bảo an toàn thông tin hiệu quả nói chung. Mật mã dùng để ẩn dấu nội dung thông tin, củng cố tính xác thực của thông tin, tính chối bỏ trong giao dịch điện tử, kiểm tra tính toàn vẹn của dữ liệu, … Ngoài ra mật mã còn được sử dụng để thực hiện ký số (ký điện tử), đảm bảo an toàn cho thông tin liên lạc. Mật mã bao gồm hai quy trình trái ngược nhau: mã hóa và giải mã.
Hiện nay, có hai hệ mật mã cơ bản thường được sử dụng: - Hệ mật mã khóa bí mật (Secret Key Cryptography) – Khóa đối xứng - Hệ mật mã khóa công khai (Public Key Cryptography) – mã hóa phi đối xứng - Hàm băm sử dụng quá trình tính toán để mã hóa dữ liệu. Hệ mật mã khóa bí mật Trong đó quá trình mã hóa và giải mã sử dụng duy nhất một khóa làm tham số cho thuật toán mã hóa/giải mã. Để đảm bảo tính bí mật trong truyền thông thì hai bên tham gia truyền thông phải giữ kín và không để lộ thông tin về khóa bí mật cho người khác. Dưới đây là mô hình chung sử dụng mật mã khóa đối xứng để đảm bảo tính bí mật dữ liệu trong truyền thông.
Ví dụ, nếu A muốn gửi cho B một bản tin mật. Để phục vụ cho việc mã hóa, một khóa bí mật K được tạo ra. Nếu khóa được tạo bởi bên gửi thì nó cần phải được truyền cho bên nhận thông qua một kênh thông tin an toàn. Sau đó A sẽ sử dụng khóa bí mật K để mã hóa dữ liệu rồi gửi cho B.
Bên nhận sẽ sử dụng khóa K được chia sẻ từ trước qua kênh an toàn để giải mã dữ liệu được mã hóa vừa nhận được. Một số thuật toán mã hóa khóa đối xứng: DES (Data Encryption Standard), AES (Advanced Encryption Standard)… 1. Hệ mật mã khóa công khai Trong đó việc mã hóa và giải mã sử dụng hai khóa riêng biệt, khóa công khai và khóa bí mật. Hai khóa này có quan hệ về mặt toán học với nhau, nhưng từ khóa này không thể tìm ra chìa khóa kia được và ngược lại.
Khóa công khai được công bố rộng rãi, khóa riêng được giữ bí mật chỉ có người sở hữu nó được biết. Thông thường dùng khóa công khai để mã hóa và dùng khóa bí mật – khóa cá nhân để giải mã, như vậy chỉ người nào là chủ sở hữu khóa cá nhân thì mới có thể giải mã được bản tin đã mã hóa. TIEU LUAN MOI download : skknchat@gmail.com -10- Ví dụ, nếu A muốn gửi cho B một bản tin mật, trước tiên A sẽ lấy khoá công khai của B từ cơ sở dữ liệu công cộng. Sau đó A sẽ sử dụng khoá công khai của B để mã hoá bản tin, rồi gửi cho B.
Phía B sẽ sử dụng khoá riêng của mình để giải mã bản tin mã hóa. Như vậy là, chỉ B mới có thể giải được bản tin mã mà A đã tạo ra. Một số thuật toán mật mã khóa bất đối xứng được sử dụng phổ biến như RSA, Elgama, Eliptic … 1. Chữ ký số Chữ ký số dùng để “ký” lên dữ liệu cần gửi đi nhằm mục đích xác minh tính toàn vẹn của dữ liệu và nhân dạng của người ký.
Mỗi người dùng sở hữu một cặp khóa riêng/khóa công khai. Khóa bí mật dùng để tạo chữ ký số và khóa công khai dùng để xác minh chữ ký số. Khóa công khai được công bố trên cơ sở dữ liệu công cộng, tuy nhiên khóa riêng thì chỉ có người sở hữu của nó mới biết. Do vậy, bất kì ai cũng có thể xác minh chữ ký của người khác bằng khóa công khai tương ứng, nhưng việc tạo ra chữ ký đó thì chỉ người sở hữu cặp khóa này mới làm được.
Hiện nay có hai sơ đồ chữ ký số thường được sử dụng để ký số đó là sơ đồ chữ ký RSA và chuẩn chữ ký số DSA. Quy trình sử dụng chữ ký số bao gồm hai quá trình tạo chữ ký và xác minh chữ ký: - Tạo chữ ký số: Một hàm băm được dùng trong quá trình tạo chữ ký. Mục đích của nó là nén dữ liệu, biến một mẩu tin thành mẩu tin tóm lược. Sau đó áp dụng thuật toán ký số trên mẩu tin tóm lược.
Chữ ký được chuyển đến cho phía người nhận cùng với dữ liệu ký. [12] - Xác minh chữ ký số: Bên nhận sẽ sử dụng hàm băm để băm dữ liệu được ký, thu được giá trị băm 1. Bên nhận sử dụng khóa công khai của bên gửi để giải mã file chữ ký để thu được giá trị băm 2. Bên nhận sẽ so sánh hai giá trị băm, nếu như hai giá trị băm giống nhau thì chữ ký trên dữ liệu được xác thực, ngược lại thì không.
Hàm Băm Mục đích của hàm băm là nén dữ liệu, biến dữ liệu thành dữ liệu tóm lược. Sau đó, dữ liệu tóm lược này được áp dụng thuật toán sinh chữ ký. Chữ ký được chuyển đi cho phía người nhận cùng với dữ liệu đã ký. TIEU LUAN MOI download : skknchat@gmail.com -11- Với dữ liệu có độ dài bất kỳ thì giá trị băm cũng có độ dài cố định và tương đối nhỏ, thuận tiện cho việc sinh ra chữ ký.
Các bước sử dụng kết hợp hàm băm trong ký số đã được trình bày ở phần chữ ký số. Một số hàm băm thường được dùng là MD5 (cho giá trị băm dài 128 bits), SHA (cho giá trị băm dài 160 bits). HỆ THỐNG PKI 1. Mục tiêu của hệ thống PKI Hệ thống PKI cho phép những thực thể tham gia xác thực lẫn nhau và sử dụng thông tin từ các chứng thư số để mã hóa và giải mã thông tin trong quá trình trao đổi.
Thông thường hệ thống PKI bao gồm phần mềm máy chủ (server), phần mềm máy khách (client), phần cứng (smartcard), và các quy trình hoạt động liên quan. Người gửi có thể ký các văn bản điện tử với khóa bí mật của mình và người nhận có thể kiểm tra xác thực bằng khóa công khai của người gửi. PKI cho phép các giao dịch điện tử được diễn ra đảm bảo tính bí mật, toàn vẹn và xác thực lẫn nhau mà không cần phải trao đổi các thông tin mật từ trước. Mục tiêu chính của PKI là cung cấp khóa công khai và xác định mối quan hệ giữa khóa và định dạng người dùng.
Vì vậy, người dùng có thể sử dụng một số ứng dụng như: mã hóa email hoặc xác thực người gửi email, mã hóa hoặc xác thực văn bản, xác thực người dùng ứng dụng, xác thực truyền thông an toàn dùng kỹ thuật Bootstrapping (IKE, SSL) - trao đổi khóa bằng khóa phi đối xứng, còn mã hóa bằng khóa đối xứng. Một số hệ thống PKI: Hệ thống quản lý chứng thực Red Hat, Computer Associate eTrust PKI, Entrust, Microsoft, US Government External Certificate Authority (ECA), Nexus, OpenCA (mô hình PKI mã nguồn mở), RSA Security, phpki, GenCerti, Ejbca, Papyru CA Software, pyCA, IDX-PKI, ElyCA, SimpleCA, SeguriData, Safelayer Secure Communications… 1.