Chương 4: PKI
(Public Key Cryptography) - Mật mã khóa công khai
Mật mã khóa công khai hoặc trong PKI còn được gọi là mật mã bất
đối xứng. Nó sử dụng hai cặp khóa - công khai và riêng tư. Một khóa là một số nhị phân
dài. Khóa công khai được phân phối trên toàn thế giới và thực sự công khai
như tên gọi của nó. Khóa riêng là được giữ riêng tư nghiêm ngặt và người
ta không bao giờ nên đánh mất nó.
Trong trường hợp Bitcoin, nếu bạn mất khóa riêng tư vào ví Bitcoin
của mình, toàn bộ nội dung trong ví của bạn sẽ dễ bị đánh cắp ngay lập tức và
trước khi bạn biết, tất cả tiền của bạn (nội dung trong ví của bạn) sẽ không
còn nữa cơ chế trong hệ thống để tìm ra kẻ đã đánh cắp nó - đó là sự ẩn danh
trong hệ thống mà tôi đã đề cập trước đó.
PKI đồng hành hai chức năng - xác
thực và bảo mật thông điệp thông qua cơ chế mã hóa / giải mã. Bây giờ
tôi sẽ giải thích cả hai chức năng này -
Xác thực
Khi hai bên trao đổi tin nhắn, điều quan trọng là phải thiết lập sự
tin tưởng giữa người gửi và người nhận. Đặc biệt, người nhận phải tin tưởng
nguồn tin nhắn. Đi đến kịch bản trước đó của chúng tôi (được mô tả trong
Hình 1) về việc Bob gửi một số tiền cho Lisa để mua một số hàng hóa từ cô ấy,
chúng ta hãy xem PKI xây dựng niềm tin này giữa Bob và Lisa như thế
nào. Nhìn vào hình ảnh dưới đây -
Hình 3
Đầu tiên, nếu Bob muốn gửi một ít tiền cho Lisa, anh ta phải tạo một
khóa riêng / công khai của riêng mình. Lưu ý rằng cả hai khóa luôn được
ghép với nhau và bạn không thể trộn lẫn khóa riêng và khóa chung của các cá
nhân khác nhau hoặc các trường hợp khác nhau.
Bây giờ, Bob nói rằng anh ta đang gửi 10 $ cho Lisa. Vì vậy,
anh ta tạo một tin nhắn (một tin nhắn văn bản đơn giản) chứa khóa chung của Bob
(người gửi), khóa chung của Lisa (người nhận) và số tiền (10 $).
Mục đích của việc chuyển tiền này, chẳng hạn như tôi muốn mua bí
ngô từ bạn, cũng được thêm vào tin nhắn. Toàn bộ tin nhắn hiện được ký bằng
khóa riêng của Bob. Khi Lisa nhận được tin nhắn này, cô ấy sẽ sử dụng thuật
toán xác minh chữ ký của khóa công khai của PKI và Bob để đảm bảo rằng tin nhắn
thực sự có nguồn gốc từ Bob. Cách thức hoạt động của PKI nằm ngoài phạm vi
của hướng dẫn này. Điều này thiết lập tính xác thực của người khởi tạo tin nhắn. Bây
giờ, chúng ta hãy xem sự riêng tư của tin nhắn.
Tin nhắn riêng tư
Bây giờ, khi Lisa đã nhận được khoản thanh toán của mình, cô ấy muốn
gửi liên kết đến ebook mà Bob muốn mua. Vì vậy Lisa sẽ tạo một tin nhắn và
gửi nó cho Bob như trong hình -
Hình 4
Lisa tạo một tin nhắn như là Đây Đây là liên kết đến ebook của tôi
mà bạn đã yêu cầu, ký tên với khóa công khai của Bob mà cô ấy đã nhận được
trong tin nhắn yêu cầu của Bob và cũng mã hóa tin nhắn bằng một số khóa bí mật
được chia sẻ giữa hai người trong quá trình bắt tay HTTPS.
Bây giờ, Lisa chắc chắn rằng chỉ Bob mới có thể giải mã tin nhắn bằng
khóa riêng do Bob giữ. Ngoài ra, ai đó chặn tin nhắn sẽ không thể khôi phục
nội dung của nó vì nội dung được mã hóa bằng khóa bí mật chỉ do Bob và Alice nắm
giữ. Điều này đảm bảo với Lisa rằng quyền truy cập vào ebook của cô chỉ được
cấp cho Bob.
Đã thấy cả các tính năng, Xác thực và Quyền riêng tư của Tin nhắn,
sử dụng PKI, chúng ta hãy tiến lên để xem Bitcoin sử dụng PKI như thế nào để bảo
mật sổ cái công khai mà tôi đã đề cập trong chương. Bitcoin là gì?
Bạn có thể tìm hiểu kỹ hơn về các PKI- Các thuật toán PKI phổ biến
nhất là RSA và ECDSA .
**********
Mục lục:
Chương 1: Giới thiệu về Blockchain
Chương 2: Chi tiêu gấp đôi (Double Spending)
Chương 3: Sơ lược về lịch sử phát triển của Blockchain
Chương 4: PKI (Public Key Cryptography) - Mật mã khóa công khai
Chương 5: Hàm Băm (Hashing)
Chương 6: Khai phá (Mining)
Chương 7: Chuỗi khối (Chaining Blocks)
Chương 8: Bằng chứng công việc
Chương 9: Mạng và khai thác
Chương 10: Phần thưởng cho người khai thác
Chương 11: Cây Merkle (Merkle Tree)
Chương 12: Xác minh thanh toán
Chương 13: Giải quyết xung đột
Chương 14: Quyền riêng tư
Chương 15: Giảm thiểu tấn công
Chương 16: Kết luận