API-ключ là vé số cá nhân của bạn vào thế giới giao diện lập trình. Tôi thường xuyên sử dụng chúng và đã nhận ra một điều: bạn cần coi chúng như chìa khóa căn hộ — nếu mất, người lạ sẽ xâm nhập vào không gian của bạn.
API là gì và tại sao chúng ta cần khóa?
Hãy tưởng tượng rằng API là một người phục vụ trong nhà hàng. Bạn (ứng dụng) muốn món ăn (dữ liệu), và người phục vụ chạy giữa bếp (máy chủ) và bạn. Nếu không có người phục vụ, bạn sẽ phải tự mình vào bếp - và ở đó thật hỗn loạn!
Khi tôi lần đầu tiên sử dụng API của các dịch vụ tiền điện tử, tôi đã rất ấn tượng với sự tiện lợi của nó. Chỉ với một yêu cầu, bạn có thể nhận được tỷ giá, khối lượng giao dịch và vốn hóa. Nhưng hệ thống phải biết - chính xác là tôi đang yêu cầu, chứ không phải là một kẻ lừa đảo nào đó.
Và đây là API-ключ — mã độc nhất vô nhị, nói với hệ thống: "Vâng, đó là tôi, hãy cho tôi vào".
Giải phẫu API-ключа
Ở một số nền tảng, API-ключ chỉ là một chuỗi ký tự. Ở những nền tảng khác, đó là một tập hợp các khóa. Tôi đã làm việc với nhiều nền tảng giao dịch khác nhau, và ở mỗi nơi đều khác nhau: có nơi có hai khóa ( công khai và bí mật ), có nơi có tới ba khóa.
Những chìa khóa này thực hiện hai chức năng chính:
Xác thực: "Bạn thực sự là người mà bạn đang tự xưng không?"
Xác thực: "Bạn được phép làm gì?"
Chữ ký và mã hóa — ma thuật toán học
Đặc biệt thú vị là chữ ký mã hóa. Khi tôi gửi yêu cầu qua API, hệ thống có thể yêu cầu chữ ký - điều này giống như con dấu trên tài liệu, xác nhận tính xác thực của nó.
Có hai phương pháp:
Khóa đối xứng: cùng một bí mật được sử dụng để tạo và xác minh chữ ký. Nhanh chóng, nhưng kém an toàn hơn nếu bí mật bị đánh cắp.
Khóa bất đối xứng: một cặp khóa — khóa riêng ( chỉ có tôi ) và khóa công khai ( có thể cho mọi người xem ). Tôi ký bằng khóa riêng, còn bất kỳ ai có khóa công khai đều có thể xác minh. Có lần tôi vô tình đăng khóa công khai lên kho lưu trữ — điều đó thì bình thường, nhưng với khóa riêng thì không thể chấp nhận được!
API-keys an toàn đến mức nào?
Thật lòng mà nói? Không tốt lắm. Một lần, tôi đã để lại API-ключ trong mã mà tôi đã tải lên GitHub. Sau một giờ, tôi nhận thấy hoạt động đáng ngờ — ai đó đã cố gắng thực hiện các giao dịch! May mắn thay, tôi đã thu hồi khóa kịp thời.
Các hacker đang săn lùng các API key trong các kho lưu trữ công khai. Họ khởi chạy các bot quét GitHub để tìm các khóa được công bố ngẫu nhiên.
Cách tôi bảo vệ các API-keys của mình
Sau sự cố đó, tôi đã phát triển nghi thức của riêng mình:
Tôi thay đổi khóa mỗi tháng. Vâng, điều này hơi rắc rối với việc thiết lập kịch bản, nhưng an toàn quan trọng hơn.
Sử dụng danh sách trắng IP. Ngay cả khi ai đó đánh cắp khóa, họ chỉ có thể sử dụng nó từ các địa chỉ được phép.
Tôi tạo ra các khóa khác nhau cho các nhiệm vụ khác nhau. Một cái để đọc dữ liệu, cái khác để giao dịch, cái thứ ba để rút tiền — với các mức độ truy cập khác nhau.
Tôi lưu giữ chìa khóa ở dạng mã hóa, sử dụng trình quản lý mật khẩu.
KHÔNG BAO GIỜ chia sẻ khóa. Một người bạn của tôi đã yêu cầu khóa "chỉ để kiểm tra một cái gì đó" — tôi đã từ chối một cách dứt khoát. Điều này giống như việc đưa cho ai đó thẻ ngân hàng của bạn với mã PIN.
Nếu bạn thấy điều gì đó lạ — hãy ngay lập tức tắt khóa! Tốt hơn là thận trọng và mất một chút thời gian, hơn là mất hết tiền của mình.
API-keys là hộ chiếu kỹ thuật số của bạn. Hãy bảo vệ nó như con ngươi của mắt, đặc biệt là khi nói đến các giao dịch tài chính.
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Bí mật của API-keys: chúng là gì và tại sao không nên phân phát chúng một cách bừa bãi
API-ключ là vé số cá nhân của bạn vào thế giới giao diện lập trình. Tôi thường xuyên sử dụng chúng và đã nhận ra một điều: bạn cần coi chúng như chìa khóa căn hộ — nếu mất, người lạ sẽ xâm nhập vào không gian của bạn.
API là gì và tại sao chúng ta cần khóa?
Hãy tưởng tượng rằng API là một người phục vụ trong nhà hàng. Bạn (ứng dụng) muốn món ăn (dữ liệu), và người phục vụ chạy giữa bếp (máy chủ) và bạn. Nếu không có người phục vụ, bạn sẽ phải tự mình vào bếp - và ở đó thật hỗn loạn!
Khi tôi lần đầu tiên sử dụng API của các dịch vụ tiền điện tử, tôi đã rất ấn tượng với sự tiện lợi của nó. Chỉ với một yêu cầu, bạn có thể nhận được tỷ giá, khối lượng giao dịch và vốn hóa. Nhưng hệ thống phải biết - chính xác là tôi đang yêu cầu, chứ không phải là một kẻ lừa đảo nào đó.
Và đây là API-ключ — mã độc nhất vô nhị, nói với hệ thống: "Vâng, đó là tôi, hãy cho tôi vào".
Giải phẫu API-ключа
Ở một số nền tảng, API-ключ chỉ là một chuỗi ký tự. Ở những nền tảng khác, đó là một tập hợp các khóa. Tôi đã làm việc với nhiều nền tảng giao dịch khác nhau, và ở mỗi nơi đều khác nhau: có nơi có hai khóa ( công khai và bí mật ), có nơi có tới ba khóa.
Những chìa khóa này thực hiện hai chức năng chính:
Chữ ký và mã hóa — ma thuật toán học
Đặc biệt thú vị là chữ ký mã hóa. Khi tôi gửi yêu cầu qua API, hệ thống có thể yêu cầu chữ ký - điều này giống như con dấu trên tài liệu, xác nhận tính xác thực của nó.
Có hai phương pháp:
Khóa đối xứng: cùng một bí mật được sử dụng để tạo và xác minh chữ ký. Nhanh chóng, nhưng kém an toàn hơn nếu bí mật bị đánh cắp.
Khóa bất đối xứng: một cặp khóa — khóa riêng ( chỉ có tôi ) và khóa công khai ( có thể cho mọi người xem ). Tôi ký bằng khóa riêng, còn bất kỳ ai có khóa công khai đều có thể xác minh. Có lần tôi vô tình đăng khóa công khai lên kho lưu trữ — điều đó thì bình thường, nhưng với khóa riêng thì không thể chấp nhận được!
API-keys an toàn đến mức nào?
Thật lòng mà nói? Không tốt lắm. Một lần, tôi đã để lại API-ключ trong mã mà tôi đã tải lên GitHub. Sau một giờ, tôi nhận thấy hoạt động đáng ngờ — ai đó đã cố gắng thực hiện các giao dịch! May mắn thay, tôi đã thu hồi khóa kịp thời.
Các hacker đang săn lùng các API key trong các kho lưu trữ công khai. Họ khởi chạy các bot quét GitHub để tìm các khóa được công bố ngẫu nhiên.
Cách tôi bảo vệ các API-keys của mình
Sau sự cố đó, tôi đã phát triển nghi thức của riêng mình:
Tôi thay đổi khóa mỗi tháng. Vâng, điều này hơi rắc rối với việc thiết lập kịch bản, nhưng an toàn quan trọng hơn.
Sử dụng danh sách trắng IP. Ngay cả khi ai đó đánh cắp khóa, họ chỉ có thể sử dụng nó từ các địa chỉ được phép.
Tôi tạo ra các khóa khác nhau cho các nhiệm vụ khác nhau. Một cái để đọc dữ liệu, cái khác để giao dịch, cái thứ ba để rút tiền — với các mức độ truy cập khác nhau.
Tôi lưu giữ chìa khóa ở dạng mã hóa, sử dụng trình quản lý mật khẩu.
KHÔNG BAO GIỜ chia sẻ khóa. Một người bạn của tôi đã yêu cầu khóa "chỉ để kiểm tra một cái gì đó" — tôi đã từ chối một cách dứt khoát. Điều này giống như việc đưa cho ai đó thẻ ngân hàng của bạn với mã PIN.
Nếu bạn thấy điều gì đó lạ — hãy ngay lập tức tắt khóa! Tốt hơn là thận trọng và mất một chút thời gian, hơn là mất hết tiền của mình.
API-keys là hộ chiếu kỹ thuật số của bạn. Hãy bảo vệ nó như con ngươi của mắt, đặc biệt là khi nói đến các giao dịch tài chính.