Certificate Pinning (সার্টিফিকেট পিনিং) হলো একটি সিকিউরিটি টেকনিক, যার মাধ্যমে একটি মোবাইল বা ওয়েব অ্যাপ্লিকেশনকে শুধুমাত্র নির্দিষ্ট এবং পূর্বনির্ধারিত কিছু ক্রিপ্টোগ্রাফিক কী (Key) বা ডিজিটাল সার্টিফিকেটযুক্ত বিশ্বস্ত সার্ভারের সাথেই যোগাযোগ করতে বাধ্য করা হয়।
এটি Man-in-the-Middle (MitM) আক্রমণ থেকে যেভাবে সুরক্ষা দেয়:
• স্বীকৃত CA-এর ওপর নির্ভরতা কমানো: সাধারণ HTTPS সংযোগে ডিভাইসটি যেকোনো স্বীকৃত সার্টিফিকেট অথরিটির (CA) ইস্যু করা সার্টিফিকেট পেলেই সার্ভারকে বিশ্বাস করে। হ্যাকাররা যদি কোনোভাবে একটি ভুয়া বা আপোসকৃত (Compromised) CA থেকে আপনার ডোমেইনের নামে ভুয়া সার্টিফিকেট তৈরি করে নেয়, তবে সাধারণ ব্রাউজার বা অ্যাপ তা ধরতে পারে না।
• সার্টিফিকেট ম্যাচিং: সার্টিফিকেট পিনিং করা থাকলে, অ্যাপের ভেতরেই আসল সার্ভারের সার্টিফিকেটের একটি অনুলিপি বা তার অনন্য ‘ফিঙ্গারপ্রিন্ট’ (Cryptographic Hash) আগে থেকেই গেঁথে (Pin করে) দেওয়া থাকে।
• ভুয়া কানেকশন প্রত্যাখ্যান: যখন কোনো হ্যাকার MitM আক্রমণ চালিয়ে মাঝপথে ট্রাফিক আটকে নিজের ভুয়া সার্টিফিকেট দেখায়, তখন অ্যাপটি তার ভেতরে থাকা পিন করা আসল সার্টিফিকেটের সাথে হ্যাকারের দেওয়া সার্টিফিকেটের মিল পায় না।
• আক্রমণ নস্যাৎ: মিল না পাওয়ায় অ্যাপটি তাৎক্ষণিকভাবে সেই কানেকশনটি সম্পূর্ণ ব্লক বা বাতিল করে দেয়। ফলে হ্যাকার ডেটা চুরি বা পরিবর্তন করার কোনো সুযোগ পায় না।