TRNG بر اساس نوسان سازهای حلقه ای:
نوسانگر حلقه ای PUF:
ایده PUF این است که برای هر چالش همان پاسخ از پیش تعریف شده (اما به ظاهر تصادفی) را ایجاد می کند ، در حالی که ایده TRNG این است که خروجی واقعاً تصادفی ایجاد می کند.
سوالات من عبارتند از:
- چگونه یک نوسان ساز حلقه می تواند عنصر اصلی هر دو این ویژگی ها باشد؟به نظر می رسد یکی به این واقعیت متکی است که می توان وضعیت نوسان ساز را پیش بینی کرد ، در حالی که دیگری به برعکس متکی است. این برای من متناقض به نظر می رسد.
- آیا ارتباطی با XOR دارد ، که (نیمه) به طور تصادفی خروجی ها را در مورد TRNG ترکیب می کند ، در حالی که مولتیپلکسر موجود در PUF خروجی را تنظیم می کند؟یا آیا این مربوط به مدت زمان اجرای نوسان سازها است؟
- اگر اینگونه باشد ، آیا یک نوسان ساز حلقه TRNG واقعاً تصادفی است؟
2 پاسخ 2
در ساخت و ساز TRNG ، حلقه ها دارای سیگنال فعال سازی مشترک نیستند ، تنها نقطه زمانی که همزمان می شوند ، قدرت بالا می رود. سپس آنها آزادانه اجرا می شوند ، هر کدام با سرعت خاص خود. این به خودی خود باعث ایجاد تصادفی زیادی نمی شود اما باعث ایجاد اشکالات زیادی در ورودی های Flipflop می شود. امید ایجاد تصادفی بیشتر از استحکام متا است. برای PUF یک فعال مشترک وجود دارد ، بنابراین نوسان سازهای حلقه در ابتدا با یک نقطه همگام سازی مشترک در مقابل یکدیگر مسابقه می دهند. ورودی چالش انتخاب می کند که نمونه ها در آن رقابت می کنند. برای یک چالش معین و یک تراشه معین ، نتیجه مسابقه تمایل دارد که همیشه نتیجه یکسان باشد زیرا فرکانس دقیق هر حلقه بستگی به ویژگی های فیزیکی دقیق هر یک از مراحل آنها دارد.
این مربوط به مدت زمان اجرای RO نیست ، این دقیقاً نحوه استفاده از خروجی ها است که باعث ایجاد تفاوت می شود. شما حتی می توانید سیگنال Enable را در PUF حذف کنید ، که هنوز هم کار خواهد کرد زیرا آنچه در آن وجود دارد تفاوت در فرکانس ها است در حالی که برای trng این مقادیر خروجی واقعی در زمان نمونه برداری است.
این TRNG ممکن است واقعاً تصادفی باشد اما به دست آوردن درست (برای به دست آوردن نرخ داده بالا) مشکل است. سازه های دیگر با تکیه بر حلقه های ناهمزمان یا نقشه های هرج و مرج یک شرط امن تر هستند.
PUF فرکانس نوسان ساز را اندازه گیری می کند ، که بستگی به نحوه چیدمان اتم ها در هنگام تولید دستگاه دارد. RNG از تصادفی فرکانس نوسان ساز و فاز در دوره های زمانی کوتاه استفاده می کند.
تصادفی از کجا می آید
هر دستگاه زمانبندی (آونگ، تشدیدگر کوارتز، نوسانگر RC و غیره) دارای مقداری "نویز" یا "جوت" ذاتی است که برای طراحان شناخته شده است. اگر یک نوسان ساز بسازیم که خروجی آن جریانی از پالس ها باشد، زمان بین پالس کاملاً سازگار نیست. این نویز خواص و رفتاری مشابه انواع نویزهای آشنا دارد و به همان اندازه تصادفی است.
در یک نوسان ساز حلقه ای TRNG، فاز هر نوسانگر نسبت به ساعت نمونه در طول زمان تغییر می کند. بیشتر دریفت به دلیل تفاوت بین فرکانس نوسان ساز و نمونه برداری است، اما برخی از آنها به دلیل جیتر است.
به عبارت دیگر، یک نوسان ساز حلقه ای با ورودی فعال را تصور کنید. روشن می شود و پس از مدتی نمونه برداری می شود. هر دوره (1/f) + جیتر طول می کشد. پس از مدت زمان طولانی، تعداد زیادی از مقادیر جیتر به فاز اضافه می شود. خروجی می تواند 1 یا 0 با احتمال مساوی باشد. متأسفانه، برای جیتر گاوسی، مقادیر جیتر N با هم فقط N^0. 5 برابر انحراف استاندارد گستردهتر دارند.
RNG ها به طور موثر تصادفی را ثبت می کنند
این طرح ناکارآمد است و به نمونههای جیتر زیادی در هر بیت نیاز دارد. توزیع فاز باید به قدری گسترده باشد که تقریباً یکنواخت باشد. نمونه برداری از خروجی نوسانگرهای N حلقه ای XORed با هم امکان تولید بیت های تصادفی بیشتری را نسبت به نمونه برداری از همان نوسانگرهای حلقه N در F/N می دهد. برخی تحلیلهای آماری وجود دارد که دلیل آن را نشان میدهد، اما میتوان آن را به طور شهودی با در نظر گرفتن تعداد فرصتهایی که مقادیر جیتر برای جابجایی فاز یک نوسانگر دارند، درک کرد. نمونه برداری بیش از حد، تعداد زیادی بیت عمدتاً همبسته را در هر نوسانگر تولید می کند. Xoring آنها را برای ایجاد یک جریان خروجی سفید شده ترکیب می کند.
PUF ها تأثیر تصادفی را کاهش می دهند
PUF ها برای کاهش اثر منابع نویز تصادفی بر نتایج آنها طراحی شده اند. یک PUF ایده آل تنها به نحوه فرود اتم ها در طول ساخت دستگاه بستگی دارد. طرح PUF که نشان دادید مقدار خروجی نوسانگر حلقه را در زمان T "پیش بینی" نمی کند. پالس های خروجی را می شمارد. خروجی تقریباً این است: "آیا فرکانس اولین نوسانگر حلقه انتخابی بیشتر از نوسانگر حلقه انتخابی دوم است؟". برای زمانهای نسبتا طولانی مدت، این به طور قابلتوجهی تحت تأثیر مقادیر جیتر قرار نمیگیرد. مقیاس اثرات جیتر با توان 0. 5 در حالی که تعداد شمارش ها به صورت خطی افزایش می یابد. زمان های طولانی تر به سمت مقایسه فرکانس کامل همگرا می شوند. برای اسیلاتورهایی با فرکانس های بسیار نزدیک، جیتر می تواند نقش مهمی در نتیجه داشته باشد. به همین دلیل است که برخی از مقادیر چالشی PUF ممکن است پاسخ قطعی 1 یا 0 را در یک دستگاه مشخص نداشته باشند.