Quy trình sinh và phân phối khóa phiên

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

Client RA Application Server DBServer

1 : CreateLoginRequest() 2 : Sign() 3 : RemoteLoginRequest() 4 : VerifySignature() 5 : CheckCredential() 6 : OK 7 : GenerateSessionKey() 8 : EncryptAndSign()

9 : Session key 10 : Session key

11 : DecryptAndVerify()

12 : DecryptAndVerify() 13 : DestroySessionKey()

4.4.3 Quá trình truy cập từ xa giữa Client và DB Server Client DBServer 1 : SSLConnect() 2 : ConnectOK 3 : CreateLoginRequest() 4 : EncryptBySessionKey() 5 : Sign() 6 : Login() 7 : Verify() 8 : DecryptBySessionKey() 9 : CheckCredential() 10 : LoginOK

4.4.4 Biểu đồ tuần tự của hệ thống

Client : User

RA Application Server DB Server

1 : Remote login() 2 : ReadToken() 3 : Bio-EToken 4 : Capture biometrics() 5 : Biometrics 6 : Verify() 7 : GetCredential() 8 : Username, password 9 : CreateLoginRequest() 10 : Sign() 11 : RemoteLoginRequest() 12 : Verify() 13 : CheckCredential() 14 : GenerateSessionKey() 15 : EncryptAndSign()

16 : Session key 17 : Session key 18 : DecryptAndVerify() 19 : DecryptAndVerify() 20 : DestroySessionKey() 21 : SSLConnect() 22 : ConnectOK 23 : CreateLoginRequest() 24 : EncryptBySessionKey() 25 : Sign() 26 : Login() 27 : Verify() 28 : DecryptBySessionKey() 29 : CheckCredential() 30 : LoginOK 31 : LoginOK

Hình 4-31: Biểu đồ tuần tự của hệ thống

CHƯƠNG NĂM:

CÀI ĐẶT ỨNG DỤNG KIỂM SOÁT TRUY CẬP CSDL TỪ XA TRÊN NỀN HỆ THỐNG BioPKI

Trong chương này sẽ trình bày chi tiết về phân tích thiết kế cài đặt ứng dụng kiểm soát truy cập từ xa.

5.1 Phân tích yêu cầu

Nhiệm vụ chủ yếu của đồ án tham gia vào xây dựng hệ thống kiểm soát truy cập CSDL trên môi trường mạng không an toàn, do đó chương trình xây dựng cần có các chức năng cơ bản sau:

- Xác thực người dùng bằng phương pháp sử dụng mật khẩu và đối sánh đặc trưng sinh trắc .

- Thiết lập kênh mật SSL

- Mã hóa, giải mã khóa đối xứng - Ký và xác thực chữ ký số.

5.2 Giải pháp

5.2.1 Giải pháp về công nghệ

- Sử dụng thư viện mã nguồn mở OpenSSL để xây dựng các module mã hóa, giải mã, ký số, xác thực chữ ký và truyền thông điệp qua kênh SSL. Hơn nữa, thư viện OpenSSL còn là một thành phần của OpenCA.

- Sử dụng ngôn ngữ phát triển hệ thống là C++ (VC++, .Framework 3.0) vì nó vừa hỗ trợ hướng đối tượng vừa tích hợp được các hàm viết bằng ngôn ngữ C trong thư viện OpenSSL.

-Sử dụng hệ quản trị cơ sở dữ liệu là MySQL vì đây là hệ quản trị cơ sở dữ liệu mã nguồn mở và có hỗ trợ các hàm C API để thực hiện truy vấn cơ sở dữ liệu.

- Ngoài ra, hệ thống cũng sử dụng các API có sẵn do hệ BioPKI cung cấp, cụ thể:  Các APIs làm việc với thẻ sinh trắc Bio-EToken

5.2.2 Giải pháp hệ thống

Cần phải xây dựng các module cho Client, RA Application Server và DB Server. Một số lớp quan trọng được sử dụng để viết các module này:

- CMySQL: lớp cho phép DB Server connect và thao tác với CSDL

- CSSLChannel: lớp thực hiện thiết lập kênh SSL và gửi thông điệp qua kênh - CXMLProfile: lớp thực hiện việc đọc ghi file định dạng XML khi thực hiện

cấu hình cho các ứng dụng.

- Rijndael: Lớp thực hiện mã AES (mã hóa đối xứng), được Client và DB Server sử dụng.

5.2.2.1 Cài đặt cho ứng dụng ở Client:

- Module đọc thẻ và xác thực sinh trắc (Sử dụng các API có sẵn do hệ BioPKI-OpenCA cung cấp)

- Các hàm băm, mã hóa và giải mã đối xứng bằng thuật toán AES mật khẩu truy cập từ xa bằng khóa phiên, mã hóa và giải mã bất đối xứng. Ở đây thuật toán mã hóa AES cho phép làm việc với khóa có độ dài bất kỳ. Sử dụng các hàm có sẵn của thư viện OpenSSL để thực hiện mã hóa và giải mã khóa bất đối xứng.

- Module ký và xác thực chữ ký: chữ ký của RA Application Server, chữ ký của DBServer (Sử dụng các API có sẵn do hệ BioPKI-OpenCA cung cấp).

- Module thiết lập kênh mật SSL. Sử dụng các hàm trong thư viên OpenSSL để thiết lập.

5.2.2.2 Cài đặt RA Application Server:

- Module dịch vụ liên quan đến chứng thư số (check valid, download…) tận dụng luôn của RA Server trong hệ thống BioPKI

- Module sinh khóa phiên, quản lý, phân phối và hủy khóa phiên - Module thiết lập kênh mật SSL

5.2.2.3 Cài đặt Module trên DBServer:

- Các hàm băm, mã hóa và giải mã đối xứng bằng thuật toán AES mật khẩu truy cập từ xa bằng khóa phiên, mã hóa và giải mã bất đối xứng - Module ký và xác thực chữ ký

- Module làm việc với CSDL - Module thiết lập kênh mật SSL

5.3 Xây dựng kịch bản và thử nghiệm5.3.1 Kịch bản thử nghiệm 5.3.1 Kịch bản thử nghiệm

Kịch bản được thực hiện trong môi trường hạ tầng hệ thống BioPKI – OpenCA: Các bước lần lượt của kịch bản ứng dụng được mô tả như sau:

1. Người đăng nhập vào máy Client (cắm thẻ Bio-Etoken vào máy Client, quét vân tay sử dụng Biometrika-thiết bị chuyên dụng để lấy vân tay , điền username và password để đăng nhập vào máy Client), và gửi yêu cầu truy cập từ xa lên RA Server có kèm theo Serial Number chứng chỉ của mình. Trong trường hợp hệ thống có nhiều CSDL thì user phải gửi kèm cả số hiệu (IDs) của DB Server muốn truy cập.

2. RA Server nhận được yêu cầu, truy vấn trong CSDL của mình, tìm được chứng chỉ tương ứng, đồng thời lấy được khóa công khai của chứng chỉ đó.

3. RA Server sinh ra một khóa phiên, mã hóa khóa phiên bằng khóa công khai vừa lấy ra được và gửi lại cho người dùng.

4. Người dùng nhận được, dùng khóa cá nhân của mình, giải mã lấy được khóa phiên.

5. RA Server mã hóa khóa phiên bằng khóa công khai của DB Server và gửi cho DB Server, sau đó RA Server hủy khóa phiên.

6. DB Server dùng khóa riêng của mình để giải mã ra được khóa phiên.

7. Phiên giao dịch giữa User và DB Server bắt đầu được thực hiện với mỗi bên đều đã có khóa phiên.

5.3.2 Một số hình ảnh giao diện của ứng dụng

Ứng dụng được triển khai thử nghiệm tại phòng thí nghiệm liên mạng C1- 415, ĐH BKHN trong khuôn khổ hệ thống BioPKI. Thử nghiệm được tiến hành với nhiều trường hợp khác nhau:

- Thẻ sinh trắc đúng là của user: user có thể đăng nhập được - Tthẻ sinh trắc không phải là của user: không đăng nhập được - Username và password đúng: user đăng nhập thành công - Username hoặc password sai: không đăng nhập được

Thử chặn bắt các gói tin trao đổi giữa các thành phần bằng phần mềm chặn bắt gói tin Wireshark: không thể đọc được thông tin về username và password vì tất cả đều đã được mã hóa và ký.

Thời gian thực hiện đăng nhập vào hệ thống là chấp nhận được, khoảng từ 7s đến 10s.

5.3.3 Nhận xét, đánh giá về ứng dụng

Ứng dụng chạy tốt trong môi trường hệ thống BioPKI và bổ sung vào tính năng bảo mật nhiều tầng nhiều lớp hơn so với các ứng dụng truy cập từ xa truyền thống, đồng thời tăng độ tin cậy và chống được nhiều dạng tấn công trên mạng. Mọi giao dịch đều được mã hóa và ký nên độ an toàn cao, tính toàn vẹn được đảm bảo, việc chối bỏ cũng được loại trừ và có log lại mọi giao dịch phục vụ cho việc kiểm tra về sau. Ứng dụng hoàn toàn có thể được mở rộng và tích hợp vào các hệ thống cần bảo mật khác.

Ứng dụng cần được cải tiến để có thể chạy trơn tru hơn, ít lỗi tiềm tàng hơn và cần được tích hợp vào các hệ thống thật để kiểm tra khả năng ứng dụng thực tế của nó.

KẾT LUẬN

Đề tài “Xây dựng ứng dụng kiểm soát truy cập mạng sử dụng thẻ sinh trắc trong hạ tầng hệ thống BioPKI-OpenCA” nằm trong khuôn khổ đề tài nghiên cứu khoa học công nghệ cấp nhà nước KC01.11/06-10 “Hệ thống an ninh thông tin dựa trên sinh trắc học sử dụng công nghệ nhúng BioPKI”. Trong thời gian nghiên cứu, tìm hiểu, xây dựng ứng dụng đố án đã hoàn thành được các nhiệm vụ được đặt ra, cụ thể là:

-Về mặt lý thuyết: Đồ án đã trình bày được những khái niệm cơ bản về kiểm soát truy cập, kiểm soát truy cập từ xa, và hướng tiếp cận sinh trắc hoc trong kiểm soát truy cập từ xa, đưa ra được giải pháp cho bài toán kiểm soát truy cập CSDL từ xa. Trình bày được những đặc điểm cơ bản của hạ tầng khóa công khai, tổng quan về hệ thống BioPKI-OpenCA đã được xây dựng trong khuôn khổ đề tài KC 01.11. -Về phân tích thiết kế hệ thống: Đã trình bày được phân tích thiết kế của hệ thống kiểm soát truy cập CSDL từ xa ở mức khung cảnh, mức đỉnh và dưới đỉnh. Đồng thời cũng thiết kế được quy trình các bước trong quá trình truy cập từ xa.

-Về mặt cài đặt: Đã thực hiện cài đặt và triển khai thành công các ứng dụng ở máy Client, RA Application Server và DB Server theo kịch bản thử nghiệm tại phòng thí nghiệm liên mạng C1-415.

Mặc dù đã hết sức cố gắng nhưng trình độ chuyên môn và thời gian thực hiện đồ án còn hạn hẹp, cũng như mức độ phức tạp của đề tài, nên kết quả đạt được còn gặp phải một số khiếm khuyết.

Hướng phát triển: Tiếp tục hoàn thiện hơn nữa các thành phần chức năng trong chương trình, tăng hiệu năng, tính an toàn và độ ổn định của hệ thống để có thể đưa vào triển khai trên thực tế.

TÀI LIỆU THAM KHẢO

[1]. William Stallings. “Cryptography and Network Security Principles and Practices, Fourth Edition”. Prentice Hall, November 16, 2005.

[2]. Johannes Buchmann. “Introduction to cryptography, second edition”. Springer, 2003.

[3] Parvathi Ambalakat, “Security of Biometric Authentication Systems”, 21st Computer Science Seminar SA1-T1-1, 2002.

[4]. Suranjan Choudhury, Kartik Bhatnagar and Wasim Haque, “Public Key Infrastructure Implementation and Design”. M&T Books, 2002.

[5]. C.Adam, S.Lloyd, “Understanding PKI: Concept, Standard and Develoyment Consideration”, 2nd ed. , Addition Wesley 2002.

[6]. Pravir Chandra, Matt Messier, John Viega “Network Security with OpenSSL”

[7]. OpenCA Guide for Versions 0.9.2+ [8]. RFC 2828: Internet Security Glossary.

[9]. Wikipedia.org

[10]. Đồ án tốt nghiệp Nguyễn Văn Toàn , lớp TTM K49 [11]. Đồ án tốt nghiệp Trần Anh Mỹ , lớp TTM K49

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

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

(84 trang)
w