Bài toán số 1: Xây dựng chƣơng trình quản lý chứng thƣ số

Một phần của tài liệu Nghiên cứu triển khai dịch vụ chứng thực chữ ký số ứng dụng trong lĩnh vực tài chính ngân hàng (Trang 48)

Học viên: Nguyễn Thị Huyền - K16HTTT

Khi ngƣời dùng có yêu cầu cấp phát chứng thƣ số, Root CA sẽ cấp cho họ một cặp khóa bí mật/ công khai. Root CA sẽ quản lý tất cả các chứng thƣ số đã cấp với các thông tin về chủ thuê bao, tổ chức cấp, cặp khóa bí mật/công khai, thời hạn có hiệu lực và tình trạng của chứng thƣ số. Root CA cần lƣu trữ, quản lý cập nhập thông tin các chứng thƣ số một cách thƣờng xuyên mỗi khi có sự thay đổi xảy ra. Việc lƣu trữ và quản lý các thông tin này để phục vụ cho việc cung cấp thông tin chính xác về các chứng thƣ số cho các đối tƣợng quan tâm, có thể tìm kiếm nhanh chóng thông tin theo các dấu hiệu nhận biết khác nhau.

Để giải quyết vấn đề này cần xây dựng cơ sở dữ liệu lƣu trữ các chứng thƣ số và chƣơng trình quản lý chứng thƣ số.

Đối với cơ sở dữ liệu cần lƣu trữ các thông tin:

Dựa theo luật giao dịch điện tử của quốc hội nƣớc Cộng hòa xã hội chủ nghĩa Việt Nam số 51/2005/QH11 ngày 29/11/2005 có các thông tin liên quan đến các đối tƣợng nhƣ sau:

- Nội dung ghi trên chứng thƣ số:

1. Tên của tổ chức cung cấp dịch vụ chứng thực chữ ký số. 2. Tên của thuê bao.

3. Số hiệu của chứng thƣ số.

4. Thời hạn có hiệu lực của chứng thƣ số. 5. Khoá công khai của thuê bao.

6. Chữ ký số của tổ chức cung cấp dịch vụ chứng thực chữ ký số. 7. Các hạn chế về mục đích, phạm vi sử dụng của chứng thƣ số.

8. Các hạn chế về trách nhiệm pháp lý của tổ chức cung cấp dịch vụ chứng thực chữ ký số.

9. Các nội dung cần thiết khác theo quy định của Bộ Bƣu chính, Viễn thông.

- Nội dung liên quan chứng thƣ số:

1. Xác nhận của thuê bao về tính chính xác  Công khai chứng thƣ số. 2. Gia hạn chứng thƣ số: 30 ngày trƣớc khi hết hạn

3. Tạm dừng chứng thƣ số: Thời gian bắt đầu, kết thúc tạm dừng, lý do dừng

- Thông tin tổ chức cấp chứng thƣ số: 1. Tên tổ chức

Học viên: Nguyễn Thị Huyền - K16HTTT

3. Địa chỉ tổ chức

4. Chữ ký số của tổ chức

5. Thời hạn chữ ký số (không quá 10 năm, gia hạn không quá 1 năm)

- Thông tin thuê bao sử dụng chứng thƣ số: + Thuê bao cá nhân

1. Họ tên

2. Ngày tháng năm sinh 3. Nơi sinh

4. Số chứng minh thƣ nhân dân 5. Số Hộ chiếu

6. Hộ khẩu thƣờng trú 7. Điện thoại liên hệ 8. Địa chỉ liên hệ. + Thuê bao tổ chức

1. Tên tổ chức 2. Địa chỉ

3. Điện thoại liên hệ

4. Số quyết định thành lập hoặc chứng nhận đăng ký kinh doanh của tổ chức.

5. Tên ngƣời đại diện đƣợc ủy quyền

6. Số chứng minh thƣ nhân dân của ngƣời đại diện đƣợc ủy quyền

Đối với chƣơng trình cần đƣợc xây dựng để thực hiện các công việc sau:

- Cho phép cấp phát mới chứng thƣ số mỗi khi có yêu cầu. - Cập nhật các thông tin liên quan mỗi khi có sự thay đổi.

- Cập nhật và thông báo trạng thái tạm dừng của chứng thƣ số khi có quyết định tạm dừng.

- Cập nhật và thông báo trạng thái thu hồi của chứng thƣ số khi có quyết định thu hồi.

- Có thể tìm kiếm đƣợc chứng thƣ số thông qua các trƣờng thông tin liên quan khi có nhu cầu.

- Quản lý thông tin của các thuê bao và các nhà cung cấp chứng thƣ số.

Học viên: Nguyễn Thị Huyền - K16HTTT

Thiết kế hệ thống về xử lý

- Sơ đồ phân cấp chức năng:

Hình 3.2 Sơ đồ phân cấp chức năng hệ thống quản lý chứng thư số

-Biểu đồ luồng dữ liệu mức ngữ cảnh:

Hình 3.3 Biểu đồ luồng dữ liệu mức ngữ cảnh

Thiết kế hệ thống về dữ liệu

- Sử dụng hệ quản trị cơ sở dữ liệu MySQL.

- Xây dựng cơ sở dữ liệu quản lý chứng thƣ số bao gồm các bảng sau: 1. Bảng chungthuso: Lƣu thông tin các chứng thƣ số

Học viên: Nguyễn Thị Huyền - K16HTTT

SoHieuCTS Số hiệu chứng thƣ số Char(20) LoaiTB Loại thuê bao (cá nhân:0, tổ

chức:1)

Bit

MaTB Mã thuê bao Varchar(10)

TuNgay Ngày bắt đầu Date

DenNgay Ngày kết thúc Date

n Modulo Varchar(50)

b Khóa công khai Varchar(50)

MaTC Mã tổ chức cấp chứng thƣ số Varchar(10) MucDich_PhamVi Mục đích, phạm vi sử dụng chứng thƣ số Varchar(200) XacNhan Tình trạng xác nhận (0:chƣa xác nhận; 1: đã xác nhận) Bit TamDung Tình trạng tạm dừng (0: không tạm dừng; 1: đang tạm dừng) Bit

ThuHoi Tình trạng thu hồi (0: Không thu hồi; 1: Đã thu hồi)

Bit

2. Bảng chungthuso_tamdung: Lƣu thông tin các chứng thƣ số bị tạm dừng

Tên cột Mô tả Kiểu dữ liệu

SoHieuCTS Số hiệu chứng thƣ số Char(20)

Học viên: Nguyễn Thị Huyền - K16HTTT

DenNgay Ngày kết thúc Date

LyDo Lý do tạm dừng Varchar(200)

3. Bảng chungthuso_thuhoi: Lƣu thông tin các chứng thƣ số bị thu hồi

Tên cột Mô tả Kiểu dữ liệu

SoHieuCTS Số hiệu chứng thƣ số Char(20) LoaiTB Loại thuê bao (cá nhân:0, tổ

chức:1)

Bit

MaTB Mã thuê bao Varchar(10)

TuNgay Ngày bắt đầu Date

DenNgay Ngày kết thúc Date

n Modulo Varchar(50)

b Khóa công khai Varchar(50)

MaTC Mã tổ chức cấp chứng thƣ số Varchar(10) MucDich_PhamVi Mục đích, phạm vi sử dụng

chứng thƣ số

Varchar(200)

NgayThuHoi Ngày thu hồi Date

LyDoThuHoi Lý do thu hồi Varchar(2000)

4. Bảng tochuc_capcts: Lƣu thông tin tổ chức cấp chứng thƣ số

Tên cột Mô tả Kiểu dữ liệu

Học viên: Nguyễn Thị Huyền - K16HTTT

TenTC Tên tổ chức cấp chứng thƣ số Varchar(200) NgayThanhLap Ngày thành lập tổ chức Date

DiaChi Địa chỉ tổ chức Varchar(200)

n Modulo Varchar(100)

b Khóa công khai Varchar(100)

ThoiHanCKS Thời hạn sử dụng chữ ký số Date 5. Bảng thuebao_canhan: Lƣu thông tin về thuê bao cá nhân

Tên cột Mô tả Kiểu dữ liệu

MaTB Mã thuê bao cá nhân Varchar(10) HoTen Họ tên thuê bao cá nhân Varchar(50) NgaySinh Ngày sinh của thuê bao Date

NoiSinh Nơi sinh của thuê bao Varchar(100) SoCMTND Số chứng minh thƣ nhân dân Varchar(10)

SoHoChieu Số hộ chiếu Varchar(10)

HoKhauTT Hộ khẩu thƣờng trú Varchar(200) DienThoai Điện thoại của thuê bao Varchar(15) DiaChi Địa chỉ của thuê bao Varchar(200)

6. Bảng Thuebao_tochuc: Lƣu thông tin về thuê bao tổ chức

Tên cột Mô tả Kiểu dữ liệu

Học viên: Nguyễn Thị Huyền - K16HTTT

Ten_TCTB Tên tổ chức thuê bao Varchar(200) SoQDTL Số quyết định thành lập Varchar(20)

DiaChi Địa chỉ Varchar(200)

DienThoai Điện thoại Varchar(15)

TenNguoiDaiDien Tên ngƣời đại diện Varchar(50) SoCMTND Số chứng minh thƣ nhân dân Varchar(10)

Hình 3.4 Sơ đồ quan hệ giữa các bảng

Thiết kế chƣơng trình

Chƣơng trình đƣợc viết bằng ngôn ngữ lập trình Visual Basic.Net (phiên bản 2008), kết nối với cơ sở dữ liệu MySQL truy cập cơ sở dữ liệu ở trên.

- Chƣơng trình bao gồm các module và class sau:

+ Module Cơ sở dữ liệu: Bao gồm các hàm thao tác với cơ sở dữ liệu nhƣ kết nối, nhập xuất, tìm kiếm, chỉnh sửa dữ liệu…

+ Module xử lý: Bao gồm các hàm xử lý chung trong chƣơng trình. + Class chứng thƣ số.

Học viên: Nguyễn Thị Huyền - K16HTTT

+ Class chứng thƣ số thu hồi. + Class thuê bao cá nhân. + Class thuê bao tổ chức.

+ Class tổ chức cấp chứng thƣ số. - Chƣơng trình bao gồm các form:

+ frmLogin: Lựa chọn cơ sở dữ liệu + frmMain: Form chính

+ frmCapPhatCTS: Thêm chứng thƣ số

+ frmThemCTS_TamDung: Thêm chứng thƣ số tạm dừng + frmThuHoiCTS: Thu hồi chứng thƣ số

+ frmThemTC_CapCTS: Thêm tổ chức cấp chứng thƣ số + frmThemThueBao: Thêm thuê bao

+ frmCapNhapCTS: Cập nhật chứng thƣ số

+ frmCapNhapTC_CapCTS: Cập nhật tổ chức cấp chứng thƣ số + frmCapNhapThueBao: Cập nhật thuê bao

+ frmXoaCTS_TamDung: Xóa bỏ tạm dừng + frmTimKiemCTS: Tìm kiếm chứng thƣ số

+ frmTimKiemTC_CapCTS: Tiềm kiếm tổ chức cấp chứng thƣ số +frmTimKiemThueBao: Tìm kiếm thuê bao

- Một số giao diện chƣơng trình:

Học viên: Nguyễn Thị Huyền - K16HTTT

Hình 3.6 Thêm mới chứng thư số

Học viên: Nguyễn Thị Huyền - K16HTTT

Hình 3.8 Thêm thuê bao

Hình 3.9 Thêm tổ chức cấp chứng thư số

3.3.2. Bài toán số 2: Xây dựng WebSite tra cứu chứng thƣ số 3.3.2.1. Phân tích bài toán 3.3.2.1. Phân tích bài toán

Mục đích của việc quản lý chứng thƣ số là để phục vụ việc cung cấp thông tin về chứng thƣ số cho ngƣời dùng có nhu cầu. Cùng với việc quản lý thì Root CA sẽ phải xây dựng một website cho phép ngƣời dùng tra cứu thông tin

Học viên: Nguyễn Thị Huyền - K16HTTT

chứng thƣ số. Khi nhận đƣợc một chữ ký số của X ngƣời dùng cần xác thực nguồn gốc của chữ ký đó xem liệu có phải là chữ ký số của X thật hay không? Liệu rằng khóa công khai này còn sử dụng hợp pháp hay không (có đảm bảo tính pháp lý hay không)? Để làm điều này ngƣời dùng cần biết khóa công khai của X và tình trạng sử dụng chứng thƣ số của X (tình trạng xác nhận, tạm dừng, thu hồi). Website tra cứu chứng thƣ số sẽ đáp ứng nhu cầu sử dụng chữ ký số của ngƣời sử dụng.

Hình 3.10 Mô hình sử dụng website tra cứu chứng thư số

Website này sẽ thao tác với cơ sở dữ liệu chứng thƣ số đƣợc xây dựng ở bài toán 1 và thực hiện các yêu cầu sau:

- Cho phép ngƣời dùng tìm kiếm thông tin chứng thƣ số.

- Cho phép ngƣời dùng xem tình trạng xác nhận, tạm dừng, thu hồi của chứng thƣ số cần tìm.

- Thông báo danh sách các chứng thƣ số đang chờ xác nhận. - Thông báo danh sách các chứng thƣ số bị tạm dừng

- Thông báo danh sách các chứng thƣ số bị thu hồi. - Thông báo danh sách các nhà cung cấp chứng thƣ số.

3.3.2.2 Thiết kế hệ thống

Thiết kế hệ thống về xử lý

Học viên: Nguyễn Thị Huyền - K16HTTT

Hình 3.11 Sơ đồ chức năng hệ thống tra cứu chứng thư số

- Biểu đồ ngữ cảnh luồng dữ liệu của hệ thống:

Hình 3.12 Biểu đồ luồng dữ liệu mức ngữ cảnh của hệ thống

Thiết kế hệ thống về dữ liệu

Cơ sở dữ liệu để tra cứu là cơ sở dữ liệu quản lý chứng thƣ số trong bài toán số 1.

Thiết kế chƣơng trình

Website đƣợc viết bằng ngôn ngữ lập trình máy chủ PHP và ngôn ngữ lập trình Javascript, HTML thao tác với hệ quản trị cơ sở dữ liệu MySQL (cơ sở dữ liệu Quản lý chứng thƣ số ở bài toán số 1). Website bao gồm các chức năng:

+ Tra cứu thông tin chứng thƣ số.

+ Thông tin chứng thƣ số đang chờ xác nhận. + Thông tin chứng thƣ số tạm dừng.

Học viên: Nguyễn Thị Huyền - K16HTTT

+ Thông tin nhà cung cấp chứng thƣ số. -Một số giao diện của chƣơng trình:

Hình 3.13 Giao diện

chính

Học viên: Nguyễn Thị Huyền - K16HTTT

Hình 3.15 Giao diện chứng thư số tạm dừng

Học viên: Nguyễn Thị Huyền - K16HTTT

Hình 3.17 Giao diện chứng thư số chờ xác nhận

Hình 3.18 Giao diện nhà cung cấp chứng thư số

3.3.3. Bài toán số 3: Xây dựng website ứng dụng dịch vụ chứng thực chữ ký số trong giao dịch điện tử của lĩnh vực tài chính ngân hàng số trong giao dịch điện tử của lĩnh vực tài chính ngân hàng

Học viên: Nguyễn Thị Huyền - K16HTTT

Có một số hệ thống phƣơng tiện điện tử có thể ứng dụng dịch vụ chứng thực chữ ký số trong giao dịch điện tử của các ngân hàng nhƣ hệ thống ATM, email, tin nhắn SMS… Tuy nhiên trong luận văn này em chọn hệ thống website để xây dựng ứng dụng cho ngân hàng. Bởi vì hệ thống này có nhiều ƣu điểm nổi bật hơn : Là công cụ tiện lợi và dễ sử dụng đối với ngƣời dùng ngƣời dùng, khả năng phát triển ứng dụng cao và đang đƣợc sử dụng phổ biến.

Xây dựng website ứng dụng dịch vụ chứng thực chữ ký số trong giao dịch điện tử của lĩnh vực tài chính ngân hàng nhằm mục đích cho phép các khách thực hiện giao dịch điện tử sử dụng chữ ký số để xác thực nguồn gốc thông điệp. Website sẽ thực hiện các công việc sau:

+ Yêu cầu ngƣời dùng lựa chọn giao dịch cần thực hiện và nhập khóa bí mật của mình để chƣơng trình tạo thông điệp và chữ ký số trên máy client. Sau đó gửi thông tin về web server của ngân hàng. Việc tạo chữ ký đƣợc thực hiện trên máy client để tránh nguy cơ lộ khóa bí mật trên đƣờng truyền.

+ Web server của ngân hàng khi nhận đƣợc thông tin, trƣớc hết sẽ hỏi web server của tổ chức chứng thực gốc (Root CA) (trang web đƣợc xây dựng ở bài toán số 2) về thông tin chứng thƣ số của khách hàng xem chứng thƣ có hợp lệ không? (đã đƣợc xác nhận chƣa? Có bị tạm dừng hay không? Có bị thu hồi hay chƣa?). Nếu nhƣ hợp lệ, sẽ hỏi khóa công khai của khách hàng và thực hiện công việc xác thực. Nếu nhƣ kết quả xác thực là chính xác thì chƣơng trình thực hiện các nghiệp vụ ngân hàng tƣơng ứng của giao dịch đó.

Dựa theo các phân tích trên em xây dựng mô hình sử dụng website ứng dụng dịch vụ chứng thực chữ ký số trong giao dịch điện tử của lĩnh vực tài chính ngân hàn nhƣ sau:

Học viên: Nguyễn Thị Huyền - K16HTTT

Hình 3.19 Mô hình sử dụng website của ngân hàng

- Website cho phép khách hàng thực hiện các giao dịch trong lĩnh vực tài chính ngân hàng nhƣ: Kiểm tra tài khoản, chuyển khoản, thanh toán hóa đơn, in sao kê tài khoản, ủy nhiệm thu, ủy nhiệm chi, thay đổi hạn mức tín dụng…

3.3.3.2. Thiết kế hệ thống

Thiết kế hệ thống về xử lý

Mô tả các chức năng của hệ thống

Nhƣ mô tả ở trên hệ thống sẽ thực hiện 3 công việc chính: + Tạo chữ ký số

+ Kiểm tra chữ ký số

+ Thực hiện nghiệp vụ ngân hàng

- Tạo chữ ký: Chƣơng trình yêu cầu ngƣời dùng nhập thông tin giao dịch và khóa bí mật. Sau đó chƣơng trình thực hiện tạo chữ ký trên máy client và gửi về cho server. Quá trình tạo chữ ký diễn ra nhƣ sau:

 Tạo thông điệp: Từ các thông tin ngƣời dùng nhập vào chƣơng trình gắn kết tạo ra thông điệp.

 Tạo đại diện cho thông điệp: Sử dụng hàm băm (SHA256) băm thông điệp trên tạo ra đại diện thông điệp.

Học viên: Nguyễn Thị Huyền - K16HTTT

 Tạo chữ ký số: Sử dụng hệ chữ ký RSA và khóa bí mật do ngƣời dùng nhập vào để ký lên đại diện thông điệp tạo ra chữ ký số.

Sau khi tạo đƣợc chữ ký số chƣơng trình sẽ gửi chữ ký số và thông điệp về cho máy chủ để thực hiện kiểm tra chữ ký số.

- Kiểm tra chữ ký số: Chƣơng trình khi nhận đƣợc chữ ký số và thông điệp sẽ thực hiện kiểm tra chữ ký số nhƣ sau:

+ Hỏi thông tin về chứng thƣ số : Chƣơng trình gửi thông tin số hiệu chứng thƣ số tới web server tra cứu chứng thƣ số (bài toán số 2). Web server tra cứu thông tin chứng thƣ số trả về tình trạng xác nhận, tạm dừng, thu hồi và khóa công khai của chứng thƣ số. Nếu chứng thƣ hợp lệ sẽ sử dụng khóa công khai để xác thực chữ ký số.

+ Xác thực chữ ký số: Chƣơng trình sử dụng hàm băm (SHA256) băm thông điệp để tạo đại diện cho thông điệp. Sử dụng khóa công khai và hệ chữ ký

Một phần của tài liệu Nghiên cứu triển khai dịch vụ chứng thực chữ ký số ứng dụng trong lĩnh vực tài chính ngân hàng (Trang 48)