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