Hạ tầng khóa công khai (PKI)

Một phần của tài liệu Nghiên cứu chữ ký số trong ứng dụng quản lý tài liệu lưu trữ quốc gia (Trang 38)

2.4.1. Giới thiệu PKI

Một PKI (Public Key Infrastructure) cho phép người sử dụng của một mạng công cộng không bảo mật, chẳng hạn như Internet, có thể trao đổi dữ liệu và tiền một cách an toàn thông qua việc sử dụng một cặp mã khóa công khai và khóa cá nhân được cấp phát và sử dụng thông qua một nhà cung cấp chứng thực được tín nhiệm. Nền tảng khóa công khai cung cấp một chứng thư số, dùng để xác minh một cá nhân hoặc một tổ chức, và các dịch vụ danh mục có thể lưu trữ và khi cần có thể thu hồi các chứng thư số. Mặc dù các thành phần cơ bản của PKI đều được phổ biến, nhưng một số nhà cung cấp đang muốn đưa ra một chuẩn PKI riêng khác biệt. Một tiêu chuẩn chung về PKI trên Internet cũng đang trong quá trình xây dựng.

2.4.2. Chức năng của PKI

PKI cho phép những người tham gia xác thực lẫn nhau. Mục tiêu chính của PKI là cung cấp khóa công khai và xác định mối liên hệ giữa khóa và định dạng người dùng. Nhờ vậy người dùng có thể sử dụng trong một số ứng dụng như:

- Xác thực người dùng ứng dụng;

- Mã hóa, giải mã văn bản;

- Mã hóa Email hoặc xác thực người gửi Email;

- Tạo chữ ký số trên văn bản điện tử; 2.4.3. Các thành phần của PKI

- Cơ quan chứng thực Certificate Authority (CA): là một bên thứ 3 được tin cậy có trách nhiệm tạo, quản lý, phân phối, lưu trữ và thu hồi các chứng thư số. CA sẽ nhận các yêu cầu cấp chứng thư số và chỉ cấp cho những ai đã xác minh được nhận dạng của họ.

- Registration Authority (RA): đóng vai trò trung gian giữa CA và người dùng. Khi người dùng cần chứng thư số mới, họ gửi yêu cầu tới RA và RA sẽ xác nhận tất cả các thông tin nhận dạng cần thiết trước khi chuyển tiếp yêu cầu đó tới CA để CA thực hiện tạo và ký số lên chứng chỉ rồi gửi về cho RA hoặc gửi trực tiếp cho người dùng.

- Certificate Repository và Archive: có 2 kho chứa quan trọng trong kiến trúc của PKI. Đầu tiên là kho công khai lưu trữ và phân phối các chứng chỉ và CRL (chứa danh sách các chứng chỉ không còn hiệu lực). Cái thứ 2 là một cơ sở dữ liệu được CA dùng để sao lưu các khóa hiện đang sử dụng và lưu trữ các khóa hết hạn, kho này cần được bảo vệ an toàn như chính CA.

- Security Server: là một máy chủ cung cấp các dịch vụ quản lý tập trung tất cả các tài khoản người dùng, các chính sách bảo mật chứng thư số, các mối quan hệ tin cậy (trusted relationship) giữa các CA trong PKI, lập báo cáo và nhiều dịch vụ khác.

- PKI-enabled applications và PKI users: bao gồm các người dùng sử dụng các dịch vụ của PKI và các phần mềm có hỗ trợ cài đặt và sử dụng các chứng thư số như các trình duyệt web, các ứng dụng email chạy phía máy khách. 2.4.4. Mô hình hoạt động của PKI

Bảng 2.8: Mô hình PKI 2.4.4.1. Đăng ký và phát hành chứng thư số 2.4.4.1. Đăng ký và phát hành chứng thư số

Bảng 2.9: Quy trình đăng ký chứng thư số Các bước thực hiện đăng ký chứng thư số: Các bước thực hiện đăng ký chứng thư số:

- User gửi thông tin về bản thân tới RA để đăng ký. Thông tin này có thể là họ tên, số chứng minh thư, email, địa thư v.v..

- RA ký yêu cầu được chấp thuận và gửi thông tin về User đến trung tâm CA.

- CA tạo chứng thư trên khóa công khai, ký bằng khóa bí mật của CA và cập nhật chứng thư trên cơ sở dữ liệu LDAP, MySQL v.v..

- CA gửi chứng thư trở lại RA.

- RA cấp chứng thư cho người sử dụng. 2.4.5. Các chức năng cơ bản của PKI

2.4.5.1. Chứng thực

Chứng thực là chức năng quan trọng nhất của hệ thống PKI. Đây là quá trình ràng buộc khóa công khai với định danh của thực thể. CA là thực thể PKI thực hiện chức năng chứng thực.

2.4.5.2. Thẩm tra

Quá trình xác dịnh liệu chứng chỉ đã đưa ra có thể đuợc sử dụng đúng mục đích thích

hợp hay không được xem như là quá trình kiểm tra tính hiệu lực của chứng chỉ. 2.4.5.3. Một số chức năng khác

Hệ thống PKI thực hiện chức năng chứng thực, thẩm tra cùng với một số chức năng phụ trợ khác. Dưới đây là một số chức năng và dịch vụ được hầu hết các hệ thống PKI cung cấp. Một số những chức năng khác có thể được định nghĩa tuỳ theo yêu cầu cụ thể của các hệ thống PKI.

- Đăng ký.

- Khởi tạo ban đầu.

- Khôi phục cặp khóa.

- Tạo khóa.

- Hạn sử dụng và cập nhật khóa.

- Xâm hại khóa.

- Thu hồi.

- Công bố và gửi thông báo thu hồi chứng chỉ.

- Xác thực chéo. 2.4.6. Các mô hình của PKI

Một số mô hình tin cậy có thể được áp dụng hoặc được đề xuất sử dụng trong hạ tầng mã hóa công khai –PKI dựa trên x.509:

- Single CA Model (mô hình CA đơn)

- Hierarchical Model (Mô hình phân cấp)

- Mesh Model (Mô hình mắt lưới- xác thực chéo)

- Web Model (Trust List) (Mô hình web)

- Hub and Spoke (Birdge CA) (Mô hình cầu CA)

2.5. Chứng thƣ số

2.5.1. Giới thiệu chứng thư số

Chứng thư số là một văn bản điện tử kết hợp một chữ ký số để ràng buộc khóa công khai với đối tượng chủ khóa (cá nhân, một công ty, một máy chủ…). Chứng thư số tồn tại dưới dạng tập tin để có thể dễ dàng truyền qua môi trường mạng. Chứng thư số được sử dụng giống như một Chứng minh nhân dân truyền trên mạng, cho phép người sử dụng chứng minh mình là ai khi tham gia các giao dịch điện tử.

Chứng thư số do một bên thứ ba đáng tin cậy là CA phát hành sau khi kiểm tra tính xác thực của thông tin người chủ khóa. CA áp dụng chữ ký số của mình vào các chứng chỉ do bản thân phát hành vì vậy các bên tham gia giao dịch nếu tin tưởng vào CA thì có thể tin tưởng vào các chứng thư số. 2.5.2. Các thành phần chính trong chứng thư:

- Serial Number -> Mã số duy nhất được cấp

- Thông tin cá nhân của người được cấp.

- Chữ ký số của CA cấp chứng thư.

- Thời hạn sử dụng.

- Các thông tin mở rộng khác. 2.5.3. Ứng dụng chứng thư số

-Xác thực: đảm bảo cho một người dùng rằng một thực thể nào đó đúng là đối tượng mà họ đang cần khẳng định. Có thể là xác minh thực thể hoặc xác minh nguồn gốc dữ liệu

- Bí mật: đảm bảo bí mật của dữ liệu. Không ai có thể đọc dữ liệu ngoại trừ những thực thể được phép. Tính bí mật được yêu cầu khi dữ liệu được lưu trữ trên các thiết bị như ổ đĩa, usb hay được truyền trên các mạng không được bảo vệ hoặc mức độ an toàn thấp.

-Toàn vẹn dữ liệu: đảm bảo dữ liệu không bị thay đổi, nếu có thay đổi thì sẽ bị phát hiện. Để đảm bảo tính toàn vẹn, một hệ thống phải có khả năng phát hiện những thay đổi dữ liệu trái phép với mục đích là giúp cho người nhận dữ liệu xác minh được rằng dữ liệu của mình có bị thay đổi hay không.

2.6. File định dạng PDF và chữ ký số

PDF được viết tắt từ tên tiếng anh Portable Docunment Format là một định dạng file văn bản phổ biến của hãng Adobe Systems. Cũng giống như các file văn bản phổ biến như file Word, PDF hỗ trợ chứa các văn bản text, hình ảnh ... Với tính năng bảo mật khá cao nên PDF hiện đang một trong những file văn bản được sử dụng khá nhiều để lưu trữ các dữ liệu quan trọng trên thế giới. Một số đặc điểm của file PDF

- File PDF thường có kích thước khá nhỏ nên dễ dàng chia sẻ qua internet. - File PDF được hỗ trợ mã hóa cho nên tính bảo mật rất cao.

- PDF được xem và trình bày trên bất kỳ thiết bị bao gồm: máy tính, laptop, các thiết bị di động, smartphone ...

- Tạo file và chuyển đổi sang các file văn bản khác dễ dàng. - Hỗ trợ nhúng chữ ký số trong file.

Hiện nay trên thế giới cũng như Việt Nam chủ yếu dúng ký số trên file PDF

Kết luận chƣơng 2

Trong chương đã trình bày các kiến thức cơ sở về lý thuyết liên quan như các hệ mật mã, hạ tầng khoá công khai, hàm Băm, chữ ký số, chữ ký số RSA. Phần giữa và kết chương sẽ đi sâu tìm hiểu, nghiên cứu ứng dụng chữ ký số

RSA hạ tầng khóa công khai. Kết chương là giới thiệu file định dạng PDF và chữ ký số.

3. Chƣơng 3: Xây dựng ứng dụng ký số cho tài liệu lƣu trữ quốc gia 3.1. Xây dựng yêu cầu của ứng dụng chữ ký số cho tài liệu lƣu trữ quốc

gia

3.1.1. Xây dựng bài toán chuyển tài liệu từ file định dạng JPEG sang định dạng PDF

Tài liệu tại các Trung tâm Lưu trữ quốc gia chủ yếu trữ được lưu trữ dưới dạng file ảnh kiểu JPEG, đây là đinh dạng phổ biến khi lưu tài liệu ảnh trên thế giới, nguyên do trước đây các máy quét tài liệu hầu hết không hỗ trợ file định dạng PDF nên khi số hóa tài liệu các Trung tâm Lưu trữ quôc gia đều lưu file dưới định dạng PDF. Tuy nhiên đối với tài liệu lưu trữ khi quản lý và khai thác sử dụng tài liệu ảnh JPEG có rất nhiều bât lợi hơn so với file định dạng PDF

- Trung tâm Lưu trữ quốc gia phải quản lý số lượng lớn file tài liệu vì mỗi file ảnh JPEG chỉ chứa 01 trang tài liệu, mỗi hồ sơ tài liệu có rất nhiều file ảnh trong khi đó tài liệu định dạng PDF có thề chứa rất nhiều trang tài liệu bên trong giúp việc quản lý file đơn giản và dễ dàng hơn. Hiện nay các Trung tâm lưu trữ quôc gia có trên 12 triệu file tài liệu JPEG, nếu chuyển về định dạng PDF số lượng file tài liệu còn dưới 1 triệu file giúp cho việc quản lý tài liệu dễ dàng hơn nhiều.

- Đối với độc giả khi khai thác file tài liệu dạng JPEG có những hồ sơ có trên 500 trang tài liệu, việc đọc toàn bộ 500 file làm tốn rất nhiều thời gian, công sức của độc giả, trong khi đó nếu chuyển sang định dạng PDF khi đó chỉ có 01 file tài liệu giúp đọc giả tra cứu dễ dàng hơn.

- File tài liệu dạng JPEG không hỗ trợ trong việc nhúng chữ ký số vào trong file, muốn ký số file thì phải lưu thông tin sang một file mới, gây bất tiện cho độc giả khai thác tài liệu cũng như nhà quản lý, Trong khi đó file định dạng PDF có hỗ trợ nhúng chữ ký số vào trong file giúp cho nhà quản lý và độc giả có thể kiểm tra tính xác thực của tài liệu mọi lúc, mọi nơi.

- Hiện nay Cục văn thư và Lưu trữ nhà nước đang chuẩn bị hội thảo xin ý kiến chuyên gia đầu ngành trong lĩnh vực công nghệ thông tin cũng như trong lĩnh vực lưu trữ trong việc lưu trữ tài liệu số hóa theo định dạng PDF thay cho định dạng JPG.

Với những lý do trên tác giả đã đề xuất giải chuyển đổi toàn bộ tài liệu JPEG sang định dạng PDF và tiếp sau đó ký số trên file tài liệu định dạng PDF đó.

3.2. Lựa chọn hàm băm đại diện và chữ ký số cho tài liệu lƣu trữ

Sau khi nghiên cứu Thông tư số 06/2015/TT-BTTTT ngày 23 tháng 3 năm 2015 của Bộ Thông tin Truyền thông ngày Quy định Danh mục tiêu chuẩn bắt buộc áp dụng về chữ ký số và dịch vụ chứng thực chữ ký số. Do vậy tác giả lựa chọn thuật toán ký số RSA và hàm băm SHA-256 để ký số cho tài liệu lưu trữ tại các Trung tâm Lưu trữ quốc gia.

3.3. Xây dựng ứng dụng và ký số tài liệu

3.3.1. Quá trình ký số file tài liệu

Trước tiên ứng dụng sẽ chuyển file định dạng JPEG sang file PDF sau đó sẽ sử dụng thuật toán hàm băm SHA-256 để băm dữ liệu ra thành 256 bit (gọi là bản tóm lược). Sau đó sử dụng thuật toán RSA và khóa bí mật của người gửi để ký số lên file dữ liệu thành file chữ ký sau đó lưu thông tin vào file PDF.

Hình 3.1: Mô hình ký số tài liệu lưu trữ 3.3.2. Quá trình mã hóa

Người dùng không muốn để lộ thông tin trong file tài liệu nên mã hóa file tài liệu. Từ file JPEG chuyển đổi sang file PDF sau đó, sử dụng thuật toán mã hóa RSA và lấy khóa công khai để mã hóa tạo ra file dữ liệu mã hóa.

File định dạng JPEG Hàm Băm SHA-256 Bản tóm lược Ký số RSA Khóa bí mật(lấy từ USB Token) Lưu chữ ký vào file PDF Chuyển đổi sang

Bảng 3.1: Mô hình mã hóa file

Sau khi mã hóa người dùng đã có 1 file PDF đã được mã hóa 3.3.3. Quá trình giải mã:

Sau khi người nhận thực hiện việc nhận các tệp dữ liệu. Lúc này, sẽ có quá trình kiểm tra: kiểm tra file có đúng người nhận hay không? kiểm tra tính toàn vẹn của dữ liệu? Để thực hiện được các quá trình kiểm tra này phải thực hiện các công việc sau:

Bên nhận phải giải mã file dữ liệu mã hóa.

Hình 3.3: Mô hình giải mã

- Sử dụng thuật toán RSA để giải mã file dữ liệu bằng khóa bí mật; - Nếu giải mã không thành công có nghĩa file đó đã bị thay đổi dữ liệu. - Nếu giải mã thành công khi đó người dùng có nghĩa là file đó vẹn toàn

dữ liệu.

File PDF

Mã hóa RSA

File PDF đã được mã hóa Lấy khóa công khai

để mã hóa File JPEG File PDF đã được mã hóa Giải mã RSA Khóa bí mật Để giải mã File DPF không mã hóa

3.3.4. Quá trình xác thực

Xác thực chữ ký, khi xác thực chữ ký sẽ sử dụng lấy khóa công khai, từ đó xác định chữ ký đúng hay sai, dữ liệu cũng được băm trước bằng cùng một thuật toán với lúc ký.

Bảng 3.2: Mô hình xác thực

- Từ file PDF người dùng khóa công khai của người gửi, sử dụng thuật toán băm SHA 1 và thuật toán RSA để xác thực.

- Kiểm tra Bản tóm lược 1 và Bản tóm lược 2 có giống nhau hay không? Nếu giống nhau thì file nhận được là vẹn toàn (không bị thay đổi hay tác động), nếu không giống nhau là file đã bị thay đổi.

3.3.5. Yêu cầu của ứng dụng xây dựng

- Chức năng chuyển đổi toàn bộ file tài liệu đinh dạng JPEG sang file tài liệu định dạng PDF trong thư mục đã được chọn;

- Chức năng tự động ký số toàn bộ tài liệu trong thư mục đã được chọn;

- Có thể đưa hình ảnh chữ ký số vào trang PDF;

- Chức năng mã hóa dữ liệu;

- Chức năng xác thực tài liệu.

Phần mềm này có sử dụng 2 thư viện mã nguồn mở ItextSharp

PdfSharp

Không Bản tóm lược 1

Bản tóm lược 1

File dữ liệu toàn vẹn File dữ liệu bị thay đổi Có giống File PDF đã ký Giải mã RSA Khóa công khai

để Giải mã

Lấy chữ ký số trong File

Trich rút dữ liệu

3.3.5.1. Module tự động chuyển file tài liệu từ nhiều file JPG sang file PDF

- Module này có chức năng tìm kiếm tất cả các file JPEG trong thư mục đã chọn sau đó sẽ tự động tạo một file PDF và đưa file JPEG trong cùng thư mục vào file PDF, Thư mục mới có tên của thư mục cũ và thêm từ “_PDF” và lưu vào đó. Các bước thực hiện

- Bước 1: Chọn thư mục file JPEG cần chuyển đổi

- Bước 2: Chon thư mục lưu file PDF;

- Bước 3: Bấm nút Chuyển sang PDF khi đó ứng dụng sẽ đọc tất cả các file

Một phần của tài liệu Nghiên cứu chữ ký số trong ứng dụng quản lý tài liệu lưu trữ quốc gia (Trang 38)