امنیت در APIKey اندروید
در این آموزش قصد داریم نحوه امن کردن API Key در اندروید رو به شما آموزش بدیم و شما یاد خواهید گرفت که چطور برای اپلیکیشن هایی که از API Key استفاده می کنند روشی رو پیش بگیرید که در اون روش ، از بابت امن بودن API Key خیالتون راحت باشه و هیچ دغدغه ای از لحاظ این که API Key تون به دست افراد شرور بیوفته نداشته باشید .
API Key چیست ؟
قبل از این که بخوام صحبت هام رو شروع کنم ازتون میخوام که به دو کلمه API Key و API حتما توجه کنید
در واقع API Key یک قسمت از کد هست که به یک توسعه دهنده ، برنامه و یا کاربر اختصاص داده میشه ، و هر موقع یکی از این سه تا (توسعه دهنده ، برنامه و یا کاربر) بخواد از API استفاده کنه ، با استفاده از این کلید ، API رو فراخوانی می کنه . خلاصه بخوام بگم ، شما با استفاده از API Key می تونید از API استفاده کنید .
معمولا API Keyها یک رشته از کاراکترهای پشت سرهم هستند که یک معنی و مفهوم خاصی دارند ، که این معانی و مفاهیم توسط سازنده API برای API Key تعریف میشه .
یک نمونه مثال از API Key
IP84UTvzJKds1Jomx8gIbTXcEEJSUilGqpxCcmnx
خیلی از ارائه دهنده های API (نمونه اش همین گوگلِ خودمون) ، کلیدهای API شون رو در اختیار توسعه دهنده ها و برنامه نویسا میزارن و به اون ها اجازه میدن که به شیوه ای مشابه به یوزرنیم و پسورد حساب کاربریشون عمل کنند .
چرا امن کردن API Key مهمه ؟
API Key ها منحصر به فرد هستند و به همین خاطر ، خیلی از تولید کنندگان API ، از این ویژگی به عنوان یک لایه امنیتی استفاده می کنند . علی رغم سادگی و سهولت استفاده از کلید های API ، یک تهدیدی که اکثر برنامه نویس ها رو تهدید می کنه ، لو رفتن همین کلید API هست که می تونه به یک فاجعه تبدیل بشه .
برای امن کردن API Key در اندروید چه کارهایی باید بکنیم؟
برای امن کردن API Key در اندروید ، گوگل یک سری راهنمایی ها و پیشنهادهایی تحت عنوان (بهترین روش برای استفاده ایمن از کلیدهای API) داده که من ترجیح دادم همون ها رو براتون بگم .
و اما بهترین روش برای استفاده ایمن از کلیدهای API
وقتی شما از API Key ها در اپلیکیشن تون استفاده می کنید ، سعی کنید اون ها رو امن کنید . استفاده عمومی از مجوزهای شما ، ممکنه باعث آسیبرسوندن به حساب شما بشه . که به دنبال اون ، یکسری اتهامت غیرمنتظره ای رو برای شما رقم بزنه . پس پیشنهاد می کنیم که برای حفظ API Key روش های زیر رو دنبال کنید :
1 – کلید API را مستقیما در کد وارد نکنید : کلیدهایی که به صورت مستقیم در کد استفاده میشند ، میتونند به طور تصادفی در معرض عموم قرار بگیرند .
2 – کلیدهای API در فایل های داخل درخت منبع برنامه خود ذخیره نکنید : اگر کلید ها رو در فایل ذخیره کردید ، فایل ها رو در خارج از درخت منبع (پوشه های پروژه) برنامه تون نگه دارید تا مطمئن بشید که کلیدهای شما در سیستم کنترل کد منبع شما نیستند .
3 – کلیدهای API رو با استفاده از آدرس های IP، URL های ارجاع و برنامه های تلفن همراه که به آنها نیاز دارید محدود کنید : اگر از برنامه شما یک رنج IP خاص یا یک سری اپلیکیشن خاص داره استفاده می کنه ، با استفاه از صفحه Console Developer می تونید اون کلید رو محدود کنید .
4 – حذف کلیدهای API غیر ضروری : برای این که کمتر مورد حمله قرار بگیرید ، بهتره که کلیدهایی که ازشون استفاده ای نمی کنید رو حذف کنید .
5 – قبل از انتشار عمومی آنرا بررسی کنید : قبل از این که برنامه تون رو به صورت عمومی انتشار بدید ، حتما از این که کدتون شامل API Key و اطلاعات محرمانه دیگه ای نیست ، اطمینان حاصل کنید . و بعد برنامه رو منتشر کنید .