Correlation attack
ارتباط حملے اسٹریم سائفرز کو توڑنے کے لیے کرپٹوگرافک معروف-پلیٹ ٹیکسٹ حملوں کی ایک کلاس ہیں جن کے کلیدی سلسلے بولین فنکشن کا استعمال کرتے ہوئے کئی لکیری فیڈ بیک شفٹ رجسٹروں (ایل ایف ایس آر) کے آؤٹ پٹ کو ملا کر تیار کیے جاتے ہیں۔ ارتباط کے حملے ایک شماریاتی کمزوری کا استحصال کرتے ہیں جو کلیدی سلسلے کے لیے منتخب کردہ مخصوص بولین فنکشن سے پیدا ہوتی ہے۔ اگرچہ کچھ بولین افعال ارتباط کے حملوں کا شکار ہوتے ہیں، لیکن اس طرح کے افعال کا استعمال کرتے ہوئے پیدا ہونے والے اسٹریم سائفر فطری طور پر غیر محفوظ نہیں ہوتے ہیں۔ وضاحت ارتباط حملے اس وقت ممکن ہو جاتے ہیں جب کلیدی سلسلے کے جنریٹر میں انفرادی ایل ایف ایس آر کی آؤٹ پٹ حالت اور تمام ایل ایف ایس آر کی آؤٹ پٹ حالتوں کو یکجا کرنے والے بولین فنکشن کی آؤٹ پٹ کے درمیان ایک اہم ارتباط موجود ہو۔ ان حملوں کو کلیدی سلسلے کے جزوی علم کے ساتھ مل کر استعمال کیا جاتا ہے، جو سادہ متن کے جزوی علم سے حاصل ہوتا ہے۔ اس کے بعد ایکس او آر منطق گیٹ کا استعمال کرتے ہوئے دونوں کا موازنہ کیا جاتا ہے۔ یہ کمزوری حملہ آور کو انفرادی ایل ایف ایس آر اور باقی نظام کے لیے کلید کو الگ سے بروٹ فورس کرنے کی اجازت دیتی ہے۔ مثال کے طور پر، ایک کی اسٹریم جنریٹر میں جہاں چار 8 بٹ ایل ایف ایس آر کو جوڑ کر کی اسٹریم تیار کیا جاتا ہے، اور اگر ایک رجسٹر بولین فنکشن آؤٹ پٹ سے منسلک ہے، تو پہلے اسے بروٹ فورس کرنا ممکن ہو جاتا ہے، اس کے بعد باقی تین ایل ایف ایس آر ہوتے ہیں۔ نتیجے کے طور پر، حملے کی کل پیچیدگی 28 + 224 ہو جاتی ہے۔ پورے نظام پر بروٹ فورس حملہ شروع کرنے کی لاگت کے مقابلے میں، پیچیدگی 232 کے ساتھ، یہ صرف 256 سے کم کے حملے کی کوشش کی بچت کے عنصر کی نمائندگی کرتا ہے۔ اگر دوسرا رجسٹر فنکشن کے ساتھ منسلک ہے، تو اس عمل کو دہرایا جا سکتا ہے اور 65028 سے کم کی کوشش کی بچت کے عنصر کے لیے حملے کی پیچیدگی کو 28 + 28 + 216 تک کم کیا جا سکتا ہے۔ مثال جیف جنریٹر ایک مثال جیف جنریٹر ہے، جو تین ایل ایف ایس آر پر مشتمل ہے: ایل ایف ایس آر-1، ایل ایف ایس آر-2، اور ایل ایف ایس آر-3۔ ان رجسٹروں کو بالترتیب:،، اور کے طور پر ظاہر کیا جائے۔ پھر، جنریٹر آؤٹ پٹ فراہم کرنے کے لیے تین رجسٹروں کو یکجا کرنے والا بولین فنکشن (یعنی۔ (AND) XOR (NOT AND)۔ تین رجسٹروں کے آؤٹ پٹ کے لیے 23 = 8 ممکنہ اقدار ہیں، اور ان میں سے ہر ایک کے لیے اس امتزاج فنکشن کی قیمت نیچے دیے گئے جدول میں دکھائی گئی ہے: تیسرے رجسٹر کے آؤٹ پٹ پر غور کریں۔ مندرجہ بالا جدول سے پتہ چلتا ہے کہ 8 ممکنہ آؤٹ پٹ میں سے 6 جنریٹر آؤٹ پٹ کی متعلقہ قیمت کے برابر ہیں۔ تمام ممکنہ معاملات کے 75 ٪ میں۔ اس طرح ایل ایف ایس آر-3 جنریٹر کے ساتھ 'مربوط' ہے۔ یہ ایک کمزوری ہے جس کا استحصال مندرجہ ذیل طریقے سے کیا جا سکتا ہے: سادہ متن کے سائفر ٹیکسٹ پر ایک مداخلت کی جا سکتی ہے جسے اسٹریم سائفر کے ذریعے انکرپٹ کیا گیا ہے جس میں جیف جنریٹر کو اس کے کلیدی سلسلہ جنریٹر کے طور پر استعمال کیا گیا ہے، یعنی۔ کے لیے، وقت پر ایل ایف ایس آر-1 کی آؤٹ پٹ کہاں ہے، وغیرہ۔ یہ بھی ممکن ہے کہ سادہ متن کا وہ حصہ، مثلا۔ سادہ متن کے پہلے 32 بٹس (متن کے 4 ASCII حروف کے مطابق)۔ یہ مکمل طور پر ناممکن نہیں ہے کیونکہ سادہ متن ایک درست ایکس ایم ایل فائل ہے، مثال کے طور پر، پہلے 4 اے ایس سی آئی آئی حروف "<ایکس ایم ایل" ہونے چاہئیں۔ اسی طرح، بہت سے فائل فارمیٹس یا نیٹ ورک پروٹوکول میں بہت معیاری ہیڈر یا فوٹر ہوتے ہیں۔ انٹرسیپٹڈ اور ہمارے معروف/اندازے کو دیکھتے ہوئے، ہم دونوں کو ایک ساتھ مل کر آسانی سے تلاش کر سکتے ہیں۔ اس سے جنریٹر آؤٹ پٹ کے لگاتار 32 بٹس کا تعین کرنا آسان ہو جاتا ہے۔ یہ ایل ایف ایس آر-3 کے لیے ممکنہ چابیاں (ابتدائی اقدار) کی جگہ کی بروٹ فورس سرچ کو قابل بناتا ہے (یہ فرض کرتے ہوئے کہ ہم ایل ایف ایس آر-3 کے ٹیپ شدہ بٹس کو جانتے ہیں، ایک مفروضہ جو کرکہوفس کے اصول کے مطابق ہے)۔ کلیدی جگہ میں دی گئی کسی بھی کلید کے لیے، ہم جلدی سے ایل ایف ایس آر-3 کے آؤٹ پٹ کے پہلے 32 بٹس تیار کر سکتے ہیں اور ان کا موازنہ پورے جنریٹر کے آؤٹ پٹ کے اپنے بازیافت شدہ 32 بٹس سے کر سکتے ہیں۔ چونکہ ہم نے پہلے قائم کیا ہے کہ ایل ایف ایس آر-3 کی پیداوار اور جنریٹر کے درمیان 75 فیصد ارتباط ہے، ہم جانتے ہیں کہ ہم نے ایل ایف ایس آر-3 کی کلید کا صحیح اندازہ لگا لیا ہے اگر ایل ایف ایس آر-3 کی پیداوار کے پہلے 32 بٹس میں سے تقریبا 24 جنریٹر آؤٹ پٹ کے متعلقہ بٹس سے میل کھائیں گے۔ اگر ہم نے غلط اندازہ لگایا ہے، تو ہمیں توقع کرنی چاہیے کہ ان دونوں ترتیبات کے پہلے 32 بٹس میں سے تقریبا نصف، یا 16، مماثل ہوں گے۔ اس طرح ہم ایل ایف ایس آر-3 کی کلید کو ایل ایف ایس آر-1 اور ایل ایف ایس آر-2 کی کلیدوں سے آزادانہ طور پر بازیافت کر سکتے ہیں۔ اس مرحلے پر ہم نے 3 ایل ایف ایس آر کے نظام کو بروٹ پر مجبور کرنے کے مسئلے کو کم کر دیا ہے تاکہ ایک ایل ایف ایس آر اور پھر 2 ایل ایف ایس آر کے نظام کو بروٹ پر مجبور کیا جا سکے۔ یہاں بچت کی گئی کوشش کی مقدار ایل ایف ایس آر کی لمبائی پر منحصر ہے۔ حقیقت پسندانہ اقدار کے لیے، یہ ایک بہت بڑی بچت ہے اور بروٹ فورس کے حملوں کو بہت عملی بنا سکتی ہے۔ مندرجہ بالا جدول میں مشاہدہ کریں کہ یہ بھی جنریٹر آؤٹ پٹ کے ساتھ 8 میں سے 6 بار متفق ہے، دوبارہ جنریٹر آؤٹ پٹ اور جنریٹر آؤٹ پٹ کے درمیان 75 فیصد ارتباط کا ارتباط ہے۔ ہم ایل ایف ایس آر-1 اور ایل ایف ایس آر-3 کی چابیاں سے آزادانہ طور پر ایل ایف ایس آر-2 کے خلاف بروٹ فورس حملہ شروع کر سکتے ہیں، جس سے صرف ایل ایف ایس آر-1 غیر ٹوٹا ہوا رہ جاتا ہے۔ اس طرح، ہم جیف جنریٹر کو اتنی ہی کوشش سے توڑ سکتے ہیں جتنی کہ 3 مکمل طور پر آزاد ایل ایف ایس آر کو بروٹ فورس کرنے کے لیے درکار ہوتی ہے۔ اس کا مطلب ہے کہ جیف جنریٹر ایک بہت کمزور جنریٹر ہے اور اسے کبھی بھی اسٹریم سائفر کی اسٹریمز پیدا کرنے کے لیے استعمال نہیں کیا جانا چاہیے۔ اوپر کی میز سے نوٹ کریں کہ جنریٹر آؤٹ پٹ سے 8 میں سے 4 بار اتفاق کرتا ہے-50 ٪ ارتباط۔ ہم اس کا استعمال دوسروں سے آزادانہ طور پر ایل ایف ایس آر-1 کو بروٹ فورس کرنے کے لیے نہیں کر سکتے: صحیح کلید ایسی آؤٹ پٹ دے گی جو 50 فیصد وقت جنریٹر آؤٹ پٹ سے متفق ہو، لیکن اوسطا ایک غلط کلید ہوگی۔ یہ حفاظتی نقطہ نظر سے مثالی صورتحال کی نمائندگی کرتا ہے-امتزاج فنکشن کا انتخاب کیا جانا چاہئے تاکہ ہر متغیر اور امتزاج فنکشن کی پیداوار کے درمیان ارتباط 50 ٪ کے قریب ہو۔ عملی طور پر، کسی ایسے فنکشن کو تلاش کرنا مشکل ہو سکتا ہے جو ڈیزائن کے دیگر معیارات، جیسے مدت کی لمبائی کی قربانی کے بغیر اسے حاصل کرے، لہذا سمجھوتہ ضروری ہو سکتا ہے۔ حملے کی شماریاتی نوعیت کو واضح کرنا اگرچہ مذکورہ بالا مثال ارتباط کے حملوں کے پیچھے نسبتا سادہ تصورات کی اچھی طرح سے وضاحت کرتی ہے، لیکن یہ شاید اس وضاحت کو آسان بناتی ہے کہ انفرادی ایل ایف ایس آر کی وحشیانہ قوت کیسے آگے بڑھتی ہے۔ غلط اندازے کے مطابق چابیاں ایل ایف ایس آر آؤٹ پٹ پیدا کریں گی جو جنریٹر آؤٹ پٹ سے تقریبا 50 ٪ وقت پر متفق ہوتی ہیں کیونکہ، دی گئی لمبائی کے دو بے ترتیب بٹ سیکوینسز کو دیکھتے ہوئے، کسی خاص بٹ پر سیکوینسز کے درمیان معاہدے کا امکان 0.0 ہے۔ تاہم، مخصوص انفرادی غلط چابیاں اچھی طرح سے ایل ایف ایس آر آؤٹ پٹ پیدا کر سکتی ہیں جو جنریٹر آؤٹ پٹ سے کم و بیش 50 فیصد سے زیادہ وقت پر متفق ہوتی ہیں۔ یہ خاص طور پر ایل ایف ایس آر کے معاملے میں نمایاں ہے جن کا جنریٹر کے ساتھ ارتباط خاص طور پر مضبوط نہیں ہے۔ کافی چھوٹے ارتباط کے لیے، یہ یقینی طور پر امکان کے دائرے سے باہر نہیں ہے کہ غلط انداز میں اندازہ کی گئی کلید بھی ایل ایف ایس آر آؤٹ پٹ کا باعث بنے گی جو جنریٹر آؤٹ پٹ کے بٹس کی مطلوبہ تعداد سے متفق ہے۔ اس طرح، اس ایل ایف ایس آر کی منفرد کلید کی شناخت کرنا ممکن نہیں ہو سکتا۔ تاہم، متعدد ممکنہ چابیاں کی شناخت کرنا ممکن ہو سکتا ہے، جو اب بھی سائفر کی سیکیورٹی کی ایک اہم خلاف ورزی ہے۔ مزید برآں، معروف سادہ متن کے ایک میگا بائٹ کو دیکھتے ہوئے، صورتحال کافی حد تک مختلف ہوگی۔ ایک غلط کلید ایل ایف ایس آر آؤٹ پٹ پیدا کر سکتی ہے جو جنریٹر آؤٹ پٹ کے 512 کلو بائٹس سے زیادہ کے ساتھ متفق ہے لیکن اس کے آؤٹ پٹ پیدا کرنے کا امکان نہیں ہے جو جنریٹر آؤٹ پٹ کے 768 کلو بائٹس کے ساتھ متفق ہے جیسا کہ صحیح انداز میں اندازہ لگایا گیا ہے۔ ایک اصول کے طور پر، انفرادی رجسٹر اور جنریٹر آؤٹ پٹ کے درمیان ارتباط جتنا کمزور ہوگا، اس رجسٹر کی کلید کو اعلی درجے کے اعتماد کے ساتھ تلاش کرنے کے لیے اتنا ہی زیادہ معروف سادہ متن درکار ہوتا ہے۔ کسی دیئے گئے ارتباط کے لیے درکار معروف سادہ متن کی لمبائی کا تخمینہ بائنومیل ڈسٹری بیوشن کا استعمال کرتے ہوئے لگایا جا سکتا ہے۔ ہائیر آرڈر ارتباط تعریف جیوف جنریٹر پر مثال کے حملے میں جن ارتباط کا استحصال کیا گیا وہ اس کی مثالیں ہیں جنہیں فرسٹ آرڈر ارتباط کہا جاتا ہے: وہ جنریٹر آؤٹ پٹ کی قیمت اور انفرادی ایل ایف ایس آر کے درمیان ارتباط ہیں۔ ان کے علاوہ اعلی درجے کے ارتباط کی وضاحت کرنا ممکن ہے۔ مثال کے طور پر، یہ ممکن ہو سکتا ہے کہ اگرچہ کسی دیئے گئے بولین فنکشن کا انفرادی رجسٹروں میں سے کسی کے ساتھ کوئی مضبوط ارتباط نہ ہو، لیکن دو رجسٹروں کے کچھ بولین فنکشن کے درمیان ایک اہم ارتباط موجود ہو سکتا ہے، مثال کے طور پر۔ یہ دوسرے آرڈر کے ارتباط کی ایک مثال ہوگی۔ تیسرے درجے کے ارتباط اور اعلی کی تعریف اس طرح کی جا سکتی ہے۔ اعلی درجے کے ارتباط کے حملے سنگل آرڈر ارتباط کے حملوں سے زیادہ طاقتور ہو سکتے ہیں، تاہم، یہ اثر "محدود واپسی کے قانون" کے تابع ہے۔ نیچے دیا گیا جدول ایک کلیدی دھارے کے جنریٹر پر مختلف حملوں کے لیے کمپیوٹیشنل لاگت کی پیمائش دکھاتا ہے جس میں آٹھ 8 بٹ ایل ایف ایس آر ایک واحد بولین فنکشن کے ساتھ مل کر ہوتے ہیں۔ لاگت کے حساب کو سمجھنا نسبتا سیدھا ہے: رقم کی بائیں طرف کی اصطلاح متعلقہ جنریٹرز کے لیے کلیدی جگہ کے سائز کی نمائندگی کرتی ہے، اور دائیں طرف کی اصطلاح باقی جنریٹرز کے لیے کلیدی جگہ کے سائز کی نمائندگی کرتی ہے۔ اگرچہ اعلی درجے کے ارتباط زیادہ طاقتور حملوں کا باعث بنتے ہیں، لیکن انہیں تلاش کرنا بھی زیادہ مشکل ہوتا ہے، کیونکہ جنریٹر آؤٹ پٹ کے خلاف ارتباط کرنے کے لیے دستیاب بولین افعال کی جگہ جیسے جیسے فنکشن میں دلائل کی تعداد بڑھتی جاتی ہے۔ اصطلاحات متغیرات کے بولین فنکشن کو "-th آرڈر ارتباط مدافعتی" کہا جاتا ہے، یا کسی عدد کے لیے "th آرڈر ارتباط استثنی" ہوتا ہے، اگر فنکشن کے آؤٹ پٹ اور اس کے ان پٹ کے کسی بھی بولین فنکشن کے درمیان کوئی اہم ارتباط موجود نہ ہو۔ مثال کے طور پر، ایک بولین فنکشن جس میں فرسٹ آرڈر یا سیکنڈ آرڈر کا کوئی ارتباط نہیں ہوتا ہے، لیکن جس میں تھرڈ آرڈر کا ارتباط ہوتا ہے، دوسرے آرڈر کا ارتباط استثنی ظاہر کرتا ہے۔ ظاہر ہے، اعلی ارتباط قوت مدافعت کسی فنکشن کو کی اسٹریم جنریٹر میں استعمال کے لیے زیادہ موزوں بناتی ہے (حالانکہ یہ واحد چیز نہیں ہے جس پر غور کرنے کی ضرورت ہے)۔ سیجینٹ ہیلر نے دکھایا کہ متغیرات کی الجبرائی ڈگری کے بولین فنکشن کی ارتباط قوت مدافعت مطمئن کرتی ہے۔ ان پٹ متغیرات کے دیئے گئے سیٹ کے لیے، اس کا مطلب ہے کہ ایک اعلی الجبرائی ڈگری زیادہ سے زیادہ ممکنہ ارتباط قوت مدافعت کو محدود کرے گی۔ مزید برآں، اگر فنکشن متوازن ہے۔ اس کے بعد یہ ہوتا ہے کہ متغیرات کے فنکشن کے لیے یہ ناممکن ہے کہ وہ تھ آرڈر ارتباط مدافعتی ہو۔ یہ اس حقیقت سے بھی ملتا ہے کہ اس طرح کے کسی بھی فنکشن کو ان پٹ فنکشن کے ایکس او آر کے امتزاج کے طور پر ریڈ مولر کی بنیاد کا استعمال کرتے ہوئے لکھا جا سکتا ہے۔ سائفر ڈیزائن کے مضمرات اسٹریم سائفر کی سیکیورٹی پر ارتباط حملے کے اثرات کی ممکنہ انتہائی شدت کو دیکھتے ہوئے، اسٹریم سائفر میں استعمال کرنے کا فیصلہ کرنے سے پہلے ارتباط سے بچاؤ کے لیے امیدوار بولین امتزاج فنکشن کی جانچ کرنا ضروری ہونا چاہیے۔ تاہم، یہ نوٹ کرنا ضروری ہے کہ اعلی ارتباط قوت مدافعت ایک ضروری ہے، لیکن بولین فنکشن کے لیے کافی شرط نہیں ہے جو کی اسٹریم جنریٹر میں استعمال کے لیے موزوں ہو۔ غور کرنے کے لیے دیگر مسائل ہیں، مثال کے طور پر، آیا فنکشن متوازن ہے یا نہیں-چاہے وہ اتنے ہی آؤٹ پٹ کرتا ہے یا تقریبا اتنے ہی 1 کا جتنا یہ 0 کرتا ہے جب تمام ممکنہ ان پٹ پر غور کیا جاتا ہے۔ کسی مخصوص سائز کے بولین افعال کو آسانی سے پیدا کرنے کے طریقوں پر تحقیق کی گئی ہے جن میں کم از کم ارتباط قوت مدافعت کی کچھ خاص ترتیب کی ضمانت ہوتی ہے۔ اس تحقیق نے ارتباط مدافعتی بولین افعال اور غلطی کو درست کرنے والے کوڈ کے درمیان روابط کو بے نقاب کیا ہے۔ کرپٹوگرافی حوالہ جات بروس شنئیر میں موضوعات بھی دیکھیں۔ اپلائیڈ کرپٹوگرافی: سی، دوسرے ایڈیشن میں پروٹوکول، الگورتھم اور سورس کوڈ۔ جان ولی اینڈ سنز، انکارپوریٹڈ۔ 1996۔ سیکشن 16.4 کا صفحہ 382: ایل ایف ایس آر کا استعمال کرتے ہوئے سٹریم سائفرز۔ بیرونی روابط بولین افعال کا آن لائن ڈیٹا بیس زائرین کو بولین عوامل کے ڈیٹا بیس کو کئی طریقوں سے تلاش کرنے کی اجازت دیتا ہے، بشمول ارتباط سے استثنی کے ذریعے۔ کریپٹوگرافک حملے