Trước khi tham gia đầu tư sinh lãi trong thị trường tiền điện tử, trước hết bạn phải học cách bảo vệ được tài sản của mình. Muốn làm được điều đó, chúng ta phải nắm được thế nào là các khóa công khai và khóa cá nhân của ví tiền điện tử. Bài viết sau đây sẽ giới thiệu cho các bạn biết Private key và Public key là gì? Và làm sao để bảo vệ ví tiền điện tử của mình thật an toàn.
Ví tiền điện tử là gì?
Ví tiền điện tử là phần mềm cho phép bạn lưu trữ và nhận các loại tiền mã hóa như Bitcoin, Ethereum,… Ví có thể lưu trữ nhiều đồng coin và token cùng một lúc nhưng hầu hết các ví sẽ chỉ hỗ trợ một số loại tiền mã hóa nhất định.
Các ví tiền điện tử này sẽ được bảo vệ bởi khóa cá nhân hay còn gọi là Private Key. Đây là một mã thập lục phân dài liên kết từ thiết bị đến ví tiền điện tử của bạn và để có thể sử dụng được số tiền trong ví thì mã này phải khớp với khóa công khai hay Public Key.
Tương tự như các ứng dụng ngân hàng truyền thống, bạn có thể truy cập để biết được số dư của mình trên nhiều thiết bị khác nhau và rủi ro chỉ xảy ra khi bạn quên mật khẩu hoặc làm mất điện thoại.
Nếu bỏ qua những xử lý bên trong của các phần mềm ví (wallet) và hỏi rằng điều gì không thể thiếu và làm nên một wallet thì đó là cặp Private Key và Public Key, chúng xác định nên tính độc nhất của một wallet.
Private key là gì?
Khi bạn sở hữu một wallet, thứ bạn thực sự sở hữu là “Private key”. Private key cho phép bạn quyền chủ sở hữu để truy cập và gửi/rút tài sản tiền điện tử của mình. Nó bảo vệ tài sản của bạn khỏi bị đánh cắp và truy cập trái phép.
Private key cung cấp cho bạn khả năng chứng minh quyền sở hữu hoặc sử dụng, chi tiêu số tiền liên quan đến địa chỉ công khai của bạn. Hãy bảo mật private key bằng cách tốt nhất có thể.
Private key có thể có những dạng như sau: Mã nhị phân dài 256 ký tự, mã thập lục phân 64 chữ số, mã QR, cụm từ dễ nhớ.
Mặc dù bạn có thể tạo public key với private key nhưng thực tế là không thể làm ngược lại vì chức năng “trapdoor” (cơ chế đạo hàm cửa sập) một chiều. Với một private key, bạn có thể tạo bất kì số lượng public key nào mà bạn muốn.
Một Private Key luôn bắt đầu bằng con số 5 và nó là một dãy số có dạng như thế này: 5Kb8kLf9zgWQnogidDA76MzPL6TsZZY36hWXMssSzNydYXYB9KF.
Đặc điểm chính của Private Key
Private Key là 1 số biểu diễn bởi 256 Bit: Về lý thuyết thì ta sẽ có 2256 (~1077) Private Key, nhưng thực tế thì Bitcoin sử dụng 1 chuẩn gọi là secp256k1 ECDSA và làm cho dãy số nhỏ hơn 1 chút nhưng không đáng kể, nó vẫn là 1 con số lớn nằm trong khoảng đó và làm cho việc đoán nó trở nên bất khả thi.
Mất Private Key, tài khoản của bạn sẽ bị thất lạc vĩnh viễn: Từ Private Key bạn có thể sinh ra được Public Key, và từ Public Key bạn sinh ra được address (địa chỉ Bitcoin). Tuy nhiên quá trình ngược lại là điều không thể.
Sinh Private Key như thế nào? Để 1 Private Key hợp lệ thì nó cần là 1 số biểu diễn dưới dạng 256 bit và thỏa mãn chuẩn secp256k1. Kết hợp 2 yếu tố đó, ta có thể viết 1 script sinh ngẫu nhiên 1 số 256 bit trong khoảng từ 0x1 đến 0x1 to 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140.
Public Key là gì?
Public Key hay còn gọi là khóa công khai là một mã mật mã cho phép người dùng nhận tiền điện tử vào tài khoản của mình. Khóa công khai cùng với khóa riêng là những công cụ quan trọng cần có để đảm bảo an ninh cho nền kinh tế tiền điện tử.
Công thức tính Public Key đơn giản hóa như sau: Public_key = Private_key * G. Public_key chính là số lần nhân G với Private_key lần về mặt hình học.
Điểm yếu & điểm mạnh của Public Key
Điểm mạnh
- Tính bảo mật: Chỉ những người nhận được ủy quyền mới có thể đọc các tin nhắn được mã hóa.
- Tính xác thực: Người gửi có thể ký điện tử vào thư của họ để người nhận biết rằng ghi chú không bị thay đổi khi chuyển tiếp.
- Không từ chối: Người gửi không thể phủ nhận họ đã viết nội dung thư sau này.
Điểm yếu
- Dễ bị tấn công từ người trung gian: Một tin tặc có thể chặn một tin nhắn, thay đổi nó và đánh lừa máy tính chủ thực hiện một kết nối không an toàn. Khi điều đó xảy ra, tin tặc có thể đọc qua hầu hết mọi thông báo dành cho máy chủ của bạn.
- Những thách thức về lập trình: Public Key có thể khó hiểu và khó thực hiện từ đầu, nhưng may mắn thay cho các nhà phát triển, có rất nhiều thư viện có sẵn để xử lý các công việc nặng nhọc. Thư viện Mật mã và Mạng (NaCl) nổi tiếng cung cấp một API được gọi là API Box, giúp xử lý mật mã khóa công khai trở nên đơn giản.
- Mất khóa cá nhân: Nếu khóa cá nhân bị mất, việc truy cập vào dữ liệu sẽ trở nên khó khăn.
- Man-in-the-middle (MitM) tấn công: Mã hóa Public Key có thể là mục tiêu cho các cuộc tấn công MitM. Thông thường có 2 cách chính để tin tưởng danh tính của một trang web là chứng chỉ bảo mật và mã hóa khóa công khai của nó. Nếu một trong hai yếu tố này bị xâm phạm, một bên độc hại có thể tự chèn vào kết nối giữa người dùng và trang web, sau đó nắm bắt bất kỳ thông tin nào được gửi giữa hai bên.
Các phương pháp mật mã được sử dụng trong tiền điện tử
Khi nói đến mật mã trong tiền điện tử, có một số phương pháp và bao gồm mã hóa đối xứng, mã hóa không đối xứng và hash.
Hash
Hashing được thiết kế để mã hóa địa chỉ tài khoản của người dùng nhằm mã hóa các giao dịch giữa các tài khoản. Để đảm bảo mã hóa được bảo mật, các chữ cái và số ngẫu nhiên được thêm vào giá trị được lưu trữ. Điều đó chủ yếu để giảm thiểu rủi ro của việc giải mã dễ dàng. Trong khi giá trị được lưu trữ đề cập đến dấu vân tay kỹ thuật số hoặc giá trị hash sau khi quá trình chuyển đổi hoàn tất.
Mã hóa đối xứng
Đây là một trong những cách mã hóa phổ biến nhất, dễ nhất nhưng hiệu quả. Các thông điệp được mã hóa bằng một khóa duy nhất, trong đó khóa có thể giống hoặc khác nhau giữa các bên đồng thời. Sau đó, nó được truyền đến người nhận và sẽ được giải mã khi nó được nhận và xác minh.
Mã hóa không đối xứng
Không giống như đối xứng, mã hóa và giải mã thông điệp thường liên quan đến hai khóa – public key và private key. Public key được sử dụng để xác minh giao dịch sau khi giao dịch được yêu cầu. Trong khi private key dùng để giải mã tin nhắn hoặc giao dịch. Khái niệm này là duy trì tính xác thực của giao dịch và giảm thiểu khả năng mất an ninh. Điều đó cũng có nghĩa là, nếu private key bị thất lạc, không có cách nào để tìm lại. Tương tự, nếu private key bị lộ, bất kỳ giao dịch nào cũng có thể được cấp và không thể truy xuất được vì khóa đó đã được ủy quyền.
Sự khác biệt giữa Public key và Private key
Thuật toán và Cơ chế
Trong mã hóa public key, phải có hai khóa riêng biệt để mã hóa và giải mã. Private key chỉ dành cho chủ sở hữu, trong khi public key có sẵn cho bất kỳ ai. Cần có một khóa để truyền giữa hai bên liên quan đến mật mã khóa đối xứng. Cùng một private key được sử dụng để mã hóa và giải mã thông tin. Nó được chia sẻ giữa người gửi và người nhận một tin nhắn được mã hóa.
Hiệu suất
Cơ chế private key nhanh hơn nhiều so với public key. Đó là vì private key chỉ yêu cầu một khóa trong khi public key yêu cầu hai khóa.
Sự riêng tư
Private key được giữ bí mật và không được tiết lộ cho bất kỳ ai ngoài chủ sở hữu của ví. Sau khi bị mất, private key không thể khôi phục và tệp được mã hóa sẽ không thể sử dụng được. Thông thường, các khóa này rất khó nhớ vì nó liên quan đến các dãy số phức tạp. Tuy nhiên, sự an toàn của private key hoàn toàn phụ thuộc vào chủ sở hữu của nó. Đó là lý do tại sao phương pháp tốt nhất để giữ an toàn cho các private key của bạn là một thiết bị lưu trữ ngoại tuyến. Mặt khác, public key được mở cho tất cả người dùng và sẽ có khi tìm kiếm. Không có khả năng bị mất public key.
Chữ ký số
Nội dung web có thể được ký điện tử bằng private key và được xác minh bằng public keyi của người dùng. Điều đó giúp dễ dàng xác định người gửi tin nhắn trong mạng và xác nhận rằng danh tính đáng tin cậy đã gửi tin nhắn.
Chữ ký điện tử cung cấp các lợi ích bảo mật nhất định như:
- Xác thực. Nó chứng minh nếu tin nhắn hoặc người dùng là hợp pháp hay không vì không thể giả mạo.
- Không phủ định. Người gửi tin nhắn không thể từ chối chữ ký sau khi giao tiếp.
- Toàn vẹn. Chữ ký đóng vai trò đảm bảo rằng thông điệp đã nhận không bị thay đổi.
Mã hóa và Giải mã
Nội dung được mã hóa bằng public key của người dùng và chỉ có thể được giải mã bằng private key của nó. Đó là cách duy nhất để chuyển đổi thông điệp trở lại.
Mã hóa cung cấp các lợi ích bảo mật sau:
- Sự riêng tư. Không thể truy cập trái phép. Bảo mật đạt được bằng cách sử dụng kprivate key mà chỉ chủ sở hữu biết chứ không ai khác.
- Toàn vẹn. Quá trình mã hóa với public key bảo mật đảm bảo rằng tin nhắn nhận được không bị thay đổi.
Mật mã public key được sử dụng trong một số lượng lớn các giao thức và định dạng dữ liệu, được thực hiện bởi một loạt các ứng dụng và phần mềm hệ thống. Điều đó bao gồm giao thức SSL, SSH, tệp PDF được ký kỹ thuật số, OpenPGP, S / MIME,… Nó được áp dụng rộng rãi cho các chương trình phần mềm, chẳng hạn như trình duyệt, để đảm bảo kết nối an toàn trong các mạng không an toàn. Mật mã không đối xứng tạo thành cơ sở cho thuật toán blockchain, tạo thành cơ sở cho tất cả các loại tiền điện tử.
Cách hoạt động của public key và private key
Cách thức hoạt động của Public key và Private key trong một giao dịch diễn ra như sau:
Giao dịch được mã hóa với Public key của người nhận và chỉ có thể được giải mã bằng Private key đi kèm.
Tiếp theo, giao dịch sẽ được ký. Điều này chứng minh rằng giao dịch chưa từng được sửa đổi. Người gửi ký điện tử vào giao dịch để chứng minh họ là chủ sở hữu của số tiền.
Cuối cùng, giao dịch sẽ được đưa lên blockchain. Các node sẽ kiểm tra và xác thực giao dịch tự động. Bất kỳ giao dịch nào chưa được xác thực đều bị mạng từ chối. Khi quá trình xử lý và xác minh đã hoàn tất, giao dịch sẽ được phát trên sổ cái blockchain và không thể đảo ngược. Lúc này, tiền sẽ được gửi đến Public key của người nhận.
Hướng dẫn bảo mật ví cá nhân an toàn
Với những điều đã giới thiệu ở trên, bạn có thể hiểu được là PassPhrase và Private key là 2 thứ rất quan trọng. Bảo mật 2 thứ này chính là bảo mật tài sản, tiền của các bạn. Sau đây mình xin hướng đẫn một số cách để bạn bảo mật các loại key quan trọng này.
Backup Private Key, PassPhrase
Có một cách mà một số bạn hay có thói quen chụp nhanh màn hình, lưu trữ trong thư mục ảnh. Hoặc paste 2 khoá quan trọng này trên các ứng dụng điện tử (Messenger, Zalo,…). Cách này khá tiện lợi, nhưng cùng với đó là các rủi ro đi kèm:
- Các hình ảnh hoặc gửi vào các ứng dụng khác dễ bị theo dõi, đánh cắp bởi hacker, mã độc hoặc tiện tay vô ý xoá nhầm.
- Khó để bạn thao tác khi cần xác nhận, hay khôi phục là ví trên máy khác.
Một số cách được khuyên dùng để bảo mật:
- Sao chép thủ công ra giấy và cất giữ ở những nơi an toàn. ( Thêm một từ, cụm từ tuỳ ý của bản thân để thêm an toàn)
- Sao lưu nhiều bản, ở nhiều nơi khác nhau. Mất bản này còn bản khác để backup. Nhớ thêm cụm từ của riêng mình nha.
- Với những ai full time Crypto chắc hẳn sử dụng nhiều ví cho nhiều mục đích khác nhau. Làm như trên khá là mất thời gian. Bạn có thể lưu bằng thư mục trên máy tính. Nhưng nên để pass cho thư mục đó tránh có người khác sủ dụng máy tính của mình và đánh cắp nó.
Không chia sẻ private key
Khi tạo ví, bạn phải lưu lại từ khoá bảo mật cũng như chuỗi ký tự của Private Key ở nơi an toàn. Tuyệt đối không tiết lộ cho bất kỳ ai. Nhưng trong một số trường hợp bạn nên chia sẻ với người mà mình tin tưởng nhất (vợ, bố, mẹ…) cách tìm và lấy những key này. đề phòng có trường hợp xấu xảy ra với bản thân mình.
Không sử dụng phần mềm lâu, đường link độc hại
Một email không rõ danh tính, một đường link được gửi qua các ứng dụng chat, đừng mở đừng click. Bạn cũng không nên sử dụng các phần mềm lậu, crack. Nguy cơ xảy ra rò rỉ dữ liệu cá nhân sẽ rất lớn. Các ứng dụng chat như telegram,… bạn cũng nên tắt tính năng tự tải xuống tập tin để bảo mật an toàn hơn.
Khi hiểu rõ về các loại khóa trong tiền điện tử, khi vọng các bạn sẽ biết cách bảo vệ tài sản của mình khi tham gia đầu tư. Chúc các bạn đầu tư an toàn.
Xem thêm >>> Bảo mật ví Bitcoin khi dùng thiết bị Android