Giới thiệu về chữ ký số
Trong loạt bài viết về chữ ký số, tôi sẽ cung cấp thông tin từ những khái niệm tổng quan đến chi tiết cách thức triển khai mã hóa. Nếu bạn quan tâm, có thể tham khảo nhiều nguồn tài liệu khác nhau. Những gì tôi chia sẻ đều là kiến thức và kinh nghiệm cá nhân, không hoàn toàn đúng nhưng hy vọng sẽ giúp bạn dễ dàng tiếp cận hơn.
Khái niệm về chữ ký số
Khi còn học trung học cơ sở, tôi từng thấy các thầy cô sử dụng những chiếc USB nhỏ xíu để ký tên vào tài liệu. Thoạt đầu, tôi thắc mắc rằng liệu chỉ cần có USB thì ai cũng có thể ký được. Sau khi tìm hiểu nhưng vẫn mơ hồ, tôi quyết định bỏ qua vấn đề này. Tuy nhiên, với thời gian, tôi đã hiểu rõ hơn về chữ ký số.
Chữ ký số cơ bản được xây dựng dựa trên nguyên tắc mã hóa, bao gồm mã hóa đối xứng và bất đối xứng. Mã MD5, chẳng hạn, được sử dụng để kiểm tra tính toàn vẹn của file bằng cách sinh ra chuỗi hash. Hiểu đơn giản, chữ ký số là quá trình bạn sử dụng khóa bí mật (private key) để mã hóa nội dung (có thể là file, văn bản...) và sử dụng khóa công khai (public key) để xác minh rằng nội dung không bị thay đổi.
Trong các phương pháp mã hóa bất đối xứng, chúng ta sử dụng cặp khóa. Một trong những khóa được gọi là khóa công khai, trong khi khóa kia là khóa bí mật.
Chữ ký số không chỉ đơn thuần là một phương pháp mã hóa mà còn là cơ chế kiểm tra, cho phép chữ ký số đại diện cho danh tính cá nhân và tổ chức. Bạn không thể chụp ảnh chữ ký tay rồi dán vào tài liệu điện tử và tuyên bố rằng đó là chữ ký của bạn.
Được công nhận là phần quan trọng. Chữ ký số sử dụng mã hóa bất đối xứng và được công nhận bởi một tổ chức có thẩm quyền, bảo đảm tính pháp lý và đại diện cho người ký.
Ai là tổ chức công nhận? Trong một công ty, doanh nghiệp có thể công nhận chữ ký số của bạn, nhưng chỉ có hiệu lực trong phạm vi của doanh nghiệp. Trên quy mô lớn hơn, chính phủ sẽ công nhận chữ ký số. Điều này có nghĩa rằng nếu chữ ký số của bạn xuất hiện trên một văn bản, nó thể hiện rằng bạn đã chấp nhận và ký tài liệu đó.
Việc tự tạo chữ ký số để nhà nước công nhận là không thể. Mô hình chữ ký số diễn ra như sau:
RootCA: Là tổ chức nhà nước cung cấp chứng thư số gốc, bạn có thể tham khảo thêm tại RootCA. Tuy nhiên, nhà nước không làm việc trực tiếp với cá nhân.
Sub CA: Các công ty được nhà nước chấp thuận sẽ cung cấp chứng thư số trung gian (Intermediate Certificate) cho người dùng.
End-Entity: Đây là chúng ta - người dùng nhận chữ ký số từ SubCA dựa trên chứng thư số trung gian.
Nơi lưu trữ chứng thư số (certificate)
USB Token
USB token là thiết bị lưu trữ nhỏ, có tính bảo mật cao với khả năng lưu trữ khóa bí mật và khóa công khai. Điều này giúp người dùng dễ dàng ký và xác thực chữ ký. USB token rất phổ biến, nhưng không đủ cho các doanh nghiệp lớn với hàng triệu giao dịch mỗi ngày.
HSM (Hardware Security Module)
HSM là một thiết bị bảo mật cao, có chi phí khá đắt. Nó tương tự như một server hoặc chỉ là một thẻ gắn vào máy chủ. HSM quản lý khóa bí mật, khóa công khai và chứng thư số trong môi trường bảo mật cao, đảm bảo mỗi giao dịch diễn ra nhanh chóng và an toàn.
File
Mặc dù bạn có thể sử dụng file (pfx, p12) để lưu trữ chứng thư số, nhưng chính phủ và luật pháp không công nhận việc sử dụng file này cho mục đích ký số chính thức. Thường chỉ sử dụng file này trong môi trường thử nghiệm.
Kết luận
Mới hôm qua, một nhân viên từ CA đã gọi cho kế toán của công ty báo rằng USB ký số sắp hết hạn, và yêu cầu gia hạn. Trong bài tiếp theo, tôi sẽ trình bày chi tiết về quy trình cấp phát, gia hạn chứng thư số và cách thức thực hiện ký số.
Các thuật ngữ cơ bản trong bài:
- CA: Nhà cung cấp chứng thực số
- Private Key: Khóa bí mật
- Public Key: Khóa công khai
- Root Certificate: Chứng thư số của tổ chức cấp quyền
- Sub Certificate: Chứng thư số của đơn vị phát hành.
- Certificate: Chứng thư số.
source: viblo