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

Một phần của tài liệu (LUẬN văn THẠC sĩ) 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 (Trang 54)

Các hoạt động phục hồi được thực hiện khi các đối tượng sử dụng đánh mất thông tin mà nó lưu trữ. Ví dụ, như đã nêu ở phần trên, các đối tượng sử dụng có thể có một số phương tiện lưu trữ an toàn cá nhân; khi phương tiện lưu trữ này bị hỏng thì nó cần phải nhờ đến CA để phục hồi các thông tin bị mất.

Việc phục hồi thông tin chủ yếu được tập trung vào việc phục hồi các cặp khoá. Đối với các CA và RA, việc lưu trữ thông tin backup về khoá của các đối tượng là không bắt buộc. Khi các đối tượng sử dụng cần phục hồi các cặp khoá của mình, ta cần phải có thêm một số giao thức chuyển đổi để hỗ trợ việc phục hồi khoá. Trong phạm vi đồ án, em sẽ không đề cập đến các giao thức này.

2.6 Kết chƣơng

Trong chương 2, em đã giới thiệu được Bộ công cụ kiến trúc CryptoSys PKI [7] là một bộ thư viện dạng giao diện lập trình ứng dụng cho hệ thống Windows cho phép người dùng tạo ra và đọc các thông điệp an toàn mật mã được mã hóa. Nó cung cấp độ mật mạnh sử dụng công nghệ không cấp bằng sáng chế. Đồng thời đề cập đến một số hàm được sửa đổi trong phiên bản 3.0 trở lên. Ngoài ra em cũng giới thiệu một số thuật toán hỗ trợ và không hỗ trợ trong Cryptoys PKI. Cuối cùng là để cài đặt trên một hệ thống thử nghiệm hoặc hệ thống phát triển, sử dụng chương trình setup.exe được cung cấp và phân phối.

CHƢƠNG 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

Mục tiêu chính của chương trình là: Xây dựng một hệ thống PKI đơn giản. Sau khi người dùng tiến hành thủ tục xin cấp chứng thư số thì hệ thống nếu thấy hợp lệ sẽ sinh cặp khóa công khai, khóa bí mật và phát hành chứng thư cho người dùng. Ngoài ra, để minh họa việc ứng dụng chứng thư số, Module liên lạc an toàn cũng được xây dựng, Module này cho phép 2 người dùng có thể sử dụng chứng thư số đã được phát hành để truyền tin bảo mật và đảm bảo tính xác thực.

Chứng thư số khóa công khai này phải được xác thực rằng chính do CA tin cậy tạo ra. Trong hệ thống PKI này cũng chứa danh sách chứng thư hết hạn, do đó người dùng có thể kiểm tra xem chứng thư số của mình có còn hạn sử dụng hay không. T iếp sau đó là ứng dụng chứng thư số để trao đổi thông tin an toàn sử dụng khóa công khai trong chứng thư có được để mã hóa dữ liệu gửi đi trong kênh truyền công cộng với Module liên lạc an toàn.

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

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

User yêu cầu cấp phát chứng thư thông qua một hệ thống PKI (ở đây là trung tâm CA) hệ thống này nhận yêu cầu và sinh ra chứng thư cho User. Ở đây khi User yêu cầu cấp chứng thư số thì User sẽ gửi thông tin về bản thân và khóa công khai của mình tới RA, sau đó RA gửi thông tin của user và ký yêu cầu chấp thuận đến trung tâm CA. CA tạo chứng thư khóa công khai, ký bằng khóa bí mật của CA và

lưu chứng chỉ vừa được phát hành vào Kho chứng chỉ của CA, sau đó CA gửi chứng thư trở lại RA và RA cấp chứng thư cho người sử dụng.

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

 Lựa chọn môi trường công cụ

Việc lưa chọn môi trường và công cụ phát triển sẽ trả lời câu hỏi: Hệ thống sẽ hoạt động trong điều kiện nào và ta được trang bị những gì để xây dựng hệ thống đó.

Một hệ thống PKI trong thực tế bao gồm cả con người và máy móc. Phạm vi ứng dụng và các tình huống xảy ra trong hệ thống cũng đa dạng. Tuy nhiên, trong phạm vi luận văn này, em xác định những đối tượng trong hệ thống là các user. Hệ thống PKI được triển khai và xây dựng trên nền tảng hệ điều hành Windows trên các máy PC. Mặc dù vậy, việc đảm bảo tương thích tối đa với các phiên bản sớm hơn của Windows sẽ luôn được chú trọng. Lý do của việc lựa chọn hệ điều hành này là vì chúng hỗ trợ tốt cho bộ thư viện CryptoSys PKI. Hơn nữa, đây cũng là một dòng hệ điều hành phổ biến, dễ phát triển và thử nghiệm các ứng dụng.

Ngôn ngữ được lựa chọn để xây dựng hệ thống server phân phối khoá là C# và công cụ phát triển là bộ Visual studio 2012, đây là bộ công cụ hỗ trợ rất tốt quá trình mã hoá, giải mã và đóng gói dữ liệu. Vì trong mô hình xây dựng hệ thống PKI yêu cầu rất nhiều lần quá trình mã hoá và giải mã, từ đó việc lựa chọn công cụ này là hoàn toàn phù hợp.

Một số chức năng chính: Giao diện chính

Trong hệ thống này bao gồm các chức năng chính đó là: Yêu cầu cấp phát chứng thư số, yêu cầu kiểm tra chứng thư, cập nhật chứng thư, danh sách hủy bỏ và dowload chứng thư số.

Giao diện người dùng yêu cầu cấp phát chứng thư:

Hình 3.3. Giao diện chức năng cấp phát chứng chỉ

Khi yêu cầu cấp phát chứng thư số, người yêu cầu phải cung cấp các thông tin cơ bản như: Họ tên, ngày sinh, địa chỉ, Cơ quan công tác,… cho RA. Sau đó RA sẽ xem xét, nếu thông tin của người dùng hợp lệ thì sẽ gửi lên cho CA để bắt đầu quá trình thực hiện cấp chứng thư số. Người quản trị sẽ điền thông tin của User vào sau đó kiểm tra xem thông tin đã đúng hay chưa. Nếu đúng thì tiếp tục thực hiện những việc cấp chứng thư số.

Khi tiến hành cấp chứng thư CA sinh ra cặp khoá công khai và khoá bí mật của User. CA sinh ra chứng thư số với các trường thông tin cơ bản như sau: Số serial, Người phát hành, số hiệu, tên chủ thể, ngày cấp phát, ngày hết hạn, khoá công khai của chủ thể, chữ ký của CA.Với Module mật mã, cặp khoá công khai và khoá bí mật của thuật toán RSA được sinh ra.

Chữ ký của CA được thực hiện như sau: Ban đầu dựa trên những thông tin của User, CA tính giá trị băm trên bản ghi dữ liệu gồm các trường thông tin của chứng thư số (như số serial, tên chủ thể, ngày cấp phát, ngày hết hạn, khoá công khai của chủ thể,…) (Hàm băm được sử dụng là MD5 có trong Module mật mã). Và sau đó, giá trị “băm” này được mã hoá bởi khoá bí mật của CA cho ta giá trị được gọi là chữ ký của CA.

Hình 3.4. Giao diện yêu cầu tạo chứng chỉ

Chứng thư số vừa được tạo ra sẽ được lưu vào kho chứng thư số của CA và gửi cho người dùng tương ứng.

Khi chứng thư đã được cấp, người dùng có thể xem thông tin và tải chứng thư tại trang Dowload chứng thư .

Hình 3.5. Giao diện danh sách chứng thư được cấp

Người dùng bất kỳ có thể dễ dàng kiểm tra xem một chứng thư số nào đó có hợp lệ do CA cung cấp hay không bằng cách nhập file chứng thư của mình vào, hệ thống sẽ so sánh chứng thư nhập vào với chứng thư có trong kho sau đó gửi thông báo tới người dùng.

Khi ta có một chứng thư và muốn kiểm tra chứng thư này có phải do CA cung cấp không và nó đã hết hạn chưa, chúng ta chỉ đường dẫn của chứng thư đó (nơi mà ta lưu trữ tệp chứng chỉ) và yêu cầu kiểm tra.

Với Module mật mã, tất cả các trường trong chứng thư (trừ trường chữ ký số của CA) cũng được gộp lại và tiến hành “băm” (theo giải thuật MD5). Giá trị này được so sánh với giá trị khi dùng giải thuật RSA để ký chữ ký số của CA (việc kiểm tra này dựa trên khoá công khai của CA). Khi hai giá trị này bằng nhau, tức là chương trình xuất ra một dòng thông báo “Chứng chỉ này do CA cung cấp” ngược lại xuất ra thông báo “Chứng chỉ này không phải do CA cung cấp”.

Khuôn mẫu của một chứng thư được tạo ra bởi các module mật mã với các trường:<SốHiệu>,<NgườiPhátHành>,<TênChủThể>,<Địachỉ>,<NgàyPhátHành>, <NgàyHếtHạn>, <KhoáCôngKhai>, <ChữKýCA>.

Hình 3.7. Chứng chỉ số do CA cấp

Khi chứng chỉ số hết hạn, người dùng có thể yêu cầu CA cập nhật lại chứng thư số của mình. Chứng thư số sẽ được ra hạn thêm và thay đổi cặp khóa mới. Nếu chứng thư đã được cập nhật thì hệ thống sẽ thông báo lại “Cập nhật thành công”.

CA sẽ có một danh sách các chứng chỉ bị hủy bỏ (CRLs) trong đó chứa các chứng thư bị thu hồi (vì một lý do nào đó: do hết hạn, do bị lộ khóa bí mật,…)

Hình 3.9. Giao diện kiểm tra chứng thư bị thu hồi

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

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

Ứng dụng truyền tin an toàn được xây dựng theo mô hình hoạt động như sau:

Hình 3.10. Giao diện chương trình ứng dụng truyền tin bảo mật

Với ứng dụng truyền không bảo mật, khi chạy chương trình các socket lắng nghe liên tục ở các cổng được thiết lập. Ví dụ: ở hình trên socket gửi dữ liệu qua qua người gửi và nhận dữ liệu qua bên người nhận.

Với ứng dụng truyền tin bảo mật, cũng như trong ứng dụng truyền không bảo mật, các socket cũng lắng nghe ở những cổng được thiết đặt. Nhưng với module mật mã, trước khi dữ liệu được gửi đi thì nó được mã hoá bằng giải thuật RSA với khoá công khai của người nhận (khoá này được lấy từ chứng thư số của người nhận trong kho chứng thư số của hệ thống PKI) và khi nhận thông điệp dữ liệu này được giải mã bởi giải thuật RSA với khoá bí mật của người nhận .

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

Sơ đồ hoạt động của ứng dụng xác thực người dùng sử dụng chứng thư số:

Hình 3.11. Sơ đồ hoạt động của ứng dụng xác thực và kiểm tra tính toàn vẹn sử dụng chứng thư số

Người gửi A: dùng khóa bí mật của mình để “Ký số” (mã hóa) lên một mẫu tin (thông điệp) (hoặc giá trị băm của thông điệp) bằng khóa công khai của mình và gửi cho người nhận B.

Người nhận B: Sau khi nhận được mẫu tin và chữ ký của người gửi A. Đầu tiên sẽ yêu cầu chứng thư số của người gửi từ kho chứa chứng thư, kiểm tra chứng thư số, nếu hợp lệ thì tính giá trị băm của mẫu tin nhận được với cùng thuật toán băm mà người gửi sử dụng, lấy khóa công khai của người gửi A từ chứng thư số vừa kiểm tra tính hợp lệ để kiểm tra chữ ký bằng cách giải mã giá trị chữ ký lên bản

băm nhận được từ A và so sánh với giá trị băm vừa tính được từ mẫu tin nhận được. Nếu bằng nhau thì có thể tin rằng thông điệp là đúng của người gửi A và thông điệp cũng không bị sửa đổi.

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

Mục tiêu chính của chương trình là: Xây dựng một hệ thống PKI đơn giản. Sau khi người dùng tiến hành thủ tục xin cấp chứng thư số thì hệ thống nếu thấy hợp lệ sẽ sinh cặp khóa công khai, khóa bí mật và phát hành chứng thư cho người dùng. Ngoài ra, để minh họa việc ứng dụng chứng thư số, Module liên lạc an toàn cũng được xây dựng, Module này cho phép 2 người dùng có thể sử dụng chứng thư số đã được phát hành để truyền tin bảo mật và đảm bảo tính xác thực.

Xây dựng chương trình tạo hệ thống PKI cấp phát chứng thư số tương đối thuận lợi dựa chủ yếu vào các hàm các thuật toán hỗ trợ trong thư viện Cryptosys PKI.

Việc cài đặt nhằm mục đích cấp phát chứng thư số khoá công khai an toàn đến người sử dụng cũng như là việc xác thực các chứng thư tránh giả mạo đạt hiệu quả.

Chương trình truyền tin được bảo mật, ứng dụng chứng thư số truyền các mẫu tin ngắn thể hiện quá trình truyền thông an toàn giữa các user trong hệ thống sử chứng thư số .

Những hạn chế của chƣơng trình:

 Về mặt đưa vào ứng dụng trong thực thế: Phải thiết lập khá nhiều những tham số làm bất tiện cho người sử dụng. Ví dụ: Chương trình truyền tin phải thiết lập các cổng nhân và cổng gửi cũng như IP của máy cần truyền thông điệp.

Về mặt kỹ thuật: Tạo các trường trong chứng thư là chỉ mới là những trường cơ bản nhất của một chứng thư số, chưa tạo ra được một chứng thư số thực sự áp dụng vào những ứng dụng khác. Hệ thống PKI được xây dựng mới chỉ có một số chức năng cơ bản như: Cấp phát/hủy bỏ, kiểm tra chứng thư

KẾT LUẬN Những công việc đã thực hiện:

 Trình bày cơ sở lý thuyết về mật mã hóa thông tin:

Trình bày những khái niệm, thuật toán mật mã được sử dụng trong quá trình làm chương trình.

Vấn đề về hệ thống PKI: Trình bày những thành phần chính của một hệ thống PKI. Các dịch vụ của PKI bao gồm xác thực , toàn vẹn và bảo mật. Các kiến trúc của một trung tâm chứng thực CA. Các hoạt động chính trong hệ thống PKI để cấp phát hay hủy bỏ chứng thư số.

Các tiêu chuẩn PKCS, X.509: Trình bày các tiêu chuẩn quốc tế về khoá công khai và chứng chỉ số được sử dụng để đảm bảo tính an toàn trong quá trình xây dựng trương trình.

Tìm hiểu về bộ thư viện Crptosys PKI : Các thuật toán hỗ trợ sử dụng trong chương trình như mật mã đối xứng, mật mã công khai, hàm băm,… các hàm như RSA, mã hóa 3DES, sinh số ngẫu nhiên,…

 Xây dựng chương trình

Tạo 1 website mô phỏng hệ thống PKI cấp phát chứng thư số: dựa chủ yếu vào các hàm các thuật toán hỗ trợ trong thư viện Cryptosys PKI được cài đặt nhằm mục đích cấp phát chứng thư số khoá công khai an toàn đến người sử dụng cũng như là việc xác thực các chứng thư tránh giả mạo.

Chương trình truyền tin bảo mật ứng dụng chứng thư số: Một ứng dụng truyền các mẫu tin ngắn thể hiện quá trình truyền thông an toàn giữa các user trong hệ thống sử chứng thư số .

Những hạn chế của chƣơng trình:

 Về mặt đưa vào ứng dụng trong thực thế: Phải thiết lập khá nhiều những tham số làm bất tiện cho người sử dụng. Ví dụ: Chương trình truyền tin phải thiết lập các cổng nhận và cổng gửi cũng như IP của máy cần truyền thông điệp.

cơ bản nhất của một chứng thư số, chưa tạo ra được một chứng thư số thực sự áp dụng vào những ứng dụng khác. Hệ thống PKI được xây dựng mới chỉ có một số chức năng cơ bản như: cấp phát/hủy bỏ, kiểm tra chứng thư

Hƣớng phát triển của chƣơng trình

 Hoàn thiện giao diện hệ thống Web cấp phát chứng thư, tiếp tục xây dựng một số chức năng cho phù hợp với một CA theo chuẩnthông dụng trong thực tế.

Xây dựng chương trình xuất ra các Certificate để phục vụ cho các ứng dụng

như: HTTPS hay VPN, mail … và nhiều lĩnh vực khác.

 Mở rộng CA nhằm mục đích liên kết với những hệ thống CA khác.

Tài liệu tham khảo

Tiếng Việt:

[1]. Nguyễn Bình, Hoàng Thu Phương – Cơ sở lý thuyết mật mã ,Giáo trình/ Học viện kỹ thuật Mật Mã, Hà Nội,2006.

[2]. Lê Mỹ Tú, Trần Duy Lai - Chứng thực điện tử, Giáo trình/Học viện kỹ thuật Mật Mã, Hà Nội, 2006.

[3]. Lê Quang Tùng - Tổng quan về hệ thống chứng thực điện tử PKI Trung tâm chứng thực điện tử, 2011

Tiếng Anh:

[4]. Suranjan Choudhu - PKI Implementation And Design, tháng 3,năm 2002

[5]. YongLee, JeailLee, JooSeokSong - Design and implementation of wireless PKI technology suitable, 2007

[6]. MS Press Windows Server 2010 PKI and Certificate Security www.cryptosys.net/pki

PHỤ LỤC. CHƢƠNG TRÌNH MÔ PHỎNG HỆ THỐNG PKI

Một phần của tài liệu (LUẬN văn THẠC sĩ) 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 (Trang 54)

Tải bản đầy đủ (PDF)

(69 trang)