RDRAND
آر ڈی آر اے این ڈی ("ریڈ رینڈم" کے لیے ؛ جسے انٹیل سیکیور کلیدی ٹیکنالوجی، کوڈ نام بل ماؤنٹین کے نام سے جانا جاتا ہے) انٹیل آن چپ ہارڈ ویئر رینڈم نمبر جنریٹر سے بے ترتیب نمبروں کو واپس کرنے کے لیے ایک ہدایت ہے جسے آن چپ اینٹروپی سورس کے ذریعے سیڈ کیا گیا ہے۔ انٹیل نے یہ فیچر 2012 کے آس پاس متعارف کرایا، اور اے ایم ڈی نے جون 2015 میں ہدایات کے لیے سپورٹ شامل کی۔ (آر ڈی آر اے این ڈی آئیوی برج پروسیسرز میں دستیاب ہے اور انٹیل 64 اور آئی اے-32 انسٹرکشن سیٹ آرکیٹیکچرز کا حصہ ہے۔) بے ترتیب نمبر جنریٹر سیکورٹی اور کرپٹوگرافک معیارات جیسے این آئی ایس ٹی ایس پی 800-90 اے، ایف آئی پی ایس 140-2، اور اے این ایس آئی X9.82 کے مطابق ہے۔ انٹیل نے کرپٹوگرافی ریسرچ انکارپوریٹڈ سے 2012 میں بے ترتیب نمبر جنریٹر کا جائزہ لینے کی بھی درخواست کی، جس کے نتیجے میں انٹیل کے آئیوی برج ڈیجیٹل بے ترتیب نمبر جنریٹر کا مقالہ تجزیہ ہوا۔ آر ڈی ایس ای ڈی آر ڈی آر اے این ڈی سے ملتا جلتا ہے اور اینٹروپی پیدا کرنے والے ہارڈ ویئر تک نچلی سطح تک رسائی فراہم کرتا ہے۔ آر ڈی ایس ای ای ڈی جنریٹر اور پروسیسر انسٹرکشن آر ڈی سی ای ڈی انٹیل براڈ ویل سی پی یوز اور اے ایم ڈی زین سی پی یوز کے ساتھ دستیاب ہیں۔ جائزہ سی پی یو آئی ڈی ہدایت کو اے ایم ڈی اور انٹیل سی پی یو دونوں پر استعمال کیا جا سکتا ہے تاکہ یہ معلوم کیا جا سکے کہ آیا آر ڈی آر اے این ڈی ہدایت معاون ہے یا نہیں۔ اگر ایسا ہے تو، ای سی ایکس رجسٹر کا بٹ 30 سی پی یو آئی ڈی اسٹینڈرڈ فنکشن 01 ایچ کو کال کرنے کے بعد سیٹ کیا جاتا ہے۔ اے ایم ڈی پروسیسرز کو اسی ٹیسٹ کا استعمال کرتے ہوئے فیچر کے لیے چیک کیا جاتا ہے۔ آر ڈی ایس ای ای ڈی کی دستیابی کو اسی طرح انٹیل سی پی یو پر چیک کیا جا سکتا ہے۔ اگر آر ڈی ایس ای ای ڈی سپورٹڈ ہے، تو ای بی ایکس رجسٹر کا بٹ 18 سی پی یو آئی ڈی اسٹینڈرڈ فنکشن 07 ایچ کو کال کرنے کے بعد سیٹ کیا جاتا ہے۔ آر ڈی آر اے این ڈی کے لیے اوپی کوڈ 0x0F 0xC7 ہے، اس کے بعد ایک موڈ آر ایم بائٹ ہے جو منزل کے رجسٹر کی وضاحت کرتا ہے اور اختیاری طور پر 64 بٹ موڈ میں ریکس پریفیکس کے ساتھ مل جاتا ہے۔ انٹیل سیکیور کی انٹیل کا نام ہے جو آر ڈی آر اے این ڈی ہدایات اور بنیادی بے ترتیب نمبر جنریٹر (آر این جی) ہارڈ ویئر کے نفاذ دونوں کے لیے ہے، جسے ترقی کے دوران "بل ماؤنٹین" کا کوڈ نام دیا گیا تھا۔ انٹیل ان کے آر این جی کو "ڈیجیٹل رینڈم نمبر جنریٹر" یا ڈی آر این جی کہتا ہے۔ جنریٹر ہارڈ ویئر اینٹروپی ماخذ کے ذریعہ تیار کردہ 256 بٹ خام اینٹروپی نمونوں کے جوڑے لیتا ہے اور انہیں ایڈوانسڈ انکرپشن اسٹینڈرڈ (اے ای ایس) (سی بی سی-ایم اے سی موڈ میں) کنڈیشنر پر لاگو کرتا ہے جو انہیں ایک واحد 256 بٹ کنڈیشنڈ اینٹروپی نمونے تک کم کر دیتا ہے۔ این آئی ایس ٹی ایس پی 800-90 اے میں بیان کردہ سی ٹی آر ڈی آر بی جی نامی ایک فیصلہ کن بے ترتیب بٹ جنریٹر کو کنڈیشنر کے آؤٹ پٹ سے سیڈ کیا جاتا ہے، جو آر ڈی آر اے این ڈی ہدایات کے ذریعے درخواست کرنے والی ایپلی کیشنز کو کرپٹوگرافک طور پر محفوظ بے ترتیب نمبر فراہم کرتا ہے۔ ہارڈ ویئر بیج کی قیمت کو تبدیل کرنے سے پہلے زیادہ سے زیادہ 511 128 بٹ نمونے جاری کرے گا۔ آر ڈی ایس ای ای ڈی آپریشن کا استعمال ای ای ایس-سی بی سی-ایم اے سی سے مشروط 256 بٹ نمونوں تک رسائی فراہم کرتا ہے۔ آر ڈی ایس ای ای ڈی ہدایت کو انٹیل سیکیور کلید میں شامل کیا گیا تھا تاکہ براڈویل سی پی یوز میں دستیاب ایک اور سڈورینڈم نمبر جنریٹر کو سیڈنگ کیا جا سکے۔ آر ڈی ایس ای ای ڈی انسٹرکشن کے لیے اینٹروپی سورس ایک سیلف ٹائمڈ سرکٹ پر غیر متزلزل طور پر چلتا ہے اور 3 گیگا ہرٹز کی شرح سے بٹس کے بے ترتیب سلسلے کو آؤٹ پٹ کرنے کے لیے سلکان کے اندر تھرمل شور کا استعمال کرتا ہے، جو آر ڈی آر اے این ڈی سے حاصل ہونے والے موثر 6.4 گیبٹ/سیکنڈ سے سست ہے (دونوں شرحیں تمام کور اور تھریڈز کے درمیان مشترک ہیں)۔ آر ڈی ایس ای ای ڈی ہدایت کا مقصد صوابدیدی چوڑائی کے سافٹ ویئر پی آر این جی کو جوڑنا ہے، جبکہ آر ڈی آر اے این ڈی ان ایپلی کیشنز کے لیے ہے جن کے لیے محض اعلی معیار کے بے ترتیب نمبروں کی ضرورت ہوتی ہے۔ اگر کرپٹوگرافک سیکیورٹی کی ضرورت نہیں ہے، تو ایک سافٹ ویئر پی آر این جی جیسے Xorshift عام طور پر تیز ہوتا ہے۔ انٹیل کور i 7-7700 K، 4500 میگاہرٹز (45 × 100 میگاہرٹز) پروسیسر (کیبی لیک-S مائیکرو آرکیٹیکچر) پر کارکردگی، آپریڈ سائز (16/32/64 بٹس) سے قطع نظر، ایک واحد آر ڈی آر اے این ڈی یا آر ڈی ایس ای ڈی ہدایت 110 این ایس، یا 463 گھڑی سائیکل لیتی ہے۔ گھڑی کے چکروں کی یہ تعداد اسکائی لیک یا کیبی لیک مائیکرو آرکیٹیکچر والے تمام پروسیسرز پر لاگو ہوتی ہے۔ سلورمونٹ مائیکرو آرکیٹیکچر پروسیسرز پر، آپریڈ سائز سے قطع نظر، ہر ہدایت تقریبا 1472 گھڑی سائیکل لیتی ہے ؛ اور آئیوی برج پروسیسرز پر آر ڈی آر اے این ڈی 117 گھڑی سائیکل لیتا ہے۔ اے ایم ڈی رائزن سی پی یو پر، ہر ایک ہدایت 16 بٹ یا 32 بٹ آپریڈ کے لیے تقریبا 1200 کلاک سائیکل اور 64 بٹ آپریڈ کے لیے تقریبا 2500 کلاک سائیکل لیتی ہے۔ ایک فلکی طبیعیات مونٹی کارلو سمیلیٹر نے کواڈ کور انٹیل i 7-3740 کیو ایم پروسیسر پر آر ڈی آر اے این ڈی کا استعمال کرتے ہوئے 107 64 بٹ بے ترتیب نمبر تیار کرنے کے لیے وقت کی جانچ کی۔ انہوں نے پایا کہ آر ڈی آر اے این ڈی کا سی نفاذ سی میں ڈیفالٹ بے ترتیب نمبر جنریٹر کے مقابلے میں تقریبا 2 × سست اور مرسین ٹوسٹر کے مقابلے میں تقریبا 20 × سست تھا۔ اگرچہ آر ڈی آر اے این ڈی کا ازگر ماڈیول بنایا گیا ہے، لیکن یہ ازگر میں ڈیفالٹ بے ترتیب نمبر جنریٹر سے 20 × سست پایا گیا، حالانکہ پی آر این جی اور سی ایس پی آر این جی کے درمیان کارکردگی کا موازنہ نہیں کیا جا سکتا۔ انٹیل کی طرف سے جون 2020 میں جاری کردہ ایک مائیکرو کوڈ اپ ڈیٹ، جسے کراس ٹاک کی کمزوری کو کم کرنے کے لیے ڈیزائن کیا گیا ہے (نیچے حفاظتی مسائل کا سیکشن دیکھیں)، اضافی حفاظتی کنٹرول کی وجہ سے آر ڈی آر اے این ڈی اور آر ڈی ایس ای ڈی کی کارکردگی کو منفی طور پر متاثر کرتا ہے۔ تخفیف کا اطلاق کرنے والے پروسیسرز پر، ہر متاثرہ ہدایت میں اضافی تاخیر ہوتی ہے اور کوروں میں آر ڈی آر اے این ڈی یا آر ڈی ایس ای ای ڈی کی بیک وقت کارکردگی کو مؤثر طریقے سے سیریلائز کیا جاتا ہے۔ انٹیل نے ان حفاظتی چیک کو آرام دینے کے لیے ایک طریقہ کار متعارف کرایا، اس طرح زیادہ تر منظرناموں میں کارکردگی کے اثرات کو کم کیا، لیکن انٹیل پروسیسرز اس حفاظتی نرمی کو پہلے سے طے شدہ طور پر لاگو نہیں کرتے ہیں۔ مرتب کرنے والے بصری سی + + 2015 آر ڈی آر اے این ڈی اور آر ڈی ایس ای ڈی افعال کے لیے اندرونی ریپر سپورٹ فراہم کرتے ہیں۔ جی سی سی 4.6 + اور کلانگ 3.2 + آر ڈی آر اے این ڈی کے لیے اندرونی افعال فراہم کرتے ہیں جب جھنڈوں میں-mrdrnd کی وضاحت کی جاتی ہے، اور مشروط تالیف کی اجازت دینے کے لیے ترتیب بھی دی جاتی ہے۔ نئے ورژن اضافی طور پر ان بلٹ انز کو انٹیل کے سی کمپائلر کے ورژن 12.1 + کے ساتھ مطابقت رکھنے والے افعال میں لپیٹنے کے لیے immintrin.h فراہم کرتے ہیں۔ یہ فنکشن اپنے پیرامیٹر کی طرف اشارہ کردہ مقام پر بے ترتیب ڈیٹا لکھتے ہیں، اور کامیابی پر 1 واپس کرتے ہیں۔ ایپلی کیشنز یہ محفوظ مواصلات میں مدد کے لیے اوپن ایس ایس ایل میں آر ڈی آر اے این ڈی اور آر ڈی ایس ای ڈی کا استعمال کرتے ہوئے کرپٹوگرافک طور پر محفوظ بے ترتیب نمبر بنانے کا ایک آپشن ہے۔ مونٹی کارلو سمیلیٹر میں آر ڈی آر اے این ڈی کے سائنسی استعمال کا جائزہ لیا گیا، جس میں دیگر بے ترتیب نمبر جنریٹرز کے مقابلے میں کارکردگی اور تولیدی صلاحیت پر توجہ دی گئی۔ اس سے یہ نتیجہ اخذ کیا گیا کہ مرسین ٹوسٹر کے برخلاف آر ڈی آر اے این ڈی کا استعمال مختلف نتائج فراہم نہیں کرتا، بلکہ بدتر کارکردگی اور تولیدی صلاحیت فراہم کرتا ہے۔ استقبالیہ ستمبر 2013 میں، نیو یارک ٹائمز کے ایک مضمون کے جواب میں جس میں خفیہ کاری کو کمزور کرنے کی این ایس اے کی کوشش کا انکشاف کیا گیا تھا، تھیوڈور ٹسو نے لینکس دانا میں/دیو/بے ترتیب کے لیے آر ڈی آر اے این ڈی کے استعمال کے بارے میں عوامی طور پر پوسٹ کیا: لینس ٹوروالڈس نے لینکس دانا میں آر ڈی آر اے این ڈی کے استعمال کے بارے میں خدشات کو مسترد کر دیا اور نشاندہی کی کہ یہ/دیو/بے ترتیب کے لیے اینٹروپی کے واحد ذریعہ کے طور پر استعمال نہیں ہوتا ہے، بلکہ آر ڈی آر اے این ڈی سے موصول ہونے والی اقدار کو بے ترتیب کے دیگر ذرائع کے ساتھ ملا کر اینٹروپی کو بہتر بنانے کے لیے استعمال ہوتا ہے۔ تاہم، ڈیفیوز سیکیورٹی کے ٹیلر ہارنبی نے مظاہرہ کیا کہ لینکس بے ترتیب نمبر جنریٹر غیر محفوظ ہو سکتا ہے اگر آر ڈی آر اے این ڈی ہدایات میں بیک ڈور متعارف کرایا جائے جو خاص طور پر اس کا استعمال کرتے ہوئے کوڈ کو نشانہ بناتا ہے۔ ہارنبی کا پروف آف کانسیپٹ نفاذ ورژن 3.13 سے پہلے کے غیر ترمیم شدہ لینکس دانا پر کام کرتا ہے۔ 2013 میں لینکس کرنل میں اس مسئلے کو کم کیا گیا تھا۔ ڈویلپرز نے فری بی ایس ڈی کرنل کو آر ڈی آر اے این ڈی اور وی آئی اے پیڈلاک کا استعمال کرنے سے براہ راست اس تبصرہ کے ساتھ تبدیل کر دیا کہ "فری بی ایس ڈی 10 کے لیے، ہم بیک ٹریک کرنے اور آر ڈی آر اے این ڈی اور پیڈلاک بیک اینڈ کو ہٹانے جا رہے ہیں اور ان کی آؤٹ پٹ کو براہ راست/دیو/بے ترتیب تک پہنچانے کے بجائے انہیں یارو میں ڈال دیں گے۔ ہارڈ ویئر رینڈم نمبر جنریٹرز یعنی آر ڈی آر اے این ڈی، پیڈلاک وغیرہ تک براہ راست ان لائن اسمبلی کے ذریعے یا ضرورت پڑنے پر یوزر لینڈ سے اوپن ایس ایس ایل کا استعمال کرکے رسائی حاصل کرنا اب بھی ممکن ہوگا، لیکن ہم ان پر مزید بھروسہ نہیں کر سکتے۔ فری بی ایس ڈی/ڈیو/بے ترتیب استعمال فارچیونا اور آر ڈی آر اے این ڈی فری بی ایس ڈی 11 سے شروع ہوا۔ سیکیورٹی کے مسائل 9 جون 2020 کو، ورجے یونیورسٹیٹ ایمسٹرڈیم کے محققین نے کراس ٹاک (CVE-2020-0543) کے نام سے ایک سائیڈ چینل حملہ شائع کیا جس نے متعدد انٹیل پروسیسرز پر RDRAND کو متاثر کیا۔ انہوں نے دریافت کیا کہ ہارڈ ویئر ڈیجیٹل رینڈم نمبر جنریٹر (ڈی آر این جی) سے آؤٹ پٹ ایک اسٹیجنگ بفر میں محفوظ کیے گئے تھے جو تمام کوروں میں مشترکہ تھے۔ اس کمزوری نے متاثرہ پروسیسر پر چلنے والے بدنیتی پر مبنی کوڈ کو اسی پروسیسر کے دوسرے کور پر چلنے والی متاثرہ ایپلی کیشن کے آر ڈی آر اے این ڈی اور آر ڈی ایس ای ڈی ہدایات کے نتائج کو پڑھنے کی اجازت دی، بشمول انٹیل ایس جی ایکس انکلیوز کے اندر چلنے والی ایپلی کیشنز۔ محققین نے ایک پروف آف کانسیپٹ استحصال تیار کیا جس نے صرف ایک دستخطی آپریشن کے بعد ایک علیحدہ سی پی یو کور پر چلنے والے ایس جی ایکس انکلیو سے ایک مکمل ای سی ڈی ایس اے کلید نکالی۔ کمزوری ایسے منظرناموں کو متاثر کرتی ہے جہاں ناقابل اعتماد کوڈ ایک ہی پروسیسر پر قابل اعتماد کوڈ کے ساتھ چلتا ہے، جیسے مشترکہ ہوسٹنگ ماحول میں۔ انٹیل کراس ٹاک کی کمزوری کو اسپیشل رجسٹر بفر ڈیٹا سیمپلنگ (ایس آر بی ڈی ایس) کے طور پر حوالہ دیتا ہے۔ تحقیق کے جواب میں، انٹیل نے اس مسئلے کو کم کرنے کے لیے مائیکرو کوڈ اپ ڈیٹس جاری کیں۔ تازہ ترین مائیکرو کوڈ اس بات کو یقینی بناتا ہے کہ آف کور رسائی میں اس وقت تک تاخیر ہو جب تک کہ حساس کارروائیاں خاص طور پر آر ڈی آر اے این ڈی، آر ڈی ایس ای ڈی، اور ای جی ای ٹی کے ای ہدایات مکمل نہ ہو جائیں اور اسٹیجنگ بفر کو ختم نہ کر دیا جائے۔ ایس آر بی ڈی ایس حملہ دیگر ہدایات کو بھی متاثر کرتا ہے، جیسے کہ وہ جو ایم ایس آر پڑھتے ہیں، لیکن انٹیل نے کارکردگی کے خدشات اور ان ہدایات کے نتائج کی رازداری کی کم ضرورت کی وجہ سے ان پر اضافی حفاظتی تحفظات کا اطلاق نہیں کیا۔ 2012 اور 2019 کے درمیان جاری ہونے والے انٹیل پروسیسرز کی ایک وسیع رینج متاثر ہوئی، جن میں ڈیسک ٹاپ، موبائل اور سرور پروسیسرز شامل ہیں۔ تخفیف کے نتیجے میں خود متاثرہ ہدایات کا استعمال کرتے وقت کارکردگی کے منفی اثرات مرتب ہوتے ہیں، خاص طور پر جب ملٹی تھریڈ ایپلی کیشنز کے ذریعے متوازی طور پر انجام دیا جاتا ہے، جس کی وجہ حفاظتی جانچ کے ذریعے متعارف کرائی گئی تاخیر میں اضافہ اور کور کے پار متاثرہ ہدایات کی موثر سیریلائزیشن ہوتی ہے۔ انٹیل نے ایک آپٹ آؤٹ آپشن متعارف کرایا، جو ہر منطقی پروسیسر پر آئی اے 32 _ ایم سی یو _ او پی ٹی _ سی ٹی آر ایل ایم ایس آر کے ذریعے ترتیب دیا جا سکتا ہے، جو ایس جی ایکس انکلیو سے باہر چلنے والی ہدایات کے لیے اضافی حفاظتی چیک کو غیر فعال کر کے کارکردگی کو بہتر بناتا ہے۔ ای ای ایس انسٹرکشن سیٹ بل رن (ڈکرپشن پروگرام) ولف ایس ایس ایل نوٹس حوالہ جات بیرونی لنکس آر ڈی رینڈ. نیٹ اوپن سورس پروجیکٹ ایکس 86 مائکرو پروسیسرز ایکس 86 ہدایات مشین کوڈ رینڈم نمبر جنریشن ایکس 86 فن تعمیر دیکھیں۔