2.5.1 Giới thiệu thư viện Microsoft CAPICOM
CAPICOM là một thư viên COM Microsoft® ActiveX® cung cấp các giao diện
để làm việc một cách dễ dàng với CryptoAPI. CAPICOM bao gồm một tập hợp các hàm cho phép người phát triển ứng dụng dễ dàng tích hợp các chức năng chữ ký số và mã hoá vào ứng dụng. Bởi vì CAPICOM được xây dựng trên mơ hình COM nên được sử dụng dễ dàng trong các các môi trường như Visual Basic, Visual basic Script, ASP, C++…CAPICOM được đóng gói như một ActiveX cho phép tích hợp vào trang các ứng dụng Web thuận tiện
CAPICOM có thể được sử dụng trong các việc sau:
Tạo chữ ký điện tử sử dụng thẻ thơng minh (Smart card) hoặc khố mềm
Kiểm tra chữ ký điện tử
Hiển thị thông tin về chứng chỉ
Kiểm tra các thuộc tính như tên, hoặc ngày hết hạn
Mã hoá, giải mã dữ liệu sử dụng khoá
Mã hoá, giải mã dữ liệu sử dụng khố cơng khia và chứng chỉ
2.5.2 Ký dữ liệu và kiểm tra chữ ký số
CAPICOM có thể sử dụng để ký điện tử sử dụng chứng chỉ số do các CA như Verisign, Microsoft® Windows® 2000 PKI. CAPICOM dùng privatekey được lưu trong phần mềm, hoặc trên Smartcard, USB token. Người sử dụng có thể lựa chon chứng chỉ số thích hợp để ký. Hình sau mơ tả người sử dụng lựa chọn chứng chỉ số để ký.
2.5.3 CAPICOM cho phép 1 người sử dụng ký hoặc nhiều người ký trên một văn bản. Dữ liệu sau khi ký được lưu dưới dạng PKCS#7. Vì lưu dưới dạng PKCS#7 là chuẩn công nghiệp nên chữ ký được tạo ra bởi CAPICOM có thể được xác thực bởi các PKI của hãng thứ ba.
Sau đây là một ví dụ bằng Visual basic mơ tả hàm ký dữ liệu Private Sub SignData_Click()
Dim sd As New SignedData sd.Content = Text1.Text Text2.Text = sd.Sign End Sub
2.5.4 Mã hoá dữ liệu
CAPICOM cịn được sử dụng để mã hố dữ liệu vì CAPICOM được kế thừa từ CryptoAPI. CAPICOM hỗ trợ các thuật toán mã hoá sau:
RC2 RC4 DES Triple DES
Đoạn mã sau mơ tả hàm mã hố dữ liệu sử dụng thuật toán DES Private Sub Encrypt_Click()
Dim ed As New EncryptedData ed.Content = Text1.Text
ed.SetSecret "secret"
ed.Algorithm.Name = CAPICOM_ENCRYPTION_ALGORITHM_DES Text2.Text = ed.Encrypt
End Sub
Chƣơng 3 - XÂY DỰNG HỆ THỐNG XÁC THỰC GIAO DỊCH HOMEBANKING
3.1 Mục tiêu, yêu cầu của hệ thống xác thực giao dịch
Đảm bảo tính tồn vẹn (intergrity) cho dữ liệu: xác định được dữ liệu bị thay đổi nội dung sau khi được phát hành trong mỗi giao dịch (transaction) hoặc sự thay đổi nội dung trong quá trình lưu trữ.
Đảm bảo tính chống từ chối (non-repudiation): người tham gia giao dịch sẽ không chối bỏ được thông tin đã được đưa vào giao dịch
Đảm bảo tính xác thực (authentication) của các cá nhân tham gia giao dịch: tránh việc giả mạo, mạo danh khi giao dịch
Đảm bảo tính bí mật (confidentiality) của giao dịch bằng cách mã hoá sử dụng PKI.
Có một hạ tầng thống nhất, thuận tiện và an toàn trong việc cấp phát, thu hồi và quản trị khoá mã.
3.1.1 Thiết kế tổng thể hệ thống xác thực giao dịch HomeBanking Dialup