Thư viện bảo mật trong NET

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng kỹ thuật bảo mật trong microsoft net vào hệ thống quản lý và luân chuyển văn bản nội bộ tại GPBank (Trang 47 - 49)

Chương 3: BẢO MẬT HỆ THỐNG PHẦN MỀM TRONG .NET

3.2. Bảo mật trong NET

3.2.4. Thư viện bảo mật trong NET

.NET Framework cung cấp triển khai nhiều thuật toán mã hóa tiêu chuẩn, nó được chia thành hai nhóm chính [2, 7]:

3.2.4.1. Mã hóa

Trong mật mã học, mã hóa là quá trình mã hóa thông điệp hoặc thông tin sang dạng hiển thị khác sử dụng thuật toán + khóa, do vậy chỉ các bên được ủy quyền mới có thể giải mã và những người không được ủy quyền thì không thể giải mã. Các dạng mã hóa bao gồm: hàm băm, mã hóa khóa đối xứng, mã hóa khóa khóa công khai.

a) Hàm băm (Hash)

Sử dụng thuật toán Hash để đưa ra một chuỗi cố định từ một thông điệp có độ dài bất kỳ. Khi sử dụng thuật toán này, xung đột giá trị băm rất hiếm khi xảy ra, chuỗi mã hóa không thể giải mã thành chuỗi ban đầu do không sử dụng khóa.

Các thuật toán mã hóa bao gồm: MD5, SHA-1, SHA256, SHA512,… Các thư viện trong .NET hỗ trợ các thuật toán trên:

 MD5CryptoServiceProvider

 SHA1CryptoServiceProvider

 SHA356CryptoServiceProvider

 SHA512CryptoServiceProvider

b) Mã hóa khóa đối xứng

Trong mã khóa đối xứng, sử dụng 1 khóa dùng chung để mã hóa và giải mã. Trong loại mã hóa này, khóa được giữ bí mật và chỉ được biết đến với các bên mã hóa (người gửi) và giải mã (người nhận).

Trong mật mã khóa đối xứng có 5 thành phần (Hình 3.12), đó là

Plainttext: Bản rõ

Ciphertext: Bản mã

Encryption algorithm: Thuật toán mã hóa

Decription algorithm: Thuật toán giải mã

KEY: Khóa bí mật

Các thuật toán mã hóa bao gồm: 3DES, Rijndael (AES), blowfish,… Các thư viện trong .NET hỗ trợ các thuật toán trên:

 AesCryptoServiceProvider  AesManaged  DESCryptoServiceProvider  RC2CryptoServiceProvider  RijndaelManaged  TripleDESCryptoServiceProvider

Các lưu ý khi thực hiện tạo khóa mật mã hóa khóa đối xứng an toàn:

 Khóa tốt nhất là một số nguyên tố ngẫu nhiên.

 Sử dụng thuật toán hàm băm (MD5, SHA) để tạo khóa.

 Sử dụng khóa băm HMAC để sinh khóa.

b) Mã hóa khóa công khai (Mã hóa bất đối xứng)

Trong mã khóa công khai, sử dụng hai khóa để cùng tạo nên một cặp chìa khóa (public key và private key). Một trong những khóa này từ cặp được sử dụng để mã hóa và khóa còn lại để giải mã. Một trong những khóa này được giữ bí mật và khóa còn lại được công khai cho mọi người sử dụng, đây là lý do tại sao nó được đặt tên là mật mã khóa công khai. Vì có hai khóa khác nhau được sử dụng, đây còn được gọi là mật mã khóa bất đối xứng.

Hình 3.13b: Mã hóa với Private key và giải mã với Public key.

Trong mật mã khóa công khai có 6 thành phần (Hình 2.5a và 2.5b), đó là:

Plaintext: Bản rõ

Ciphertext: Bản mã

Encryption algorithm: Thuật toán mã hóa

Decryption algorithm: Thuật toán giải mã

Public key: khóa công khai, khóa này có thể dùng để mã hóa và giải mã

Private key: khóa bí mật, khóa này có thể dùng để mã hóa và giải mã

Các thuật toán mã hóa bao gồm: RSA, DSA. Các thư viện trong .NET hỗ trợ các thuật toán trên:

 DSACryptoServiceProvider

 RSACryptoServiceProvider

 ECDiffieHellmanCng

 ECDsaCng

Các giải thuật tiêu biểu của mật mã hóa khóa công khai:

 Thuật toán mã hóa RSA

 Các kỹ thuật mã hóa đường cong Elliptic

Lưu ý khi thực hiện tạo khóa mật mã khóa công khai an toàn, sử dụng số nguyên tố ngẫu nhiên đủ lớn để tạo ra cặp khóa công khai và bí mật.

3.2.3.5. Chữ ký số

Chữ ký số là thông tin đi kèm theo dữ liệu (văn bản, hình ảnh, video…) nhằm mục đích xác định người chủ của dữ liệu đó. Chữ ký số mang một số ích lợi:

 Khả năng xác định nguồn gốc của dữ liệu.

 Tính toàn vẹn dữ liệu.

 Tính không thể phủ nhận của dữ liệu.

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng kỹ thuật bảo mật trong microsoft net vào hệ thống quản lý và luân chuyển văn bản nội bộ tại GPBank (Trang 47 - 49)

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

(78 trang)