Mục tiêu của chương này nhằm xây dựng một chương trình mã hoá ứng dụng mô hình mật mã RSA với lược đồ chữ ký số phục vụ bảo mật thông tin trong môi trường truyền tin. Chương trình có thể áp dụng trong các lĩnh vực có nhu cầu bảo mật dữ liệu, trong đó có lĩnh vực ngân hàng.
Trong hoạt động ngân hàng, việc truyền tin (dữ liệu) giữa các chi nhánh trong một ngân hàng hoặc giữa các ngân hàng với nhau đóng vai trò hết sức quan trọng. Dữ liệu ngân hàng gồm có các nhóm thông tin:
Thông tin về khách hàng;
Thông tin về hệ thống tài khoản;
Các lệnh giao dịch gửi tiền, rút tiền, thanh toán, v.v...
Thông tin trao đổi giữa ngân hàng với các đối tác cung cấp giải pháp công nghệ ngân hàng: các khoá liên quan đến sản xuất thẻ chip, khoá mã hoá phục vụ truyền dữ liệu giữa ngân hàng với các tổ chức thẻ quốc tế, v.v...
Thông tin khác phục vụ hoạt động của ngân hàng: các thông số an ninh của thiết bị, mạng, mật khẩu truy cập hệ thống, v.v...
Dữ liệu ngân hàng thuộc nhóm thông tin quan trọng, đòi hỏi độ bảo mật và tin cậy cao trong quá trình truyền tin.
Ngày nay, có nhiều kỹ thuật truyền dữ liệu hiện đại được các ngân hàng áp dụng như: cơ chế giao tiếp giữa các Database sử dụng Database Link; cơ chế gửi Message theo các chuẩn tin điện riêng của mỗi ngân hàng hoặc theo chuẩn quốc tế (ISO-8583, v.v...). Bên cạnh đó, việc truyền tin sử dụng các cơ chế truyền file (FTP) vẫn được sử dụng phổ biến vì tính đơn giản, và đặc biệt trong trường hợp các ngân hàng không có kết nối sử dụng đường truyền thông thuê riêng (cáp quang, leased line, v.v...). Việc gửi dữ liệu qua internet là giải pháp cho trường hợp này.
Với bài toàn truyền tin như trên, quá trình gửi/nhận thông tin phải đảm bảo các yêu cầu sau:
Bảo mật thông tin trong quá trình truyền tin. Thông tin được mã hoá ở phía người gửi và được giải mã ở phía người nhận. Việc thực hiện mã hoá sử dụng thuật toán mã hoá có độ phức tạp cao và thời gian thực hiện nhanh.
Có cơ chế để người nhận có thể kiểm tra tính hợp lệ của thông tin nhận được (thông tin được gửi đi bởi đúng người gửi và không bị thay đổi nội dung trên đường truyền)
Chương trình mã hoá được xây dựng hoạt động theo mô hình như sau:
Quá trình mã hoá:
1) Tính giá trị “băm” của văn bản/dữ liệu: toàn bộ dữ liệu hoặc văn bản điện tử được đưa qua thuật toán băm 1 chiều để tạo ra một mã nhận dạng có tính duy nhất (Hash Value)
2) Tạo chữ ký số: mã nhận dạng này được mã hoá bằng khoá riêng của người ký (Private Key A) để tạo ra 1 chữ ký số (Digital Signature)
3) Chuẩn bị dữ liệu mã hoá: Gắn chữ ký số này và chứng chỉ số của người ký (Certificate A) với dữ liệu hoặc văn bản điện tử.
4) Mã hoá dữ liệu: toàn bộ dữ liệu hoặc văn bản điện tử, chữ ký số và chứng chỉ số được mã hoá bằng thuật toán AES bởi một khoá mã hoá/giải mã (khoá mật) sinh ra ngẫu nhiên cho mỗi phiên giao dịch.
5) Mã hoá khoá mật: khoá mã hoá/giải mã sau đó được mã hoá bằng khoá công khai của người nhận (Public Key B). Khoá công khai này được lấy từ chứng chỉ số của người nhận (Certificate B)
Quá trình truyền thông tin:
6) Dữ liệu và khoá mật đã được mã hoá được gửi đến người nhận qua các kênh truyền thông công cộng.
Quá trình giải mã:
7) Giải mã khoá mật: sử dụng khoá riêng của người nhận (Private Key B) để giải mã khoá mật.
8) Giải mã dữ liệu: sử dụng khoá mật để giải mã toàn bộ dữ liệu hoặc văn bản điện tử, chữ ký và chứng chỉ số.
9) Tính giá trị “băm” của văn bản: toàn bộ dữ liệu hoặc văn bản điện tử gốc được đưa qua thuật toán băm 1 chiều để tạo ra một mã nhận dạng có tính duy nhất (Hash Value)
10) Kiểm tra tính hợp lệ của văn bản: sử dụng khoá công khai của người gửi (Public Key A) để kiểm tra chữ ký số trên giá trị “băm” của văn bản để kết luận về tính hợp lệ của dữ liệu hoặc văn bản:
- Nếu kết quả kiểm tra đúng, chứng tỏ thông tin là do người gửi gửi (khoá giải mã cùng cặp khoá với khoá mã hoá); và nội dung thông tin còn nguyên gốc sau khi ký.
- Nếu kết quả kiểm tra sai thì chứng tỏ thông tin không phải do người gửi gửi (khoá giải mã không cùng cặp khoá với khoá mã hoá); và nội dung thông tin không còn nguyên gốc sau khi ký
Mô hình hoạt động của chương trình được minh hoạ qua sơ đồ sau: