Chữ ký số RSA là gì? Mức độ an toàn của chữ ký số RSA

Chữ ký số RSA là gì? Mức độ an toàn và bảo mật của chữ ký số RSA có tốt không? Giải thích một số thuật ngữ liên quan đến chữ ký số này.

Trong những năm gần đây, chữ ký số RSA ngày càng được ứng dụng rộng rãi trong các giao dịch điện tử nhằm đảm bảo tính toàn vẹn dữ liệu và bảo mật cao. Nó đóng vai trò quan trọng như chữ ký của cá nhân hay con dấu của doanh nghiệp và được thừa nhận về mặt pháp lý.

Vậy chữ ký số RSA (Rivest–Shamir–Adleman) là gì và nó có an toàn không? Có các thuật ngữ liên quan đến RSA nào? Tất cả những thắc mắc này sẽ được Viettelnet giải đáp chi tiết trong nội dung bài viết sau đây.

Chữ ký số RSA là gì? Mức độ an toàn của chữ ký số RSA
Chữ ký số RSA là gì?

1. Chữ ký số RSA là gì?

Chữ ký số là một dạng chữ ký điện tử đã được mã hóa tất cả dữ liệu và thực hiện trong giao dịch điện tử hay qua mạng internet, dùng thay cho chữ ký trên các loại văn bản trên giấy truyền thống. Trong khí đó, RSA là một thuật toán mật mã hóa khóa công khai. 

Vậy có thể hiểu, chữ ký số RSA là dạng chữ ký số sử dụng hệ mã hóa RSA để tăng độ an toàn và mức độ bảo mật cao hơn khi truyền đạt dữ liệu dạng số hóa.

Hiện nay, RSA là chữ ký số được ứng dụng phổ biến trong các giao dịch trực tuyến và thương mại điện tử bởi khả năng đảm bảo an toàn khi điều kiện độ dài khóa đủ lớn. 

2. Cấu tạo của chữ ký số RSA

Chữ ký số RSA là gì? Mức độ an toàn của chữ ký số RSA
Chữ ký số RSA gồm một cặp khóa được mã hóa không đối xứng

Dựa trên công nghệ mã hóa RSA, chữ ký số RSA gồm một cặp khóa được mã hóa không đối xứng (một khóa công khai và một khóa bí mật) và bao gồm các thành phần khác đó là người ký, người nhận, ký số. Cụ thể như sau:

  • Khóa bí mật (Private Key): dùng để tạo ra chữ ký số RSA.
  • Khóa công khai (Public Key): dùng để thẩm định, kiểm tra chữ ký số và xác thực về người dùng. Khóa công khai được tạo bởi khóa bí mật tương ứng trong mỗi cặp khóa được mã hóa không đối xứng.
  • Người ký: đối tượng dùng khóa bí mật để ký số vào một dữ liệu nào đó thể hiện tên của mình.
  • Người nhận: đây là đối tượng sẽ nhận được thông điệp dữ liệu được ký số. Việc này được thực hiện thông qua việc sử dụng các chứng thư số để kiểm tra chữ ký số cho dữ liệu nhận được. 
  • Ký số: có nhiệm vụ đưa khóa bí mật của hệ mã hóa RSA vào phần mềm tự động tạo và gắn chữ ký số cho thông điệp dữ liệu nào đó.

3. Giải thích thuật ngữ liên quan đến hệ mã hóa RSA dễ hiểu nhất

 

Chữ ký số RSA là gì? Mức độ an toàn của chữ ký số RSA
Chữ ký số sử dụng công nghệ mã hóa RSA có mức độ bảo mật cao

Chữ ký số RSA nói riêng hay hệ mã hóa RSA nói chung đều hoạt động dựa trên 4 bước chính, bao gồm sinh khóa, chia sẻ mã, mã hóa và giải mã.

3.1. Sinh khóa cho hệ mã hóa RSA

Mấu chốt cơ bản của việc sinh khóa cho hệ mã hóa RSA là tìm được bộ 3 số tự nhiên e, d, n là số tự nhiên sao cho:

m^(ed) ≡ m mod n

Trong đó phải đảm bảo vấn đề bảo mật cho d để dù biết e, n hay m thì cũng không thể tìm ra d.

Cụ thể, hệ mã hóa RSA được sinh khóa như sau:

  • Chọn ra 2 số nguyên tố p và q.
  • Tính n = pq. Lúc này n sẽ được dùng làm modulus cho khóa công khai và khóa bí mật.
  • Tính một số giả nguyên tố bằng phi hàm Carmichael như sau: (n) = BCNN(λ(p), λ(q)) = BCNN(p − 1, q − 1) và cần đảm bảo giữ bí mật cho giá trị này.
  • Chọn một số tự nhiên e nằm trong khoảng (1, λ(n)) sao cho e thỏa mãn điều kiện ƯCLN(e, λ(n)) = 1, tức e và λ(n) nguyên tố cùng nhau.
  • Tính toán số d sao cho đảm bảo điều kiện là d ≡ 1/e (mod λ(n)) hay de ≡ 1 (mod λ(n)). Khi đó, số d được gọi là nghịch đảo modulo của e (theo modulo mod λ(n)).

Khóa bí mật sẽ là bộ số (n, d) và khóa công khai sẽ là bộ số (n, e). Cần giữ khóa bí mật cẩn thận cũng như các số nguyên tố p và q vì từ đó mà việc tính toán các khóa sẽ trở nên dễ dàng hơn.

Thực tế, số e được chọn tương đối nhỏ để việc mã hóa và giải mã trở nên dễ dàng và nhanh chóng hơn. Giá trị e được dùng phổ biến nhất là e = 65537.

Bên cạnh đó, có thể sử dụng phi hàm Euler φ(n) = (p − 1)(q − 1) và coi nó như λ(n) để tính số giả nguyên tố. Bởi φ(n) là bội của λ(n) nên d cần thỏa mãn điều kiện de ≡ 1 (mod φ(n)) cd ≡ 1/e (mod λ(n))

3.2. Mã hóa khóa công khai và giải khóa khóa bí mật cho hệ mã hóa RSA

Sau khi sinh khóa cho hệ mã hóa RSA, bước tiếp theo là mã hóa với khóa công khai (n, e) và giải mã với khóa bí mật (n, d).

Nếu có bản rõ M thì cần chuyển nó về số tự nhiên m trong khoảng (0, n) với điều kiện m, n cùng là nguyên tố. Việc này được thực hiện bằng cách thêm kỹ thuật padding. Tiếp đến là thực hiện mã hóa m thành c theo công thức:

c ≡ m^e mod n c

Sau đó giá trị c sẽ chuyển cho người nhận và c được giải mã để lấy m theo công thức:

c^d ≡ m^(de) ≡ m mod n

Đây chính là cách đảo ngược padding để lấy m và có lại dữ liệu mã hóa. 

Dưới đây là ví dụ để bạn hiểu rõ hơn về cách mã hóa với khóa công khai và giải mã với khóa bí mật:

Cho p = 5, q = 7 

=> n = pq = 35 

=> φ(n) = 24

Chọn e = 5 vì ƯCLN(5, 24) = 1 và chọn d = 29 vì ed – 1 = 29×5 – 1 chia hết cho 24.

Giả sử m = 32, chúng ta sẽ mã hóa m và có kết quả:

c = 32 ^ 5 % 35 = 2

Tiếp đến tiến hành thu m bằng cách giải mã c theo công thức: 

m = 2 ^ 29 % 35 = 32 (đây là giá trị của m ban đầu) 

Bạn có thể thử với các giá trị khác nhau của m để kiểm tra xem thuật toán có hoàn toàn chính xác hay không.

Mức độ bảo mật của hệ mã hóa RSA phụ thuộc rất nhiều vào khả năng phân tích thừa số nguyên tố của các số lớn. Lí do là vì khóa công khai được cung cấp một cách rộng rãi, việc phân tích thừa số nguyên tố đơn giản dễ dẫn đến trường hợp lộ khóa bí mật.

XEM THÊM >> chữ ký số trong giao dịch Ngân Hàng

>> chữ ký số y tế, bệnh viện

4. Mức độ an toàn và bảo mật của chữ ký số RSA

Chữ ký số RSA là gì? Mức độ an toàn của chữ ký số RSA
Chữ ký số sử dụng công nghệ mã hóa RSA an toàn và khó bị giả mạo

Mặc dù việc xử lý chữ ký số phức tạp hơn hẳn chữ ký tay truyền thống nhưng nó đem lại nhiều giá trị về cả tính tiện dụng cũng như độ bảo mật. 

4.1. Xác định nguồn gốc

Tuy vẫn có những thách thức về an ninh nhất định nhưng hệ mã hóa RSA vẫn khá an toàn. Hệ mã hóa RSA cho phép tạo chữ ký với khóa bí mật mà chỉ người chủ mới biết.

Khi nhận gói tin, người nhận xác thực chữ ký bằng cách dùng khóa công khai giải mã rồi mới tính giá trị hash của bản tin gốc và so sánh với hash trong gói tin nhận được. 

4.2. Dữ liệu được bảo toàn một cách toàn vẹn

Tin nhắn gửi từ khóa bí mật rất khó bị giả mạo bởi giá trị hash cũng sẽ thay đổi theo nếu có thay đổi tin nhắn. Do đó, những kẻ nghe lén không thể thay đổi tin nhắn trong mạng mặc dù có thể tìm cách đọc tin nhắn gốc và cả hash của nó. Lý do là vì họ không có khóa bí mật để sửa đổi chữ ký số cho phù hợp.

4.3. Chữ ký số không thể phủ nhận

Trong giao dịch điện tử, chỉ với một gói tin kèm chữ ký số cũng giúp cho việc tìm nguồn gốc của chữ ký đó trở nên dễ dàng hơn rất nhiều. Bởi vì khóa bí mật chỉ có người chủ của nó mới có thể biết.

Tuy nhiên, hệ mã hóa RSA hay bất kỳ hệ mã hóa nào khác cũng đều có những vấn đề về an ninh nhất định nên việc bảo mật không thể đảm bảo tính chính xác tuyệt đối.

Có thể thấy, sự phát triển của công nghệ giúp cho chữ ký số ngày càng hiện đại với mức độ bảo mật cao. Nhờ đó mà hỗ trợ rất nhiều cho các giao dịch điện tử, đặc biệt là thương mại điện tử đang được thực hiện liên tục hàng ngày, hàng giờ.

Đăng Ký Mới Chữ Ký Số Viettel-CA các gói: 1 năm, 2 năm, 3 năm như sau:

Gói Cước 1 Năm 2 Năm 3 Năm
Giá Xuất Hóa Đơn

(bao gồm VAT)

 

1.826.000

 

2.741.000

 

3.109.000

Giá Khuyến Mãi 1.390.000 1.990.000 2.190.000

TỔNG ĐÀI LIÊN HỆ ĐĂNG KÝ VIETTEL-CA: 0963.14.5353 (Zalo) hoặc 0866.222.900

Email: [email protected] & [email protected]

Tổng đài hỗ trợ kỹ thuật chữ ký số toàn Quốc: 1800.8000

Đăng ký gia hạn chữ ký số Viettel các gói: 1 năm, 2 năm, 3 năm như sau: (giá trị tính:VNĐ)

Gói Cước 1 Năm 2 Năm 3 Năm
Giá Xuất Hóa Đơn

(Bao gồm VAT)

 

1.276.000

 

2.191.000

 

2.909.000

Giá Thanh Toán
990.000 1.390.000 1.890.000

Giá Đăng Ký Mới Chữ Ký Số Cá Nhân Viettel-CA các gói: 1 năm, 2 năm, 3 năm như sau:

Gói Cước 1 Năm 2 Năm 3 Năm
Giá xuất hóa đơn (bao gồm VAT) 1.045.000 1.391.500 1.573.000 
Giá thanh toán
945.000 1.190.000 1.390.000

LIÊN HỆ ĐĂNG KÝ CKS VIETTEL-CA CÁ NHÂN: 0963.14.5353 (Zalo) hoặc 0866.222.900

Email: [email protected] & [email protected]

Tổng đài hỗ trợ kỹ thuật chữ ký số toàn Quốc: 1800.8000

Hy vọng những nội dung Viettelnet chia sẻ trên đây đã giúp bạn hiểu về hệ mã hóa RSA, cũng như trả lời cho câu hỏi chữ ký số RSA là gì. Nếu có nhu cầu đăng ký sử dụng dịch vụ chữ ký số, quý khách hàng vui lòng truy cập website của Viettelnet theo địa chỉ viettelnet.vn hoặc liên hệ qua hotline 0866.222.900 để được tư vấn chi tiết, tận tâm hơn.