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 میں جاری ہوا اور عملی طور پر استعمال ہوا، تاہم اس میں متعدد کمزوریاں تھیں: Man-in-the-Middle حملوں سے تحفظ کی کمی، کمزور خفیہ کاری الگورتھم، اور کاٹنے (truncation) کے حملوں کے لیے حساسیت۔ 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 تصدیق کی بنیاد عوامی کلید کا بنیادی ڈھانچہ (PKI) ہے جو X.509 فارمیٹ کے سرٹیفکیٹس پر بنایا گیا ہے۔ ہر سرٹیفکیٹ میں شامل ہے: ایک ڈومین نام (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)فعال (تجویز کردہ)موجودہ (بہترین)
چکر (Round-trips)221
کلید کے تبادلے کا الگورتھمRSARSA, ECDHEECDHE (صرف)
مصدقہ خفیہ کارینہیںGCM, CCMAEAD لازمی
مکمل آگے کی رازداری (PFS)نہیںاختیاریلازمی

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 کے ساتھ ہوا)، حملہ آور جعلی سرٹیفکیٹ جاری کر سکتا ہے۔ Pinning تصدیق کی ایک اضافی تہہ شامل کرتا ہے۔

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 ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں