Привіт всім! Сьогодні я хочу поговорити про щось, що завдало мені багато головного болю, поки я не зрозумів це належним чином: API-ключі. Для тих, хто не знає, API-ключ - це, по суті, унікальний код, який ідентифікує вас або ваш додаток, коли ви намагаєтеся отримати доступ до онлайн-сервісу.
Це як спеціальний пароль, але з великою проблемою: якщо він потрапить не в ті руки, ви облажалися! І повірте, я бачив, як багато друзів втрачали гроші через необережне поводження з цими ключами.
API vs. Часова API: Розуміння різниці
Перш за все, API сам по собі є лише посередником, який дозволяє різним додаткам спілкуватися. Типу коли додаток для цін на криптовалюту отримує дані про оновлені значення.
З іншого боку, ключ API – це той код, який доводить, що ви маєте право доступу до цих даних. Це може бути один рядок символів або набір символів. Велика проблема полягає в тому, що багато людей ставляться до цих ключів з меншою обережністю, ніж до звичайних паролів, що є божевіллям!
Наприклад, якщо я хочу використовувати API якоїсь платформи ринкових даних, вона надасть мені ключ API. Коли я використовую цей ключ, платформа знатиме, що це я отримую доступ, і може контролювати, що я можу бачити і робити.
А ось і моя перша скарга: НІКОЛИ не діліться цим ключем! Я вже бачив людей, які публікують скріншоти з ключем на екрані... це практично те ж саме, що віддати свою картку з написаним паролем незнайомцю!
Криптографічні підписи: Додаткова безпека
Деякі API використовують криптографічні підписи як додатковий рівень безпеки. Існує два основних типи:
Симетричні ключі
Використовуйте один і той же ключ як для підписування, так і для перевірки даних. Це швидше, але, на мій погляд, менш безпечно. Прикладом є HMAC.
Нерівномірні ключі
Вони використовують два різні ключі: один приватний (, який залишається тільки з вами ), і один публічний. Перевага полягає в тому, що навіть якщо хтось побачить ваш публічний ключ, він не зможе виконувати операції, які вимагають приватного ключа. Це схоже на систему RSA.
Особисто я віддаю перевагу асиметричним. Я вже мав проблеми з симетричними ключами, коли проект, над яким я працював, був скомпрометований.
Реальна загроза API-ключів
Я буду чесний: API-ключі є постійними цілями для хакерів. Я бачив випадки, коли люди втратили всі свої криптовалюти, тому що їх ключі були вкрадені. Найстрашніше те, що деякі з цих ключів не закінчуються автоматично — тож, якщо ви не помітите крадіжку, зловмисник може продовжувати їх використовувати протягом тривалого часу!
І плакати після цього немає сенсу. Якщо ваші монети будуть переведені, ви майже ніколи не зможете відновитися.
Як захистити свої API ключі
Після того, як одного разу (sim майже втратив свої інвестиції, це сталося і зі мною!), я почав дотримуватися деяких суворих правил:
Я змінюю ключі регулярно - мінімум кожні 30 днів. Це нудно? Але втратити гроші набагато гірше.
Завжди налаштовую обмеження IP - дозволяю використовувати свої ключі лише з моїх власних IP-адрес. Таким чином, навіть якщо хтось вкраде код, він не зможе використовувати його з іншого комп'ютера.
Створюю кілька ключів з конкретними дозволами - ніколи не використовую один єдиний "мастер"-ключ для всього. Один ключ лише для читання даних, інший - лише для деяких специфічних операцій.
Я зберігаю ключі за допомогою безпечних менеджерів - ні в якому разі не в звичайних текстових файлах або в публічних хмарах.
Я НІКОЛИ не ділюся своїми ключами - ні з друзями, ні з партнерами, ні зі сторонніми додатками, які я погано знаю.
Якщо ваш ключ скомпрометовано, негайно вимкніть його! Кожна секунда на рахунку. Потім зробіть скріншоти всього, щоб мати докази на випадок, якщо вам потрібно буде відкрити поліцейське розслідування, (que рідко розкривається, але це necessário).
Зрештою, API-ключі — це як ключі від будинку — потужні та небезпечні. Використовуйте їх дуже обережно і завжди будьте підозрілими! Криптовалютний світ не прощає недбалості.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
API ключі: Що це таке і як їх використовувати, не будучи зламаним
Привіт всім! Сьогодні я хочу поговорити про щось, що завдало мені багато головного болю, поки я не зрозумів це належним чином: API-ключі. Для тих, хто не знає, API-ключ - це, по суті, унікальний код, який ідентифікує вас або ваш додаток, коли ви намагаєтеся отримати доступ до онлайн-сервісу.
Це як спеціальний пароль, але з великою проблемою: якщо він потрапить не в ті руки, ви облажалися! І повірте, я бачив, як багато друзів втрачали гроші через необережне поводження з цими ключами.
API vs. Часова API: Розуміння різниці
Перш за все, API сам по собі є лише посередником, який дозволяє різним додаткам спілкуватися. Типу коли додаток для цін на криптовалюту отримує дані про оновлені значення.
З іншого боку, ключ API – це той код, який доводить, що ви маєте право доступу до цих даних. Це може бути один рядок символів або набір символів. Велика проблема полягає в тому, що багато людей ставляться до цих ключів з меншою обережністю, ніж до звичайних паролів, що є божевіллям!
Наприклад, якщо я хочу використовувати API якоїсь платформи ринкових даних, вона надасть мені ключ API. Коли я використовую цей ключ, платформа знатиме, що це я отримую доступ, і може контролювати, що я можу бачити і робити.
А ось і моя перша скарга: НІКОЛИ не діліться цим ключем! Я вже бачив людей, які публікують скріншоти з ключем на екрані... це практично те ж саме, що віддати свою картку з написаним паролем незнайомцю!
Криптографічні підписи: Додаткова безпека
Деякі API використовують криптографічні підписи як додатковий рівень безпеки. Існує два основних типи:
Симетричні ключі
Використовуйте один і той же ключ як для підписування, так і для перевірки даних. Це швидше, але, на мій погляд, менш безпечно. Прикладом є HMAC.
Нерівномірні ключі
Вони використовують два різні ключі: один приватний (, який залишається тільки з вами ), і один публічний. Перевага полягає в тому, що навіть якщо хтось побачить ваш публічний ключ, він не зможе виконувати операції, які вимагають приватного ключа. Це схоже на систему RSA.
Особисто я віддаю перевагу асиметричним. Я вже мав проблеми з симетричними ключами, коли проект, над яким я працював, був скомпрометований.
Реальна загроза API-ключів
Я буду чесний: API-ключі є постійними цілями для хакерів. Я бачив випадки, коли люди втратили всі свої криптовалюти, тому що їх ключі були вкрадені. Найстрашніше те, що деякі з цих ключів не закінчуються автоматично — тож, якщо ви не помітите крадіжку, зловмисник може продовжувати їх використовувати протягом тривалого часу!
І плакати після цього немає сенсу. Якщо ваші монети будуть переведені, ви майже ніколи не зможете відновитися.
Як захистити свої API ключі
Після того, як одного разу (sim майже втратив свої інвестиції, це сталося і зі мною!), я почав дотримуватися деяких суворих правил:
Я змінюю ключі регулярно - мінімум кожні 30 днів. Це нудно? Але втратити гроші набагато гірше.
Завжди налаштовую обмеження IP - дозволяю використовувати свої ключі лише з моїх власних IP-адрес. Таким чином, навіть якщо хтось вкраде код, він не зможе використовувати його з іншого комп'ютера.
Створюю кілька ключів з конкретними дозволами - ніколи не використовую один єдиний "мастер"-ключ для всього. Один ключ лише для читання даних, інший - лише для деяких специфічних операцій.
Я зберігаю ключі за допомогою безпечних менеджерів - ні в якому разі не в звичайних текстових файлах або в публічних хмарах.
Я НІКОЛИ не ділюся своїми ключами - ні з друзями, ні з партнерами, ні зі сторонніми додатками, які я погано знаю.
Якщо ваш ключ скомпрометовано, негайно вимкніть його! Кожна секунда на рахунку. Потім зробіть скріншоти всього, щоб мати докази на випадок, якщо вам потрібно буде відкрити поліцейське розслідування, (que рідко розкривається, але це necessário).
Зрештою, API-ключі — це як ключі від будинку — потужні та небезпечні. Використовуйте їх дуже обережно і завжди будьте підозрілими! Криптовалютний світ не прощає недбалості.