Khóa giao diện lập trình ứng dụng (API) là mã duy nhất được API sử dụng để xác định ứng dụng gọi điện hoặc người dùng. Khóa API được sử dụng để theo dõi và kiểm soát ai sử dụng API cũng như cách họ sử dụng API cũng như để xác thực và ủy quyền cho các ứng dụng. Chúng hoạt động tương tự như tên người dùng và mật khẩu. Khóa API có dạng một khóa duy nhất hoặc một bộ nhiều khóa. Người dùng nên làm theo các phương pháp hay nhất để cải thiện tính bảo mật tổng thể nhằm ngăn chặn hành vi trộm cắp khóa API và tránh những hậu quả liên quan đến việc xâm phạm khóa API.
Để hiểu khóa API là gì, Bạn trước tiên phải biết API là gì. Giao diện lập trình ứng dụng hay API là phần mềm trung gian cho phép hai hoặc nhiều ứng dụng chia sẻ thông tin. Ví dụ: API của CoinMarketCap cho phép các ứng dụng khác truy xuất và sử dụng dữ liệu tiền điện tử như giá, khối lượng giao dịch và vốn hóa thị trường.
Khóa API có nhiều dạng khác nhau và có thể là một khóa duy nhất hoặc một bộ nhiều khóa. Các hệ thống khác nhau sử dụng các khóa này để xác thực và ủy quyền cho các ứng dụng, tương tự như cách sử dụng tên người dùng và mật khẩu. Ứng dụng khách API sử dụng khóa API để xác thực các ứng dụng gọi API.
Ví dụ: giả sử Binance Academy muốn sử dụng API CoinMarketCap, CoinMarketCap sẽ tạo khóa API và trong Binance Academy (ứng dụng khách API) ) được sử dụng để xác minh danh tính của họ khi yêu cầu quyền truy cập API. Khi Binance Academy truy cập API của CoinMarketCap, nó sẽ gửi khóa API này tới CoinMarketCap cùng với yêu cầu.
Khóa API này chỉ dành cho Binance Academy và không được chia sẻ hoặc gửi cho người khác. Bằng cách chia sẻ khóa API này, bạn đang cho phép các bên thứ ba truy cập CoinMarketCap với tư cách là Binance Academy và mọi hành động của bên thứ ba sẽ xuất hiện như đến từ Binance Academy.
API CoinMarketCap cũng có thể sử dụng khóa API để xác nhận xem ứng dụng có quyền truy cập vào các tài nguyên được yêu cầu hay không. Ngoài ra, chủ sở hữu API có thể sử dụng khóa API để giám sát hoạt động API, chẳng hạn như loại, lưu lượng truy cập và khối lượng yêu cầu.
Khóa API được sử dụng để kiểm soát và theo dõi người dùng API cũng như cách họ sử dụng chúng. Thuật ngữ "khóa API" có nghĩa khác nhau đối với các hệ thống khác nhau. Một số hệ thống có một mã duy nhất, một số khác có nhiều mã cho một "khóa API" duy nhất.
Do đó, "Khóa API" là một mã duy nhất hoặc bộ mã duy nhất được API sử dụng để xác thực và ủy quyền cuộc gọi mã người dùng hoặc ứng dụng. Một số mã được sử dụng để xác minh và một số được sử dụng để tạo chữ ký mật mã nhằm chứng minh tính hợp pháp của yêu cầu.
Mã xác minh thường được gọi chung là "khóa API" và mã dùng cho chữ ký mật mã có các tên khác nhau, chẳng hạn như " khóa mã hóa", "khóa chung" hoặc "khóa riêng". Việc xác thực yêu cầu xác định các thực thể có liên quan và xác nhận rằng họ chính là người mà họ tuyên bố.
Mặt khác, ủy quyền chỉ định các dịch vụ API được phép truy cập. Khóa API hoạt động giống như tên người dùng và mật khẩu của tài khoản và có thể được kết nối với các tính năng bảo mật khác để cải thiện tính bảo mật tổng thể.
Mỗi khóa API thường được chủ sở hữu API tạo dưới dạng một thực thể cụ thể (xem chi tiết bên dưới) mỗi khi điểm cuối API được gọi Cần phải xác thực hoặc ủy quyền người dùng (hoặc cả hai) và sử dụng các khóa liên quan.
Một số khóa API sử dụng chữ ký mật mã làm lớp xác minh bổ sung. Khi người dùng muốn gửi một số dữ liệu tới API, chữ ký số được tạo bởi một khóa khác có thể được thêm vào yêu cầu. Bằng cách sử dụng mật mã, chủ sở hữu API có thể xác minh rằng chữ ký số này khớp với dữ liệu được gửi.
Dữ liệu được chia sẻ qua API có thể được ký bằng khóa mã hóa. Sau đây là các loại khóa:
Loại khóa này liên quan đến việc thực hiện cả việc ký dữ liệu và xác minh chữ ký bằngmộtkhóa mã hóa. Trong danh mục khóa đối xứng, khóa API và khóa mã hóa thường do chủ sở hữu API tạo ra và dịch vụ API phải xác minh chữ ký bằng cùng một khóa mã hóa. Ưu điểm chính của việc sử dụng một khóa duy nhất là việc tạo và xác minh chữ ký nhanh hơn và yêu cầu ít năng lực tính toán hơn. Mã xác thực thông điệp băm (HMAC) là một đại diện điển hình của khóa đối xứng.
Loại khóa này liên quan đến việc sử dụng cả khóa riêng và khóa chung. Có sự khác biệt giữa hai điều này, nhưng chúng có liên quan với nhau thông qua mật mã. Khóa riêng được sử dụng để tạo chữ ký, trong khi khóa chung được sử dụng để xác minh chữ ký. Khóa API được tạo bởi chủ sở hữu API và các cặp khóa riêng và khóa chung được tạo bởi người dùng. Chủ sở hữu API chỉ cần sử dụng khóa chung để xác minh chữ ký và khóa riêng vẫn được mã hóa cục bộ.
Sử dụng không Ưu điểm chính của khóa đối xứng là việc tạo chữ ký và khóa xác minh là độc lập, dẫn đến tính bảo mật cao hơn. Điều này cho phép các hệ thống bên ngoài xác minh chữ ký nếu nó không thể tạo ra chữ ký. Một ưu điểm khác là một số hệ thống mã hóa bất đối xứng hỗ trợ thêm mật khẩu vào khóa riêng. Cặp khóa RSA là một đại diện điển hình.
Chức năng của khóa API phụ thuộc vào người dùng. Khóa API tương tự như mật khẩu và cần được xử lý thận trọng. Chia sẻ khóa API cũng gần giống như chia sẻ mật khẩu. Làm như vậy sẽ khiến tài khoản của người dùng gặp rủi ro và không được chia sẻ.
Khóa API có thể thực hiện các hoạt động mạnh mẽ trên hệ thống và thường là mục tiêu của các cuộc tấn công mạng. Các hoạt động khác nhau bao gồm yêu cầu thông tin cá nhân hoặc thực hiện các giao dịch tài chính. Trên thực tế, đã có trường hợp trình thu thập dữ liệu web tấn công thành công cơ sở dữ liệu mã trực tuyến và đánh cắp khóa API.
Hậu quả của việc đánh cắp khóa API là nghiêm trọng và có thể dẫn đến tổn thất tài chính đáng kể. Ngoài ra, một số khóa API không hết hạn. Sau khi bị đánh cắp, miễn là bản thân khóa không bị vô hiệu, kẻ tấn công có thể sử dụng nó theo ý muốn.
Khóa API có thể truy cập dữ liệu nhạy cảm và dễ gặp lỗ hổng, vì vậy điều quan trọng là phải sử dụng chúng một cách an toàn. Khi sử dụng khóa API để cải thiện tính bảo mật tổng thể, vui lòng làm theo các nguyên tắc thực hành tốt nhất sau:
Khi có thể Thường xuyên thay đổi Khóa API. Điều này có nghĩa là khóa API hiện tại sẽ bị xóa và tạo khóa mới. Việc tạo và xóa khóa API rất dễ dàng đối với nhiều hệ thống. Một số hệ thống yêu cầu người dùng thay đổi mật khẩu sau mỗi 30 đến 90 ngày. Tương tự, hãy thử thay đổi khóa API của bạn theo tần suất này.
Sử dụng danh sách trắng IP: Khi tạo khóa API, hãy lập danh sách các IP được phép sử dụng khóa (tức là danh sách trắng IP) hoặc lập danh sách chặn IP chi tiết ( Tức là , danh sách đen IP). Bằng cách này, ngay cả khi khóa API bị đánh cắp, IP không được nhận dạng sẽ không thể truy cập được.
Sử dụng nhiều khóa API: Việc có nhiều khóa và phân chia chức năng của từng khóa sẽ giảm thiểu rủi ro về bảo mật vì tính bảo mật không được xác định bởi một khóa duy nhất có quyền quyết định rộng rãi. Bạn có thể đặt danh sách IP trắng khác nhau cho mỗi khóa để giảm thiểu rủi ro bảo mật hơn nữa.
Lưu trữ khóa API một cách an toàn: Không lưu trữ khóa ở những nơi công cộng hoặc trên máy tính công cộng; không lưu trữ chúng ở định dạng văn bản thuần túy thô. Thay vào đó, để tăng cường bảo mật, hãy mã hóa hoặc sử dụng trình quản lý mã hóa để lưu trữ các khóa riêng lẻ mà không vô tình để lộ.
Vui lòng không tiết lộ khóa API cá nhân của bạn. Chia sẻ khóa API cũng giống như chia sẻ mật khẩu. Việc chia sẻ cấu thành việc cấp cho bên kia quyền xác minh và ủy quyền của tôi. Khi khóa API bị rò rỉ, chúng có thể bị đánh cắp và sử dụng để hack vào tài khoản cá nhân. Khóa API chỉ có thể được sử dụng bởi bạn và hệ thống đã tạo ra nó.
Sau khi khóa API bị rò rỉ, vui lòng tắt nó trước để tránh tổn thất lớn hơn. Nếu gây thiệt hại về tài chính, vui lòng chụp ảnh màn hình các thông tin chính liên quan đến vụ việc, liên hệ với các đơn vị liên quan và trình báo sự việc với cơ quan công an. Đây là cách tốt nhất để tăng cơ hội lấy lại số tiền bị mất.
Khóa API cung cấp các chức năng xác thực và ủy quyền cốt lõi cho người dùng Bạn phải quản lý và bảo vệ chìa khóa của bạn một cách cẩn thận. Để đảm bảo sử dụng khóa API an toàn, cần xem xét các yếu tố đa cấp và nhiều mặt. Nói chung, khóa API phải được coi như mật khẩu tài khoản cá nhân.
"Các nguyên tắc an ninh toàn cầu 》
5 chiến lược phòng ngừa và lừa đảo tiền điện tử phổ biến