SSL/TLS — এটি কী, প্রোটোকল এবং এনক্রিপশনের কার্যনীতি

লেখক: IT Sectr প্রকাশিত: 2026-04-02 পড়ার সময়: 8 মিনিট

SSL (Secure Sockets Layer) এবং TLS (Transport Layer Security) হল ক্রিপ্টোগ্রাফিক প্রোটোকল যা ক্লায়েন্ট এবং সার্ভারের মধ্যে নেটওয়ার্কের মাধ্যমে ডেটার সুরক্ষিত ট্রান্সমিশন নিশ্চিত করে। তারা সমস্ত ট্রাফিক এনক্রিপ্ট করে, আক্রমণকারীদের দ্বারা ডেটা ইন্টারসেপ্ট এবং পরিবর্তন প্রতিরোধ করে। Google Transparency Report (2025) অনুসারে, বিশ্বের 95% এর বেশি মোবাইল ট্রাফিক TLS এনক্রিপশন ব্যবহার করে। এই প্রোটোকল ছাড়া, ওপেন Wi-Fi বা মোবাইল নেটওয়ার্কের মাধ্যমে পাঠানো যেকোনো তথ্য তৃতীয় পক্ষ দ্বারা পড়া যেতে পারে। Cloudflare, 2024

মূল পয়েন্ট

  • SSL এবং TLS — নেটওয়ার্কের মাধ্যমে ডেটা ট্রান্সমিশনের সময় ডেটা এনক্রিপ্ট করার জন্য ক্রিপ্টোগ্রাফিক প্রোটোকল, যেখানে TLS হল SSL-এর আধুনিক সংস্করণ।
  • হ্যান্ডশেক (Handshake) — সুরক্ষিত সংযোগ স্থাপনের প্রক্রিয়া, যার মধ্যে সার্ভার প্রমাণীকরণ এবং এনক্রিপশন কী আলোচনা অন্তর্ভুক্ত।
  • TLS 1.3 — প্রোটোকলের সর্বশেষ সংস্করণ, যা TLS 1.2-এর তুলনায় ভালো কর্মক্ষমতা এবং সুরক্ষা প্রদান করে।
  • X.509 সার্টিফিকেট — ডিজিটাল শংসাপত্র যা TLS সংযোগের সময় সার্ভারের সত্যতা নিশ্চিত করে।
  • HTTPS — TLS-এর উপর HTTP — মোবাইল অ্যাপ্লিকেশনে ওয়েব ট্রাফিক সুরক্ষিত করার মানক উপায়।

SSL/TLS কী?

SSL (Secure Sockets Layer) হল একটি প্রোটোকল যা Netscape 1995 সালে ওয়েব ট্রাফিক সুরক্ষিত করার জন্য তৈরি করেছিল। প্রথম সংস্করণ SSL 1.0 কখনোই সর্বজনীনভাবে প্রকাশিত হয়নি; SSL 2.0 (1995) এবং SSL 3.0 (1996) 2000-এর দশকের শুরু পর্যন্ত ব্যবহৃত হয়েছিল, কিন্তু এতে গুরুতর দুর্বলতা ছিল। SSL-এর后继者 হিসেবে এসেছে TLS (Transport Layer Security) — IETF দ্বারা প্রমিত একটি উন্নত সংস্করণ। TLS 1.0 (1999) SSL 3.0-এর উপর ভিত্তি করে তৈরি হয়েছিল, যখন পরবর্তী সংস্করণগুলি TLS 1.1 (2006), TLS 1.2 (2008) এবং TLS 1.3 (2018) ধীরে ধীরে মূল আর্কিটেকচার থেকে সরে এসেছে, নতুন এনক্রিপশন অ্যালগরিদম যোগ করে এবং দুর্বলতা দূর করে। আজ SSL অপ্রচলিত বলে বিবেচিত হয়, এবং সমস্ত আধুনিক সিস্টেম TLS ব্যবহার করে, যদিও উভয় প্রোটোকল প্রায়শই অভ্যাসবশত SSL/TLS হিসাবে একসঙ্গে উল্লেখ করা হয়।

প্রোটোকলের ইতিহাস

SSL/TLS-এর ইতিহাস প্রাথমিক ওয়েবে সুরক্ষিত ডেটা ট্রান্সমিশনের প্রয়োজনীয়তা থেকে শুরু হয়েছিল। 1994 সালে, Netscape তার Navigator ব্রাউজারের জন্য SSL 1.0 তৈরি করেছিল, কিন্তু গুরুতর সুরক্ষা সমস্যার কারণে প্রোটোকলটি কখনো প্রকাশিত হয়নি। SSL 2.0 1995 সালে প্রকাশিত হয়েছিল এবং ব্যবহারিক ব্যবহারে এসেছিল, তবে এতে numerous দুর্বলতা ছিল: Man-in-the-Middle আক্রমণের বিরুদ্ধে সুরক্ষার অভাব, দুর্বল এনক্রিপশন অ্যালগরিদম এবং ট্রাঙ্কেশন আক্রমণের প্রতি সংবেদনশীলতা। SSL 3.0 (1996) বেশিরভাগ সমস্যা সমাধান করেছিল, কিন্তু 2014 সালের মধ্যে POODLE দুর্বলতা আবিষ্কৃত হয়, যার পরে IETF আনুষ্ঠানিকভাবে সমস্ত SSL সংস্করণকে অপ্রচলিত ঘোষণা করে। TLS 1.0–1.3 ক্রমিকভাবে ক্রিপ্টোগ্রাফিক শক্তি, কর্মক্ষমতা এবং গোপনীয়তা উন্নত করেছে, যেখানে TLS 1.3 হ্যান্ডশেককে দুই রাউন্ড-ট্রিপ থেকে এক রাউন্ড-ট্রিপে কমিয়েছে — যা অস্থির সংযোগযুক্ত মোবাইল অ্যাপ্লিকেশনের জন্য অত্যন্ত গুরুত্বপূর্ণ।

SSL/TLS হ্যান্ডশেক কীভাবে কাজ করে

হ্যান্ডশেক (Handshake) হল ক্লায়েন্ট এবং সার্ভারের মধ্যে সুরক্ষিত সংযোগ স্থাপনের প্রক্রিয়া। এটি বেশ কয়েকটি ক্রমিক ধাপ নিয়ে গঠিত যার সময় পক্ষগুলি প্রোটোকল সংস্করণে সম্মত হয়, এনক্রিপশন অ্যালগরিদম নির্বাচন করে, কী বিনিময় করে এবং একে অপরকে প্রমাণীকরণ করে। TLS 1.3-এ, হ্যান্ডশেক শুধুমাত্র একটি নেটওয়ার্ক রাউন্ড-ট্রিপ (1-RTT) নেয়, যেখানে TLS 1.2-এ দুইটি (2-RTT) প্রয়োজন ছিল।

প্রথম ধাপ হল ক্লায়েন্ট ClientHello পাঠায় — একটি বার্তা যা সমর্থিত TLS সংস্করণ, সিফার স্যুট এবং একটি র্যান্ডম সংখ্যার তালিকা ধারণ করে। সার্ভার নির্বাচিত সংস্করণ এবং সিফার, তার X.509 সার্টিফিকেট এবং একটি ডিজিটাল স্বাক্ষর সহ ServerHello দিয়ে উত্তর দেয়। ক্লায়েন্ট সার্টিফিকেট কর্তৃপক্ষ (CA) চেইনের মাধ্যমে সার্টিফিকেট যাচাই করে, একটি সেশন কী তৈরি করে এবং সার্টিফিকেট থেকে সার্ভারের পাবলিক কী দিয়ে এনক্রিপ্ট করে পাঠায়। সার্ভার নিশ্চিত করার পরে, সুরক্ষিত ডেটা ট্রান্সমিশন শুরু হয়। সম্পূর্ণ হ্যান্ডশেক আধুনিক ডিভাইসে 1–3 মিলিসেকেন্ড সময় নেয়, যা ব্যবহারকারীর কাছে অদৃশ্য।

X.509 সার্টিফিকেট এবং বিশ্বাস শৃঙ্খল

TLS প্রমাণীকরণের ভিত্তি হল X.509 ফরম্যাটের সার্টিফিকেটের উপর নির্মিত পাবলিক কী ইনফ্রাস্ট্রাকচার (PKI)। প্রতিটি সার্টিফিকেটে থাকে: একটি ডোমেন নাম (Common Name বা Subject Alternative Name), সার্ভারের পাবলিক কী, ইস্যুকারীর নাম (সার্টিফিকেট কর্তৃপক্ষ), মেয়াদ শেষ হওয়ার তারিখ এবং CA-এর ডিজিটাল স্বাক্ষর। ক্লায়েন্ট বিশ্বাস শৃঙ্খলের মাধ্যমে সার্ভারের সার্টিফিকেট যাচাই করে: সার্ভার সার্টিফিকেট থেকে রুট CA পর্যন্ত, যার সার্টিফিকেট অপারেটিং সিস্টেমে এমবেডেড থাকে। Android ডিভাইসে, রুট সার্টিফিকেটগুলি সিস্টেম কীস্টোরে সংরক্ষিত থাকে, যা Google Play Services-এর মাধ্যমে আপডেট হয়; iOS-এ — iOS আপডেটের মাধ্যমে। যদি শৃঙ্খলের কোনো লিংক ভেঙে যায় (মেয়াদোত্তীর্ণ সার্টিফিকেট, ডোমেন অমিল, অজানা CA), ক্লায়েন্ট সংযোগ বন্ধ করে দেয়। স্ব-স্বাক্ষরিত সার্টিফিকেটের (ডেভেলপমেন্টে ব্যবহৃত) জন্য, স্পষ্ট বিশ্বাস প্রয়োজন — Android-এ Network Security Config-এর মাধ্যমে, iOS-এ Info.plist-এ NSExceptionDomains-এর মাধ্যমে। সার্টিফিকেট চেইন যাচাইকরণ প্রক্রিয়ায় CRL (সার্টিফিকেট প্রত্যাহার তালিকা) বা OCSP (অনলাইন সার্টিফিকেট স্ট্যাটাস প্রোটোকল)-এর মাধ্যমে প্রত্যাহার অবস্থা পরীক্ষাও অন্তর্ভুক্ত, যদিও মোবাইল ডিভাইসে সংযোগ দ্রুত করতে OCSP অনুরোধ প্রায়শই এড়িয়ে যাওয়া হয় — এটি সুরক্ষা এবং কর্মক্ষমতার মধ্যে একটি আপস যা আর্কিটেক্টদের বিবেচনা করা উচিত।

SSL বনাম TLS: মূল পার্থক্য

যদিও SSL এবং TLS শব্দ দুটি প্রায়শই পরস্পর পরিবর্তনযোগ্যভাবে ব্যবহৃত হয়, তবে তাদের মধ্যে মৌলিক প্রযুক্তিগত পার্থক্য রয়েছে যা মোবাইল অ্যাপ্লিকেশনের সুরক্ষা এবং কর্মক্ষমতাকে প্রভাবিত করে।

বৈশিষ্ট্যSSL 3.0TLS 1.2TLS 1.3
প্রকাশের বছর199620082018
অবস্থাঅপ্রচলিত (RFC 7568)সক্রিয় (সুপারিশকৃত)বর্তমান (সেরা)
রাউন্ড-ট্রিপ221
কী বিনিময় অ্যালগরিদমRSARSA, ECDHEECDHE (শুধুমাত্র)
প্রমাণিত এনক্রিপশননাGCM, CCMAEAD বাধ্যতামূলক
পারফেক্ট ফরওয়ার্ড সিক্রেসিনাঐচ্ছিকবাধ্যতামূলক

TLS 1.3 এবং এর পূর্বসূরীদের মধ্যে প্রধান পার্থক্য হল ECDHE প্রোটোকলের মাধ্যমে পারফেক্ট ফরওয়ার্ড সিক্রেসি (PFS)-এর বাধ্যতামূলক ব্যবহার। এর অর্থ হল এমনকি যদি কোনো আক্রমণকারী সার্ভারের প্রাইভেট কী-তে অ্যাক্সেস পায়, তবুও তারা পূর্বে ইন্টারসেপ্ট করা ট্রাফিক ডিক্রিপ্ট করতে পারবে না। মোবাইল অ্যাপ্লিকেশনের জন্য, যেখানে সার্ভারের সাথে আপস একটি বাস্তব হুমকি, PFS-সহ TLS 1.3 একটি বাধ্যতামূলক সুরক্ষা প্রয়োজনীয়তা।

পুরনো সংস্করণের পরিচিত দুর্বলতা

SSL এবং TLS-এর পুরনো সংস্করণগুলিতে সুপ্রমাণিত দুর্বলতা রয়েছে যা এগুলিকে প্রোডাকশন ব্যবহারের জন্য অনুপযুক্ত করে তোলে। POODLE (CVE-2014-3566) প্যাডিং ওরাকলের মাধ্যমে SSL 3.0 আক্রমণ করে, যা 256টি অনুরোধে সেশন কুকি ডিক্রিপ্ট করতে দেয়। BEAST (CVE-2011-3389) পূর্বানুমানযোগ্য IV-এর মাধ্যমে TLS 1.0 CBC মোডে একটি দুর্বলতা শোষণ করে। Heartbleed (CVE-2014-0160) — প্রোটোকলের দুর্বলতা নয় বরং OpenSSL বাস্তবায়নে একটি বাগ যা সার্ভার মেমরি পড়ার অনুমতি দেয়: Netcraft অনুসারে, 2014 সালে 500,000-এর বেশি সার্ভার ঝুঁকিপূর্ণ ছিল। Android 10 (API 29) এবং iOS 13 থেকে শুরু করে, এই সমস্ত প্রোটোকল সিস্টেম স্তরে নিষ্ক্রিয় করা হয়েছে। তবুও, ডেভেলপারদের অ্যাপ্লিকেশন লঞ্চ করার আগে SSL Labs Test (qualys.com)-এর মাধ্যমে তাদের সার্ভার কনফিগারেশন পরীক্ষা করা উচিত যাতে নিশ্চিত করা যায় যে কোনো অপ্রচলিত সিফার স্যুট নেই এবং TLS 1.3 সমর্থিত।

SSL/TLS কীভাবে মোবাইল অ্যাপে ডেটা সুরক্ষিত করে

মোবাইল অ্যাপ্লিকেশনে, TLS তিনটি স্তরে ডেটা সুরক্ষিত করে: বিষয়বস্তু এনক্রিপশন (সার্ভার ছাড়া কেউ ডেটা পড়তে পারে না), অখণ্ডতা যাচাই (ডেটা ট্রানজিটে পরিবর্তন করা যায় না), এবং সার্ভার প্রমাণীকরণ (ক্লায়েন্ট নিশ্চিত যে সে সঠিক সার্ভারের সাথে সংযোগ করছে)। প্রমাণীকরণ বিশেষভাবে গুরুত্বপূর্ণ: এটি ছাড়া, আক্রমণকারী DNS স্পুফিং বা জাল Wi-Fi অ্যাক্সেস পয়েন্টের মাধ্যমে সার্ভারকে জাল করতে পারে।

Google Play Protect (2024)-এর একটি গবেষণা অনুসারে, 76% Android অ্যাপ্লিকেশন সার্টিফিকেট যাচাই সহ সঠিকভাবে TLS ব্যবহার করে। বাকি 24% ভুল করে: তারা পরীক্ষার জন্য সার্টিফিকেট যাচাই নিষ্ক্রিয় করে (এবং প্রোডাকশনে পুনরায় সক্ষম করতে ভুলে যায়), যাচাই ছাড়া স্ব-স্বাক্ষরিত সার্টিফিকেট ব্যবহার করে, বা SSL 3.0 এবং TLS 1.0-এর মতো অপ্রচলিত প্রোটোকল অনুমতি দেয়। iOS-এ Apple App Transport Security (ATS) 2017 সাল থেকে ন্যূনতম TLS 1.2 প্রয়োজন, এবং iOS 15 থেকে শুরু করে, এটি সমস্ত নেটওয়ার্ক অনুরোধের জন্য ডিফল্টভাবে TLS 1.3 ব্যবহার করে। অতিরিক্ত সুরক্ষার জন্য, Certificate Pinning — একটি নির্দিষ্ট সার্ভার সার্টিফিকেটের সাথে বাঁধাই — বাস্তবায়নেরও সুপারিশ করা হয়।

মোবাইল অ্যাপ্লিকেশনে SSL/TLS বাস্তবায়ন

আসুন Android-এ OkHttp — সবচেয়ে জনপ্রিয় নেটওয়ার্কিং লাইব্রেরিগুলির একটি — ব্যবহার করে সুরক্ষিত HTTPS সংযোগ কনফিগার করার একটি উদাহরণ দেখি। একটি সঠিক কনফিগারেশনে TLS 1.3 ব্যবহার বাধ্যতামূলক করা এবং সার্টিফিকেট যাচাই অন্তর্ভুক্ত।

kotlin
val client = OkHttpClient.Builder()
    .connectionSpecs(
        listOf(
            ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
                .tlsVersions(TlsVersion.TLS_1_3, TlsVersion.TLS_1_2)
                .cipherSuites(
                    CipherSuite.TLS_AES_128_GCM_SHA256,
                    CipherSuite.TLS_AES_256_GCM_SHA384,
                    CipherSuite.TLS_CHACHA20_POLY1305_SHA256
                )
                .build()
        )
    )
    .hostnameVerifier { hostname, session ->
        SSLSession.DefaultHostnameVerifier.verify(hostname, session)
    }
    .build()

এই উদাহরণে, আমরা সমর্থিত TLS সংস্করণের সেট শুধুমাত্র 1.3 এবং 1.2-তে সীমাবদ্ধ করি, অপ্রচলিত TLS 1.0/1.1 বাদ দিয়ে। সিফার স্যুট আধুনিক অ্যালগরিদম থেকে AEAD মোড এবং বাধ্যতামূলক পারফেক্ট ফরওয়ার্ড সিক্রেসি সহ নির্বাচন করা হয়। HostnameVerifier যাচাই করে যে হোস্টনাম সার্টিফিকেটের সাথে মেলে। iOS-এ, একই রকম কনফিগারেশন tlsMinimumSupportedProtocolVersion প্যারামিটার .TLSv13-এ সেট করে URLSession কনফিগারেশনের মাধ্যমে করা হয়। অতিরিক্তভাবে, iOS-এ tlsMaximumSupportedProtocolVersion সেট করা যেতে পারে উপরের সংস্করণ সীমা নির্ধারণ করতে — এটি পুরনো সার্ভারগুলির সাথে সামঞ্জস্যের জন্য দরকারী যা এখনও TLS 1.3-এ মাইগ্রেট করেনি। এই ধরনের কনফিগারেশন মোবাইল অ্যাপ্লিকেশনে ডেটা ট্রান্সমিশনের জন্য সর্বোচ্চ স্তরের সুরক্ষা নিশ্চিত করে।

প্রায়শই জিজ্ঞাসিত প্রশ্ন

SSL এবং TLS বাস্তবে কীভাবে আলাদা?

TLS হল প্রোটোকলের একটি নতুন এবং আরও সুরক্ষিত সংস্করণ। SSL অপ্রচলিত এবং ব্যবহার করা উচিত নয় (RFC 7568)। বাস্তবে, উভয় শব্দ HTTPS এনক্রিপশন বোঝায়, কিন্তু প্রযুক্তিগতভাবে সমস্ত আধুনিক সিস্টেম TLS 1.2 বা 1.3-এর মাধ্যমে কাজ করে।

কীভাবে পরীক্ষা করবেন যে একটি মোবাইল অ্যাপ TLS ব্যবহার করে?

Burp Suite বা Charles Proxy-এর মতো একটি প্রক্সি টুল ইনস্টল করুন এবং অ্যাপের ট্রাফিক ইন্টারসেপ্ট করুন। যদি সংযোগ HTTPS ব্যবহার করে এবং সার্টিফিকেট বৈধ হয় — অ্যাপটি TLS ব্যবহার করে। যদি ট্রাফিক HTTP-তে যায় — কোনো এনক্রিপশন নেই।

প্রোডাকশনের জন্য কোন TLS সংস্করণ নিরাপদ?

প্রোডাকশন বিল্ডের জন্য শুধুমাত্র TLS 1.2 এবং TLS 1.3 অনুমোদিত। প্রোটোকল SSL 3.0, TLS 1.0 এবং TLS 1.1 সার্ভার এবং ক্লায়েন্ট অ্যাপ্লিকেশন উভয়েই নিষ্ক্রিয় করতে হবে। 2020 সাল থেকে, প্রধান প্ল্যাটফর্মগুলি (Android, iOS, ব্রাউজার) ন্যূনতম TLS 1.2 প্রয়োজন।

TLS-এর সাথে কি Certificate Pinning প্রয়োজন?

হ্যাঁ, এটি সুপারিশ করা হয়। TLS সার্টিফিকেট কর্তৃপক্ষের একটি শৃঙ্খলের মাধ্যমে সার্টিফিকেট যাচাই করে, কিন্তু যদি কোনো CA আপস করা হয় (যেমন 2011 সালে DigiNotar-এর সাথে হয়েছিল), আক্রমণকারী জাল সার্টিফিকেট ইস্যু করতে পারে। পিনিং যাচাইয়ের একটি অতিরিক্ত স্তর যোগ করে।

TLS 1.3 কীভাবে মোবাইল অ্যাপের কর্মক্ষমতা উন্নত করে?

TLS 1.3 সংযোগ স্থাপনের সময় 2 রাউন্ড-ট্রিপ থেকে 1-এ কমিয়ে দেয়, যা প্রথম সংযোগে 30–50% উন্নতি দেয়। অস্থির সংযোগ (মেট্রো, ট্রেন) সহ মোবাইল অ্যাপ্লিকেশনের জন্য, এটি ডেটা লোডিং গতির জন্য অত্যন্ত গুরুত্বপূর্ণ।

সারাংশ

  • SSL/TLS — নেটওয়ার্ক ট্রান্সমিশনের সময় ডেটা সুরক্ষার ভিত্তি, ক্লায়েন্ট এবং সার্ভারের মধ্যে সমস্ত ট্রাফিক এনক্রিপ্ট করে।
  • SSL সম্পূর্ণরূপে অপ্রচলিত — সমস্ত আধুনিক সিস্টেমকে TLS 1.2 বা TLS 1.3 ব্যবহার করা উচিত।
  • TLS 1.3 1 রাউন্ড-ট্রিপে হ্যান্ডশেক, বাধ্যতামূলক পারফেক্ট ফরওয়ার্ড সিক্রেসি এবং আধুনিক AEAD সিফারের জন্য সমর্থন প্রদান করে।
  • HTTPS — মোবাইল অ্যাপ্লিকেশনে TLS প্রয়োগের মানক উপায়, প্রোডাকশন বিল্ডের জন্য বাধ্যতামূলক।
  • Apple ATS iOS 15-এ ডিফল্টভাবে TLS 1.3 ব্যবহার করে, সমস্ত অপ্রচলিত প্রোটোকল সংস্করণ নিষ্ক্রিয় করে।
  • OkHttp Android-এ TLS সংস্করণ এবং সিফার স্যুট সীমাবদ্ধ করতে ConnectionSpec-এর স্পষ্ট কনফিগারেশন প্রয়োজন।
  • সুপারিশ: আপনার অ্যাপে শুধুমাত্র ECDHE কী বিনিময় সহ TLS 1.2/1.3 সক্ষম করুন এবং Certificate Pinning-এর মাধ্যমে সার্টিফিকেট যাচাই করুন।

আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব

IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।

প্রকল্প নিয়ে আলোচনা করুন

আরও পড়ুন