Tìm hiểu về Chữ ký số

Thảo luận trong 'Chữ ký số và xác thực điện tử' bắt đầu bởi Twentieth, 07/08/20, 11:08 AM.

  1. Twentieth

    Twentieth Moderator Thành viên BQT

    Tham gia: 05/08/20, 02:08 PM
    Bài viết: 1
    Đã được thích: 6
    Điểm thành tích:
    3
    Có thể bạn đã nghe và đọc được ở đâu đó về Chữ ký số, nhưng với số đông chúng ta ở đây thì có lẽ chưa hiểu nhiều về chữ ký số. Trong loạt bài viết sắp tới, tôi hy vọng sẽ giúp các bạn hiểu hơn về Chữ ký số và công việc của những người làm trong lĩnh vực này. Đầu tiên chúng ta sẽ tìm hiểu sơ qua về lịch sử hình thành của Chữ ký số.

    Con người đã sử dụng các hợp đồng dưới dạng điện tử từ hơn 100 năm nay với việc sử dụng mã Morse và điện tín. Vào năm 1889, tòa án tối cao bang New Hampshire (Hoa kỳ) đã phê chuẩn tính hiệu lực của chữ ký điện tử. Tuy nhiên, chỉ với những phát triển của khoa học kỹ thuật gần đây thì chữ ký điện tử mới đi vào cuộc sống một cách rộng rãi.

    Vào thập kỷ 1980, các công ty và một số cá nhân bắt đầu sử dụng máy fax để truyền đi các tài liệu quan trọng. Mặc dù chữ ký trên các tài liệu này vẫn thể hiện trên giấy nhưng quá trình truyền và nhận chúng hoàn toàn dựa trên tín hiệu điện tử.

    Năm 1988, Shafi Goldwasser, Silvio Micali và Ronald Rivest trở thành người đầu tiên xác định các yêu cầu bảo mật của lược đồ ký số. Họ đã mô tả các mô hình tấn công vào các lược đồ ký số và cũng trình bày lược đồ ký số GMR, có thể chứng minh là ngăn chặn được việc giả mạo tin nhắn.

    Vậy Chữ ký số là gì ?

    Chữ ký số là 1 dạng chữ ký điện tử để xác thực nội dung và người sở hữu thông điệp điện tử sử dụng mã hóa khóa công khai.

    Capture.PNG
    Hình: Chữ ký số

    Chữ ký số được bắt nguồn từ khái niệm Hạ tầng khóa công khai. Vậy Hạ tầng khoá công khai là gì ?

    Hạ tầng khóa công khai (Public Key Infrastructure - PKI) là tập hợp các đối tượng phần cứng, phần mềm, con người, các chính sách, các thủ tục để tạo, quản lý, lưu trữ, phân phối và thu hồi chứng thư số.

    Ý nghĩa của từ Hạ tầng khóa công khai muốn nhắc cho chúng ta biết đến đó là Mã hóa khóa công khai, vậy Mã hóa khóa công khai là gì?

    Mã hóa khóa công khai (hay mã hóa bất đối xứng):
    • Dùng 1 khóa để mã hóa và 1 khóa khác để giải mã (sau đây được gọi là Private Key và Public Key).
    • Cặp khóa này có quan hệ toán học với nhau.
    • Private Key dễ dàng suy ra Public Key.
    • Public Key rất khó để suy ra được Private Key (với tốc độ tính toán máy tính hiện tại thì 1 khóa có độ dài 1024 bit cần khoảng 10 năm để suy ra được Private Key từ Public Key).
    Chúng ta sẽ tìm hiểu từng thành phần trong PKI. Ở phần này chúng ta sẽ tìm hiểu về chữ ký số để trả lời được các câu hỏi: Tại sao chữ ký số lại được sử dụng rộng rãi? Chữ ký số được tạo ra như thế nào? Chữ ký số có những thành phần như thế nào?

    Câu hỏi 1: Tại sao chữ ký số lại được sử dụng rộng rãi?

    Chữ ký số được sử dụng rộng rãi vì nó có 1 số tính chất quan trọng sau:

    • Tính toàn vẹn: dữ liệu hay thông tin không bị thay đổi, mất mát trong khi lưu trữ hay truyền tải
    • Tính xác thực: xác định được người gửi thông điệp
    • Tính chống chối bỏ: người gửi không thể chối bỏ việc gửi thông điệp

    Ngoài ra chữ ký số sử dụng khá đơn giản, dễ dàng với người dùng cuối ngay cả khi họ không hiểu rõ về mặt kỹ thuật. Bất kể file văn bản gốc dài hay ngắn thì sau khi ký file văn bản không tăng nhiều do sử dụng mã hóa bất đối xứng. Quá trình trình ký và xác thực chữ ký nhanh không ảnh hưởng nhiều đến tốc độ đặc biệt là trong giao dịch điện tử.

    Câu hỏi 2: Chữ ký số được tạo ra như thế nào?

    Quá trình tạo ra chữ ký số:
    2.png
    Hình: Quy trình tạo Chữ ký số

    Bước 1: Băm nội dung văn bản (Sử dụng thuật toán băm: SHA1, SHA2,… Thuật toán băm đã được định nghĩa trong Chứng thư số) => Chuỗi băm.
    Bước 2: Sử dụng Private Key để mã hóa Chuỗi băm => Chuỗi mã hóa.
    Bước 3: Đính kèm chuỗi mã hóa và chứng thư số (có chứa public key) vào văn bản gốc => Văn bản đã ký.
    Bước 4: Gửi văn bản đã ký cho người nhận.

    Quá trình xác thực chữ ký số:
    3.png
    Hình: Quy trình xác thực Chữ ký số

    Bước 1: Nhận văn bản đã ký số.
    Bước 2: Sử dụng Public Key trong chứng thư số để giải mã Chuỗi mã hóa => Chuỗi băm a.
    Bước 3: Băm nội dung văn bản gốc (Sử dụng thuật toán băm: SHA1, SHA2,… Thuật toán băm đã được định nghĩa trong Chứng thư số) => Chuỗi băm b.
    Bước 4: So sánh Chuỗi băm a và Chuỗi băm b, nếu 2 Chuỗi băm này bằng nhau thì văn bản gốc là nguyên vẹn còn không bằng nhau thì văn bản gốc đã bị thay đổi.

    Câu hỏi 3: Chữ ký số có những thành phần như thế nào?

    Như đã mô tả trong quy trình tạo ra Chữ ký số phía trên, chúng ta có thể thấy Chữ ký số bao gồm:
    • Văn bản gốc.
    • Chuỗi mã hóa (dữ liệu mã hóa từ văn bản gốc).
    • Chứng thư số của người ký.
    • Thời gian ký.
    • Thông tin tùy chọn (có thể là dữ liệu chú thích, hình ảnh đồ họa chữ ký).
    Trong các bài viết tiếp trong loạt bài về Chữ ký số, tôi sẽ trình bày chi tiết hơn về Chứng thư số, sự khác nhau giữa Chữ ký số và Chứng thư số.
     
    Chỉnh sửa cuối: 07/08/20, 04:08 PM
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
    linh24, Judah Hale, whf and 3 others like this.