Tìm hiểu về môi trường hệ lõi OpenCA

Một phần của tài liệu Do an TN - Bui Van Hanh - TTM K50 pdf (Trang 39 - 84)

2.3.1 Giới thiệu chung về OpenCA

OpenCA là một hệ thống mã nguồn mở, mã nguồn của nó được cung cấp rộng rãi trên mạng internet, được phát triển bởi nhiều nhà lập trình trên toàn thế giới, có tiềm năng to lớn nhằm ứng dụng vào các dự án bảo mật từ mức độ thấp như mã hóa dữ liệu, chữ kí số cho đến việc xây dựng hệ thống nhận dạng và mã hóa dữ liệu cao cấp mà lõi của nó là OpenCA.

PKI là một trong những hạ tầng bảo mật được xây dựng cho tương lai. Vấn đề ở đây là hầu hết các ứng dụng đều có thể được bảo mật với chứng thư số và khóa nhưng cho tới thời điểm hiện nay, việc xây dựng các PKI là khá khó khăn và tốn kém thậm chí cả trên môi trường mã nguồn mở như Unix. OpenCA được xây dựng để đáp ứng cho nhu cầu này, mọi người dễ dàng có một hạ tầng cơ sở để từ đó phát triển PKI như mọi người mong muốn, OpenCA được xây dựng với các ứng dụng lõi nền tảng và cơ bản nhất, đáp ứng những nhu cầu cơ bản nhất cho một hệ PKI, phần còn lại là do người xây dựng hệ thống phát triển tùy theo yêu cầu cụ thể của hệ thống.

2.3.2 Các thành phần của OpenCA

OpenCA bao gồm 3 thành phần chính:[7]

+ Giao diện web xây dựng bằng ngôn ngữ Perl.

+ Thư viện OpenSSL nằm phía sau thực hiện các tác vụ mã hóa. + Cơ sở dữ liệu để lưu trữ.

OpenCA được thiết kế cho một hạ tầng phân tán. Nó không chỉ có khả năng quản lý một CA offline, một RA online mà còn có thể sử dụng nó để xây dựng một hệ thống đa cấp với ít nhất là 3 levels.

Open CA không chỉ đủ khả năng phục vụ cho các hệ thống vừa và nhỏ như các nhà máy hay doanh nghiệp mà nó còn có thể đáp ứng nhu cầu cho một tổ chứ lớn như cá trường đại học, các viện nghiên cứu hay công ty đa quốc gia.

Trong chương tiếp theo chúng ta sẽ tìm hiểu cụ thể về mô hình hệ thống BioPKI được xây dựng trên cơ sở môi trường hệ lõi OpenCA như thế nào ?

CHƯƠNG BA :

GIỚI THIỆU VỀ HỆ THỐNG BioPKI CỦA ĐỀ TÀI KC01.11/06-10

3.1 Sơ đồ mức khung cảnh hệ thống BioPKI

Trong khuôn khổ đề tài KHCN cấp nhà nước KC.01.11/06-10, giải pháp hệ thống BioPKI đã được nghiên cứu và thiết kế xây dựng thử nghiệm. Theo đó, hệ thống BioPKI được xây dựng trên nền tảng mã nguồn mở OpenCA chạy trên nền hệ điều hành Linux. OpenCA cung cấp các thành phần cần thiết để triển khai một hệ PKI trong đó sử dụng nhiều tiêu chuẩn công nghiệp như các chuẩn PKCS (Public Key Cryptography Standard), chuẩn X.509 để lưu trữ chứng thư …

Mặc dù OpenCA được xây dựng trên nền Web-based, hệ thống BioPKI được xây dựng trên công nghệ Application-based trên nền tảng hệ điều hành Windows. Sở dĩ có điều này, thứ nhất, là do yêu cầu của hệ thống tích hợp với module sinh trắc học. Module này đòi hỏi tích hợp các hệ nhúng, điều mà môi trường Web-based gặp trở ngại lớn khi thực hiện. Thứ hai, các quá trình mã hóa, giải mã mà hệ thống cần có đòi hỏi độ phức tạp lớn mà môi trường Web-based chưa thể thực hiện được. Bên cạnh đó, việc OpenCA là một phần mềm mã nguồn mở chưa hoàn chỉnh cũng khiến cho việc lựa chọn môi trường Web-based để phát triển hệ thống lõi là không phù hợp.

Do đó, hệ BioPKI chỉ sử dụng thành phần CA của OpenCA mà không sử dụng các thành phần khác như RA, Pub, Node hay cơ sở dữ liệu LDAP. Để thay thế các thành phần này, các thành phần khác đã được xây dựng trong hệ, bao gồm: CA Operator, RA và các LRA.

Dựa theo những phân tích ở trên, mô hình giải pháp hệ thống BioPKI của đề tài KHCN cấp nhà nước KC01.11/06-10 được thể hiện như trong hình (3.1).

Hình 3-17: Sơ đồ mức khung cảnh hệ thống BioPKI

Kiến trúc PKI được chọn để áp dụng vào thiết kế hệ thống BioPKI là kiến trúc CA đơn, bao gồm:

- CA: Máy chủ Linux chứa OpenCA, hệ điều hành Fedora 6.

- CA Operator: ứng dụng chạy trên máy cài hệ điều hành windows, có khả năng kết nối LAN đến máy chủ chứa CA để thao tác với CA và CSDL của CA. CA Operator được tích hợp module đọc ghi vào thiết bị nhúng và các module mã hóa sinh trắc.

- Hai thành phần trên chỉ nối LAN với nhau mà không kết nối với mạng bên ngoài để tránh bị các tấn công từ bên ngoài mạng, đảm bảo an toàn cho hệ thống.

- RA: Ứng dụng chạy trên máy cài hệ điều hành Windows, nơi quản lý tập trung các user, request, cho phép thuê bao truy xuất để xác thực chứng thư hoặc xem chứng thư. Giao tiếp online với LRA, offline với CA Operator. Ra quyết định về cấp, hủy chứng thư và đóng vai trò trung gian giữa LRA và CA Operator. RA phải có 2 module giao tiếp với LRA

và user application riêng để đáp ứng các yêu cầu khác nhau từ 2 ứng dụng này. Trong giai đoạn ban đầu chỉ cài đặt một RA.

- LRA: Ứng dụng chạy trên máy cài hệ điều hành Windows, nơi trực tiếp giao tiếp với người dùng, thu nhận các yêu cầu và các mẫu sinh trắc, vì vậy cần xây dựng module thu nhận mẫu sinh trắc cho khối này. Giao tiếp online với RA và có thể có nhiều LRA.

- User applications: Các ứng dụng người dùng: chữ kí số, mã hóa thông điệp…, nơi các thuê bao sử dụng thẻ của mình để tiến hành các giao dịch trong hệ thống như các giao dịch xác thực, mã hóa…

3.2 Chức năng của các thành phần trong hệ thống BioPKI3.2.1 Hệ thống con CA 3.2.1 Hệ thống con CA

Hệ thống con CA bao gồm 2 bộ phận:[10]

OpenCA

OpenCA là khối chức năng của hệ lõi OpenCA được cài đặt trên máy chủ nền tảng Linux. Các chức năng chính của OpenCA bao gồm :

- Quản lý yêu cầu, quản lý và phát hành chứng thư số.

- Cung cấp một giao diện web cho phép người điều hành CA quản trị được các yêu cầu, từ đó phát hành chứng thư số.

CA Operator

CA Operator là ứng dụng xây dựng trên nền tảng Windows được cài đặt trên một máy trạm tác nghiệp (offline) tại trung tâm phát hành chứng thư số. Các chức năng chính của CA Operator bao gồm:

- Là công cụ quản trị của người điều hành CA.

- Cung cấp ứng dụng cho phép người điều hành CA nhập thông tin yêu cầu vào cơ sở dữ liệu của OpenCA.

- Cung cấp ứng dụng để đưa vào thiết bị nhúng các thông tin sau chứng thư số, khóa riêng, đặc trưng sinh trắc của người đăng ký.

Hình 3-18: Biểu đồ phân rã chức năng của CAOperator

Giao dịch với RA:

 Cấp chứng thư số mới: Nhận request từ RA, cấp chứng thư, ghi chứng thư và thẻ rồi trả lại cho RA

 Hủy chứng thư số: Nhận yêu cầu từ RA, đánh dấu hủy và cập nhật vào CSDL, trả lời lại cho RA

Giao tiếp với CA:

 Cấp mới chứng thư số: submit request lên CA, thông qua giao diện web của OpenCA issue chứng thư, lấy chứng thư từ CSDL của CA, ghi ra file và trả lại cho RA

 Hủy chứng thư số: Cập nhật vào CSDL hủy bỏ chứng thư số nào đó  Cấp lại chứng thư số: trước tiên là hủy chứng thư cũ, rồi cấp lại một

chứng thư mới

Ghi Token:

 Nhận đặc trưng sinh trắc của người dùng do RA gửi lên, mã hóa với khóa cá nhân rồi ghi ra thiết bị nhúng (Token), trả token cùng với chứng thư cho RA

3.2.2 Hệ thống con RA (Registration Authority)

RA là một hệ thống con xây dựng trên nền tảng Windows được cài đặt trên các máy chủ tác nghiệp đặt tại trung tâm đăng ký.

RA bao gồm 2 bộ phận: bộ phận phát hành chứng thư số và bộ phận cung cấp các dịch vụ cho phép người dùng sử dụng chứng thư số đối với các ứng dụng cụ thể. [10]

Bộ phận dịch vụ thẻ: Cung cấp các dịch vụ về thẻ

- Phát hành thẻ (cũng là phát hành chứng thư số) - Xử lý mất thẻ (hủy chứng thư số theo yêu cầu) - Cấp mới thẻ (cấp mới chứng thư số).

Bộ phận dịch vụ chứng thư số :

- Cung cấp các dịch vụ để sử dụng chứng thư số tương ứng với từng ứng dụng cụ thể như chữ ký số, mã hóa thông điệp…

- Dịch vụ xác thực chứng thư số: kiểm tra thông tin, tính hợp lệ của chứng thư số.

- Dịch vụ cung cấp chứng thư số theo serial number…

Ngoài ra RA cũng đảm nhận nhiệm vụ quản lý người dùng và các thông tin kèm theo (thiết bị nhúng, chứng thư số…)

Hình 3-19: Biểu đồ phân rã chức năng của RA

Giao tiếp với LRA:

 Cấp chứng thư số mới: Nhận thông tin đăng kí xin cấp chứng thư số mới do LRA gửi lên, trả thẻ lại cho LRA để phát cho người dùng

 Hủy chứng thư số: Nhận yêu cầu hủy chứng thư số của một user từ LRA, kiểm tra thông tin user, chứng thư, token có đúng hay không, đánh dấu hủy chứng thư trong CSDL, trả lời lại cho LRA để thông báo kết quả đến người dùng

Giao tiếp với CA Operator:

 Cấp chứng thư số mới: gửi thông tin xin cấp chứng thư lên cho CA Operator, nhận thẻ và chứng thư để trả lại cho LRA

 Hủy chứng thư số: tạo yêu cầu hủy chứng thư số, gửi lên cho CA Operator và nhận lại kết quả hủy từ CA Operator

 Cấp lại chứng thư số: bao gồm 2 thao tác hủy chứng thư cũ, cấp lại chứng thư mới

Setup:

 Kết nối với LRA: kết nối, send test message để chứng tỏ thông với LRA  Kết nối với CA Operator: offline, cần kí lên các thông tin gửi cho CA

Operator và xác thực các thông tin nhận được từ CA Operator

 Kết nối với ứng dụng: Mở cổng cho các ứng dụng truy cập và sử dụng các dịch vụ chứng thư số

Cung cấp dịch vụ sử dụng chứng thư số:

 Xác thực chứng thư số: Kiểm tra xem chứng thư đó có đúng của hệ thống và còn hiệu lực hay không

 Download chứng thư số: cho phép các ứng dụng download các chứng thư số của người dùng để thực hiện giao dịch điện tử

3.2.3 Hệ thống con LRA (Local Registration Authority)

LRA là một hệ thống con xây dựng trên nền tảng Windows được cài đặt trên các máy trạm tác nghiệp đặt tại chi nhánh đăng ký chứng thư số. LRA là nơi giao tiếp trực tiếp với người dùng các vấn đề về thẻ :[10]

- Phát hành thẻ (chứng thư số) mới: nơi tiếp nhận yêu cầu, mẫu sinh trắc, đồng thời là nơi trả thẻ cho khách hàng.

- Xử lý mất thẻ (chứng thư số): nơi khách hàng đến để yêu cầu hủy chứng thư số trong trường hợp mất thẻ.

- Thành phần này đóng vai trò PUB trong OpenCA Hình (3-4) miêu tả cụ thể các chức năng của LRA

Hình 3-20: Biểu đồ phân rã chức năng của LRA

Giao tiếp với người dùng:

 Cấp chứng thư mới: nhận thông tin đăng kí (bao gồm cả thông tin user nếu chưa là user của hệ thống), trả thẻ lại cho ngươid dùng nếu yêu cầu được chấp nhận và cấp chứng thư

 Hủy chứng thư số: Nhận yêu cầu hủy từ User, thông báo lại kết quả việc hủy

 Cấp lại chứng thư số: gồm 2 thao tác: hủy chứng thư cũ và cấp lại chứng thư mới

Giao tiếp với RA:

 Cấp mới chứng thư: Gửi yêu cầu xin cấp mới chứng thư từ người dùng lên cho RA, nhận thẻ được trả về và phát lại cho user

 Hủy chứng thư số: Gửi yêu cầu hủy chứng thư số của user và nhanh kết quả việc hủy, thông báo lại cho user

 Cấp mới chứng thư

• Setup hệ thống: Xác thực chứng thư, kết nối đến RA để tiến hành các giao dịch

3.2.4 Ứng dụng người dùng

User Application là một ứng dụng cho phép người dùng truy cập đến trung tâm dịch vụ chứng thư số của RA để sử dụng chứng thư số của mình vào một số ứng dụng như chữ ký số, mã hóa thông điệp, kiểm soát truy cập từ xa.

CHƯƠNG BỐN:

XÂY DỰNG ỨNG DỤNG KIỂM SOÁT TRUY CẬP MẠNG TRÊN NỀN HỆ THỐNG BioPKI

4.1 Phân tích bài toán kiểm soát truy cập mạng4.1.1 Bài toán kiểm soát truy cập mạng 4.1.1 Bài toán kiểm soát truy cập mạng

Thông thường, trong một mạng máy tính, để có thể thực hiện truy cập từ xa qua mạng vào một máy chủ - ví dụ một máy chủ CSDL (DB Server), người dùng cần phải có một tài khoản trong DB Server đó với một tên truy nhập và một mật khẩu. Nhưng trên thực tế, mật khẩu rất dễ bị mất, hay bị lộ do tấn công chặn bắt gói tin (packet sniffers), hay bị tấn công brute-force hoặc quá trình xác thực truy cập bị tấn công man-in-the-middle. Điều này thực sự rất nguy hiểm, vì khi đó, người dùng sẽ bị kẻ xấu mạo danh, lấy cắp thông tin, thay đổi thông tin, hoặc nguy hiểm hơn, DB Server sẽ bị tấn công.

4.1.2 Phân tích bài toán kiểm soát truy cập mạng

Trên thực tế, đã có rất nhiều giải pháp đảm bảo cho việc gói tin truyền đi trên mạng không bị chặn, bắt như: Authentication, Switched infrastructured, AntiSniffers tool, Cryptography. Thực tế cho thấy phương pháp mã hóa (Cryptography) thông tin trước khi truyền đi tỏ ra hiệu quả nhất, một ứng dụng cụ thể của phương pháp này là giao thức mã hóa “đường hầm” dựa trên địa chỉ IP (bao gồm 2 giao thức chính: SSH - Secure SHell, SSL-Secure Socket Layer). Tuy nhiên, nếu chỉ sử dụng mã hóa đơn thuần thì không tránh khỏi việc bị tấn công Man-In-The-Middle (MITM), bởi vì tấn công MITM dựa trên các giao thức dẫn đường (routing protocols), các giao thức ở tầng giao vận (transport protocols), và các giao thức bắt tay (nếu có). Để ngăn chặn kiểu tấn công MITM thì các đối tượng tham gia truyền tin cần phải được xác thực, hơn nữa việc này còn chống lại được tấn công phát lại (relay attack). Một trong những giải pháp xác thực đó là sử dụng chữ ký số, chữ ký số có thể được sử dụng để xác thực nguồn gốc, và nội dung của thông điệp truyền đi. Như đã trình bày ở các chương đầu thì hạ tầng khóa công khai PKI chính là môi trường lý tưởng để thực hiện mã hóa và ký số.

Do vậy, việc xây dựng ứng dụng kiểm soát truy cập CSDL trong hạ tầng hệ thống BioPKI sử dụng thẻ sinh trắc Bio-Etoken kết hợp với mã hóa và chữ ký số có thể đảm bảo tính mật cho quá trình xác thực cũng như quá trình trao đổi dữ liệu. Mô hình ứng dụng thử nghiệm được xây dựng như trong hình (4-1).

Hình 4-21: Mô hình ứng dụng truy cập CSDL từ xa

Trong đó:

User: Người sử dụng muốn truy cập từ xa qua mạng vào một máy chủ CSDL. Người sử dụng đã được cấp chứng thư, khóa riêng, thẻ sinh trắc Bio-EToken bởi hệ thống BioPKI và chứng thư, thẻ còn hiệu lực để có thể thực hiện việc mã hóa và giải mã; ký và xác thực chữ ký trong các giao dịch.

Client: Máy trạm mà User sử dụng để truy cập từ xa qua mạng. Máy này phải

được cài đặt các chức năng đọc thẻ, kết nối với RA Application Server, ký, xác thực.

DB Server: Máy chủ CSDL cần được bảo vệ truy cập từ xa, DB Server cũng được

coi là một User của hệ thống nên cũng được cấp một chứng thư, khóa riêng

RA Application Server: Máy chủ dịch vụ ứng dụng, một thành phần của RA

Server thuộc hệ thống BioPKI. Cung cấp dịch vụ ứng dụng như: kiểm tra tính xác thực của chứng thư số, download chứng thư số, sinh, quản lý và phân phối khóa phiên trong giao dịch giữa client và DB Server.

Hạ tầng BioPKI: cung cấp các chứng thư số, kho chứng thư, các thẻ Bio-Etoken

Một phần của tài liệu Do an TN - Bui Van Hanh - TTM K50 pdf (Trang 39 - 84)

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

(84 trang)
w