কোনো অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস (API) কী হলো একটি ইউনিক কোড যা কোনো API দ্বারা কলিং অ্যাপ্লিকেশন বা ব্যবহারকারীকে শনাক্ত করতে ব্যবহৃত হয়। কে একটি API ব্যবহার করছে এবং তারা কিভাবে এটি ব্যবহার করছে তা ট্র্যাক করতে ও নিয়ন্ত্রণ করতে এবং একইসাথে অ্যাপ্লিকেশনগুলোকে অথেন্টিকেট ও অনুমোদন করতে API Key ব্যবহার করা হয় — ইউজার নেইম ও পাসওয়ার্ড যেভাবে কাজ করে তার অনুরূপ। কোনো API Key একটি একক কী বা একাধিক কী-এর সেট আকারে আসতে পারে। API Key চুরির বিরুদ্ধে সামগ্রিক নিরাপত্তা উন্নত করতে ব্যবহারকারীদের সর্বোত্তম চর্চা অনুসরণ করতে হবে এবং তাদের API Key ক্ষতিগ্রস্থ হলে সংশ্লিষ্ট পরিণতি এড়াতে হবে।
API বনাম API Key
API Key কী তা বোঝার জন্য আপনাকে প্রথমে API কী তা বুঝতে হবে। অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস বা API হলো একটি সফ্টওয়্যার মধ্যস্থতাকারী যা দুই বা ততোধিক অ্যাপ্লিকেশনকে তথ্য শেয়ার করার সুযোগ প্রদান করে। উদাহরণস্বরূপ, CoinMarketCap-এর API অন্যান্য অ্যাপ্লিকেশনগুলোকে ক্রিপ্টো ডেটা পুনরুদ্ধার এবং ব্যবহার করার সুযোগ দেয়, যেমন মূল্য, পরিমাণ এবং মার্কেট ক্যাপ।
API Key বিভিন্ন আকারে আসে — এটি একটি একক কী বা একাধিক কী-এর সেট হতে পারে। কোনো অ্যাপ্লিকেশনকে অথেন্টিকেট এবং অনুমোদন করতে বিভিন্ন সিস্টেম এই কী-গুলো ব্যবহার করে। কোনো ইউজার নেইম ও পাসওয়ার্ড যেভাবে ব্যবহৃত হয় তার অনুরূপ। API-কে কল করা কোনো অ্যাপ্লিকেশনকে অথেন্টিকেট করার জন্য কোনো API Key একটি API ক্লায়েন্ট দ্বারা ব্যবহৃত হয়।
উদাহরণস্বরূপ, Binance অ্যাকাডেমি যদি CoinMarketCap API ব্যবহার করতে চায়, তাহলে CoinMarketCap কর্তৃক একটি API Key তৈরি করা হবে এবং API অ্যাক্সেসের অনুরোধ করা Binance অ্যাকাডেমির (API ক্লায়েন্ট) পরিচয় অথেন্টিকেট করতে ব্যবহৃত হবে। Binance অ্যাকাডেমি CoinMarketCap-এর API অ্যাক্সেস করলে এই API Key রিকোয়েস্টের সাথে CoinMarketCap-এ পাঠাতে হবে।
এই API Key শুধুমাত্র Binance অ্যাকাডেমি কর্তৃক ব্যবহৃত হবে এবং অন্যদের সাথে শেয়ার করা বা পাঠানো যাবে না। এই API Key শেয়ার করলে তা কোনো তৃতীয় পক্ষকে Binance অ্যাকাডেমি হিসেবে CoinMarketCap-কে অ্যাক্সেস করার সুযোগ দিবে এবং তৃতীয় পক্ষের করা যেকোনো কাজ এমনভাবে প্রদর্শিত হবে যেন সেগুলো Binance অ্যাকাডেমি থেকে এসেছে।
অ্যাপ্লিকেশনটি অনুরোধকৃত রিসোর্স অ্যাক্সেস করার জন্য অনুমোদিত কিনা তা নিশ্চিত করতে CoinMarketCap API দ্বারাও API Key-টি ব্যবহার করা যেতে পারে। উপরন্তু, API ওনাররা API কার্যকলাপ নিরীক্ষণ করতে API Key ব্যবহার করে, যেমন ধরণ, ট্র্যাফিক এবং অনুরোধের পরিমাণ।
API Key কী?
কোনো API কে ব্যবহার করছে এবং কিভাবে এটি ব্যবহার করছে তা নিয়ন্ত্রণ ও ট্র্যাক করতে API Key ব্যবহার করা হয়। "API Key" শব্দটি বিভিন্ন সিস্টেমের জন্য বিভিন্ন জিনিস বোঝাতে পারে। কিছু কিছু সিস্টেমের একক কোড থাকে আবার অন্যদের ক্ষেত্রে একটি "API Key"-এর জন্য একাধিক কোড থাকতে পারে।
সে কারণে, কোনো "API Key" হলো একটি ইউনিক কোড বা ইউনিক কোডের একটি সেট যা একটি API দ্বারা কলিং ইউজার বা অ্যাপ্লিকেশনকে অথেন্টিকেট ও অনুমোদন করতে ব্যবহৃত হয়। কোনো কোনো কোড অথেন্টিকেট করার জন্য ব্যবহার করা হয় এবং কোনোটি ব্যবহার করা হয় অনুরোধের বৈধতা প্রমাণ করার উদ্দেশ্যে ক্রিপ্টোগ্রাফিক স্বাক্ষর তৈরি করার জন্য।
এই অথেন্টিকেশন কোডগুলোকে সম্মিলিতভাবে সাধারণত "API Key" বলা হয়, আর ক্রিপ্টোগ্রাফিক স্বাক্ষরের জন্য ব্যবহৃত কোডগুলো বিভিন্ন নামে পরিচিত, যেমন "সিক্রেট কী", "পাবলিক কী", বা "প্রাইভেট কী"। অথেন্টিকেশনে প্রতিষ্ঠান চিহ্নিত করা এবং তাদের দাবি সঠিক কিনা তা নিশ্চিত করা জড়িত।
অন্যদিকে অনুমোদন, অ্যাক্সেসের অনুমতি থাকা API পরিষেবাকে নির্দিষ্ট করে। কোনো API Key-এর ফাংশন কোনো অ্যাকাউন্টের ইউজার নেইম ও পাসওয়ার্ডের মতোই; সামগ্রিক নিরাপত্তা উন্নত করতে এটি অন্যান্য নিরাপত্তা বৈশিষ্ট্যের সাথেও সংযুক্ত হতে পারে।
প্রতিটি API Key সাধারণত API ওনারের দ্বারা কোনো নির্দিষ্ট সত্তার জন্য তৈরি করা হয় (নিচে আরো বিস্তারিত বিবরণ রয়েছে) এবং প্রতিবার কোনো API এন্ডপয়েন্টে কল করার সময় — যার জন্য ইউজার অথেন্টিকেশন বা অনুমোদন অথবা উভয়ের প্রয়োজন হয় — প্রাসঙ্গিক কী ব্যবহার করা হয়।
ক্রিপ্টোগ্রাফিক স্বাক্ষর
কিছু কিছু API Key যাচাইকরণের অতিরিক্ত স্তর হিসেবে ক্রিপ্টোগ্রাফিক স্বাক্ষর ব্যবহার করে। যখন কোনো ব্যবহারকারী কোনো API-তে নির্দিষ্ট ডেটা পাঠাতে চান তখন অন্য কী দ্বারা উৎপন্ন কোনো ডিজিটাল স্বাক্ষর রিকোয়েস্টে যোগ করা যেতে পারে। ক্রিপ্টোগ্রাফি ব্যবহার করে এই ডিজিটাল স্বাক্ষরটি পাঠানো ডেটার সাথে মেলে তা API-এর ওনার যাচাই করতে পারেন।
সিমেট্রিক এবং অ্যাসিমেট্রিক স্বাক্ষর
কোনো API-এর মাধ্যমে শেয়ার করা ডেটা ক্রিপ্টোগ্রাফিক কী দ্বারা স্বাক্ষরিত হতে পারে, যা নিম্নলিখিত ক্যাটাগরির অধীনে পড়ে:
সিমেট্রিক কী
এতে ডেটা স্বাক্ষর ও স্বাক্ষর যাচাইকরণ উভয় কাজ সম্পাদন করতে একটি সিক্রেট কী ব্যবহার করা হয়। সিমেট্রিক কী-এর মাধ্যমে API Keyও সিক্রেট কী সাধারণত API ওনার তৈরি করে এবং স্বাক্ষর যাচাইয়ের জন্য API পরিষেবা দ্বারা একই সিক্রেট কী ব্যবহার করা আবশ্যক। কোনো একক কী ব্যবহার করার প্রধান সুবিধা হলো যে এটি দ্রুততর এবং স্বাক্ষর তৈরি ও যাচাইকরণের জন্য কম কম্পিউটেশনাল শক্তি প্রয়োজন হয়। সিমেট্রিক কী-এর একটি ভালো উদাহরণ হলো HMAC।
অ্যাসিমেট্রিক কী
এতে দুটি কী ব্যবহার করা হয়: একটি প্রাইভেট কী এবং একটি পাবলিক কী, যেগুলো আলাদা হলেও ক্রিপ্টোগ্রাফিকভাবে সংযুক্ত। প্রাইভেট কী ব্যবহার করা হয় স্বাক্ষর তৈরির জন্য এবং পাবলিক কী ব্যবহার করা হয় স্বাক্ষর যাচাইয়ের জন্য। API মালিক কর্তৃক API Key তৈরি করা হয় কিন্তু প্রাইভেট কী ও পাবলিক কী-এর জোড়া ব্যবহারকারী কর্তৃক তৈরি হয়। স্বাক্ষর যাচাইকরণের জন্য API ওনারের শুধুমাত্র পাবলিক কী ব্যবহার করা প্রয়োজন হয় তাই প্রাইভেট কী লোকাল ও সিক্রেট থাকতে পারে।
অ্যাসিমেট্রিক কী ব্যবহার করার প্রধান সুবিধা হলো স্বাক্ষর তৈরি ও যাচাইকরণ কীগুলো আলাদা করার উচ্চ সুরক্ষা। এটি বহিরাগত সিস্টেমগুলোকে স্বাক্ষর তৈরি করতে সক্ষম না করে স্বাক্ষর যাচাই করার সুযোগ প্রদান করে। আরেকটি সুবিধা হলো যে কিছু অ্যাসিমেট্রিক এনক্রিপশন সিস্টেম প্রাইভেট কী-তে একটি পাসওয়ার্ড যোগ করাকে সাপোর্ট করে। ভালো একটি উদাহরণ হলো একটি RSA কী জোড়া।
API Key কি সুরক্ষিত?
API Key-এর দায়িত্ব ব্যবহারকারীর উপর বর্তায়। API Key পাসওয়ার্ডের মতো এবং একইরকম যত্নের সাথে ব্যবহার করতে হয়। কোনো API Key শেয়ার করা কোনো পাসওয়ার্ড শেয়ার করার মতই এবং সে কারণে এটি করা উচিত নয় কারণ এটি ব্যবহারকারীর অ্যাকাউন্টকে ঝুঁকির মধ্যে ফেলবে।
API Key সাধারণত সাইবার আক্রমণে টার্গেট হয় কারণ সেগুলো সিস্টেমে শক্তিশালী ক্রিয়াকলাপ সম্পাদন করতে ব্যবহার করা যেতে পারে, যেমন ব্যক্তিগত তথ্যের অনুরোধ করা বা আর্থিক লেনদেন সম্পাদন করা। এমন কী API Key চুরি করার জন্য ক্রলাররা সফলভাবে অনলাইন কোড ডাটাবেস আক্রমণ করেছে এমন ঘটনা ঘটেছে।
API Key চুরির পরিণতি কঠোর হতে পারে এবং উল্লেখযোগ্য আর্থিক ক্ষতি হতে পারে। এছাড়াও, কিছু কিছু API Key-এর মেয়াদ শেষ না হওয়ায় একবার চুরি হয়ে গেলে আক্রমণকারীরা অনির্দিষ্টকালের জন্য ব্যবহার করতে পারে যতক্ষণ না খোদ কী-ই বাতিল হয়ে যায়।
API Key ব্যবহার করার সময় সর্বোত্তম চর্চা
সংবেদনশীল ডেটাতে তাদের অ্যাক্সেস এবং তাদের সাধারণ দুর্বলতার কারণে, API Key-কে নিরাপদে ব্যবহার করা অত্যন্ত গুরুত্বপূর্ণ। তাদের সামগ্রিক নিরাপত্তা উন্নত করতে API Key ব্যবহার করার সময় আপনি নিচে উল্লেখ করা এই সেরা অনুশীলন নির্দেশিকাগুলো অনুসরণ করতে পারেন:
সম্ভব হলে প্রায়ই আপনার API Key পরিবর্তন করে করে ব্যবহার করুন। এর মানে হলো আপনি আপনার বর্তমান API Key মুছে নতুন একটি তৈরি করুন। একাধিক সিস্টেম থাকলে API Key তৈরি করা এবং মুছে ফেলা সহজ। কিছু কিছু সিস্টেমে যেভাবে আপনাকে প্রতি 30 থেকে 90 দিনে পাসওয়ার্ড পরিবর্তন করতে হয়, একইভাবে আপনার API Key সম্ভব হলে একই রকম হারে পরিবর্তন করা উচিত।
আইপি হোয়াইটলিস্টিং ব্যবহার করুন: আপনি কোনো API Key তৈরি করলে তখন কী ব্যবহার করার জন্য অনুমোদিত আইপির একটি তালিকা নির্ধারণ করুন (আইপি হোয়াইটলিস্ট)। আপনি ব্লক করা আইপির একটি তালিকাও ঠিক করতে পারেন (ব্ল্যাকলিস্টেড আইপি)। এইভাবে, আপনার API Key যদি চুরিও হয়ে যায় তবুও এটি কোনো অচেনা আইপি অ্যাক্সেস করতে পারবে না।
একাধিক API Key ব্যবহার করুন: একাধিক কী থাকা এবং তাদের মধ্যে দায়িত্ব ভাগ করা নিরাপত্তা ঝুঁকি করায় কারণ আপনার তখন আপনার নিরাপত্তা বিস্তৃত অনুমতিসহ কোনো একক কীর উপর নির্ভর করবে না। আপনি প্রতিটি কী-এর জন্য আলাদা আলাদা আইপি হোয়াইটলিস্ট সেট করে আপনার নিরাপত্তা ঝুঁকি আরো কমিয়ে আনতে পারেন।
API Key নিরাপদে সংরক্ষণ করুন: আপনার কী পাবলিক স্থানে, পাবলিক কম্পিউটারে বা মূল প্লেইন টেক্সট ফরম্যাটে সংরক্ষণ করবেন না। পরিবর্তে, ভালো নিরাপত্তার জন্য এনক্রিপশন বা সিক্রেট ম্যানেজার ব্যবহার করে প্রতিটি স্টোর করুন এবং দুর্ঘটনাবশত সেগুলো প্রকাশ না করার বিষয়ে সতর্ক থাকুন।
আপনার API Key শেয়ার করবেন না। আপনার API Key শেয়ার করা আপনার পাসওয়ার্ড শেয়ার করার অনুরূপ। এটি করার সময় আপনি অন্য পক্ষকে আপনার মতো একই অথেন্টিকেশন এবং অনুমোদনের সুবিধা দেন। সেগুলো প্রকাশ হয়ে গেলে আপনার API Key চুরি হয়ে যেতে পারে এবং আপনার অ্যাকাউন্ট হ্যাক করতে ব্যবহার করা যেতে পারে। কোনো API Key শুধুমাত্র আপনার ও যে সিস্টেম এটি তৈরি করে তার মধ্যে ব্যবহার করা উচিত।
আপনার API Key প্রকাশ হয়ে গেলে আরো ক্ষতি রোধ করতে আপনাকে প্রথমে এটি নিষ্ক্রিয় করতে হবে। কোনো আর্থিক ক্ষতি হলে ঘটনা সম্পর্কিত মূল তথ্যের স্ক্রিনশট নিন, সংশ্লিষ্ট সংস্থার সাথে যোগাযোগ করুন এবং একটি পুলিশ রিপোর্ট দায়ের করুন। আপনার হারানো ফান্ড পুনরুদ্ধার করার সম্ভাবনা বাড়ানোর এটি সর্বোত্তম উপায়।
শেষ কথা
API Key মূল অথেন্টিকেশন ও অনুমোদন ফাংশন প্রদান করে এবং ব্যবহারকারীদেরকে অবশ্যই তাদের কী সাবধানে পরিচালনা ও সুরক্ষিত করতে হবে। API Key-এর নিরাপদ ব্যবহার নিশ্চিত করার জন্য অনেকগুলো স্তর ও দিক রয়েছে। সামগ্রিকভাবে, কোনো API Key-কে আপনার অ্যাকাউন্টের পাসওয়ার্ডের মতো বিবেচনা করা উচিত।