آمار وابستگی نرم افزار RNG
حتی ریاضی کامل RNG بی قدرت است اگر نرم افزار اطراف آن سقوط کند. «صداقت» بازی متکی بر یک زنجیره طولانی است: هسته سیستم عامل، کتابخانه های رمزنگاری، رانندگان، ظروف، hypervisor، زمان، CI/CD و سیاست انتشار. در زیر تمرکز اعتیاد است که به ندرت در promos ذکر شده است، اما در تولید بسیار مهم است.
1) استخرهای آنتروپی هسته و سیستم
برنامه های RNG اغلب توسط منابع سیستم طراحی شده اند: '/dev/urandom '/' getrandom () 'در لینوکس، CNG در ویندوز،' SecRandomCopyBytes 'در خانواده اپل. مراحل اولیه بارگیری، ظروف «نازک» و VM ها می توانند از «گرسنگی آنتروپی» رنج ببرند.
چه کاری باید انجام دهید: از API های غیر مسدود کننده با مقدار دهی اولیه صحیح استفاده کنید. اجتناب از خواندن "خام "/dev/random" در خدمات ؛ بررسی معیارهای استخر آنتروپی در گره.
2) کتابخانه های رمزنگاری = DRBG شما
OpenSSL/BoringSSL/LibreSSL، libsodium، WebCrypto، Java 'SecureRandom'، Go 'crypto/rand'، Node. js 'crypto' پیادهسازیهای مختلف DRBG و سیاستهای مختلف reseed هستند.
چه کاری باید انجام دهید: نسخه های ثابت (پین)، پروفایل های امن (به عنوان مثال، مدهای FIPS در صورت لزوم)، نرخ عبور سند و منابع طرفین را فعال کنید.
3) دستورالعمل CPU و رانندگان
RDRAND/RDSEED سرعت بخشیدن به جمع آوری آنتروپی، اما وابسته به میکرو کد و اعتماد پلت فرم ؛ TRNG های سخت افزاری نیاز به درایورهای صحیح دارند.
چه کاری باید انجام دهید: دارای پشتیبان برای DRBG سیستم، اعتبار در دسترس بودن دستورالعمل ها در تمام استخرهای دستگاه، «سر و صدای آهن» را بدون تهویه با ابتدایی رمزنگاری مخلوط نکنید.
4) مجازی سازی و ظروف
VM ها آنتروپی سخت افزاری را به اشتراک می گذارند ؛ کانتینرها دولت میزبان را به ارث خواهند برد. تصاویر کلونینگ می توانند همان شمارنده های جانبی/نانس را در هنگام راه اندازی تولید کنند.
چه کاری باید انجام دهید: دانه ها را پس از شروع نمونه (و نه زمان پخت)، اضافه کردن نمک/شناسه های منحصر به فرد، استفاده از شیاطین آنتروپی در خوشه ها، بررسی استقلال جریان بین غلاف ها.
5) ساعت ها و منابع زمان
برخی از RNG ها/استخرها از زمان بندی رویداد سیستم استفاده می کنند. زمان NTP افست/عقب می شکند پیش نیاز برای غیر قابل پیش بینی و ورود به سیستم امضا.
چه کاری باید انجام دهید: تایمر یکنواخت برای nonce، هماهنگ سازی زمان امن، ممنوعیت اصلاحات تیز «بازگشت» در prod.
6) رویدادهای شبکه و I/O
خوشه های بسیار بارگذاری شده با کارگران «استریل» آنتروپی کمی از I/O تولید می کنند.
چه باید بکنید: آنتروپی جمع از کانال های مختلف (زمان بندی، منابع سخت افزاری، DRBG سیستم)، و نه امید برای «سر و صدا شبکه».
7) مجمع، اتصال، ABI
جایگزینی نسخه OpenSSL یا کتابخانه استاندارد می تواند رفتار DRBG را تغییر دهد.
چه کاری باید انجام دهید: ساخت مجدد، تجزیه و تحلیل وابستگی استاتیک، آزمایش باتری دود بر روی مصنوعات قبل از انتشار.
8) انتشار و رانش پیکربندی
ویرایش «داغ»، تکه های دستی در یک ظرف، گره های ناهمزمان - آسیب شناسی برای صداقت.
چه کاری باید انجام دهید: فقط نسخه های امضا شده، تصاویر غیر قابل تغییر، پیکربندی GitOps/اعلانی، ممنوعیت دسترسی ssh برای تولید.
9) سیاهههای مربوط و سریال سازی
رمزگذاری/endiness/bit clipping هنگام سریال سازی خروجی های RNG برای ممیزی یک منبع مکرر غیرقابل تکرار است.
چه کار کنیم: پروتکل های باینری با endiness صریح، طرح (protobuf/CBOR)، امضای هش سوابق، آزمون «پخش دور» در CI.
10) وابستگی های موتور UI/بازی غیر واضح
نقشهبرداری RNG → sobytiye گاهی اوقات به تنظیمات «محلی» (تعداد خطوط، محل، مقیاس) بستگی دارد.
چه کاری باید انجام دهید: به طور دقیق جداول نقشه برداری و نسخه های ریاضیات را ثابت کنید. هر گونه تغییر - مونتاژ و صدور گواهینامه جدید.
11) درس های تاریخی
خطاهای اولیه بذر، چک های آنتروپی، DRBG های بحث برانگیز - یادآوری اینکه آسیب پذیری وابستگی کل لایه صداقت را به خطر می اندازد.
چه کاری باید انجام دهید: بررسی منظم معماری مسیرهای RNG را انجام دهید، «تیم های قرمز» را برای تلاش برای تکرار شکست ها نگه دارید.
12) SBOM و امنیت زنجیره تامین
RNG به ده ها کتابخانه بستگی دارد. بدون موجودی، درک اینکه آسیب پذیری کجاست غیرممکن است.
چه کاری باید انجام دهید: یک SBOM (لیست اجزای سازنده)، پیگیری CVE، اعمال سطح SLSA، علامت مصنوعات (Sigstore/eq.) .
13) پیکربندی DRBG و سیاست مجدد
تجدید بیش از حد نادر - خطر پیش بینی ؛ بیش از حد مکرر - تخریب عملکرد و مسابقات روی حیله و تزویر.
چه کاری باید انجام دهید: مستند سازی عوامل عبور (حجم خروجی، زمان، رویداد)، تست تحت بار.
14) چند مستاجر و جمع کننده
ارائه دهنده بازی مشترک/جمع کننده - لایه وابستگی مشترک. حادثه آنها در ده ها اپراتور منعکس شده است.
چه باید بکنید: درخواست RTP/RNG گزارش نظارت پس از انتشار، هش از «طلایی» باینری، امضا و سیاست عقبگرد.
15) ارائه دهنده خط «بسیاری از RTP»
یک بازی می تواند چندین نسخه RTP داشته باشد. این در مورد RNG به طور مستقیم نیست، بلکه در مورد ریاضیات نقشه برداری وابسته به پیکربندی است.
چه باید بکنید: علامت گذاری دقیق از نسخه های RTP، آشتی در صفحه نمایش اطلاعات، کنترل که فروش یک ترکیب گواهی شده است.
16) مدارهای تست ≠ تولید
RNG «گذشت» در پایه، اما هسته های دیگر، پرچم کامپایلر، پایه ظرف، میکرو کد CPU در فروش هستند.
چه کاری باید انجام دهید: قبل از تحریک، تطبیق بیت به بیت با فروش ؛ دود BigCrush/NIST در عکس های فوری از ترافیک واقعی (آفلاین).
17) به روز رسانی Hypervisor و هسته
پچهای مجازیسازی منابع زمانبندی و رفتار آنتروپی را تغییر میدهند.
چه کاری باید انجام شود: پنجره های برنامه ریزی شده با آزمایش مجدد تست های RNG و مشاهده معیارها/فرکانس های RTP پس از به روز رسانی.
18) محدودیت های پلت فرم و سهمیه
محدودیت های سیستم (cgroups/ulimits) و اولویت ها می توانند خودآزمایی، زمان بندی و ورود به سیستم را رها کنند.
چه کاری باید انجام دهید: SLO برای مسیر RNG: منابع تضمین شده، نظارت بر خطا، هشدارها.
19) الزامات بین المللی
FIPS/CC و تنظیم کننده های محلی نیاز به DRBG/حالت های خاص.
چه کاری باید انجام شود: حفظ یک ماتریس انطباق توسط صلاحیت ؛ پروفایل های ساخت را مخلوط نکنید.
20) مستندات و آموزش
حوادث RNG اغلب با «ما نمی دانستیم که مهم است» شروع می شود.
چه کاری باید انجام دهید: playbooks، آموزش Dev/DevOps/Support، «روزهای بازی» معمولی با تصادفات شبیه سازی شده.
چک لیست های کوچک
برای استودیو/ارائه دهنده بازی
- نسخه های کتابخانه رمزنگاری ثابت ؛ نظارت SBOM و CVE وجود دارد.
- DRBG با مستند reseed و منابع متعدد از آنتروپی.
- نقشه برداری RNG → sobytiye نسخه، هش، امضا شده است.
- بازسازی، انتشار امضا شده، ممنوعیت ویرایش «دستی» در ظرف.
- Pre-prod با محیط تولید یکسان است. تست باتری آفلاین در عکس های فوری.
- سیاهههای مربوط گرد با تغییرناپذیری و تکرارپذیری کامل.
- playbook حادثه: انزوا، عقبگرد، اطلاعیه ها، گزارش عمومی.
برای اپراتور/جمع کننده
- کنترل هش باینری و انطباق با نسخه های گواهی (RNG + RTP).
- مشاهده همگرایی RTP/فرکانس و هشدار رانش.
- نظارت بر هسته/hypervisor/پایه ظرف به روز رسانی با پس از نظارت.
- فقط سیاست انتشار امضا شده، GitOps، بدون تغییر دستی.
- ممیزی فروشنده به طور منظم: گزارش DRBG، امضا، روند برگشت.
برای بازیکنان تکنولوژی زرنگ و دانا/حسابرسان
- نسخه بازی و RTP در صفحه اطلاعات قابل مشاهده است. ارائه دهنده عمومی اعلام صدور گواهینامه.
- اپراتور می دهد ID دور و بیانیه ای در اختلاف; نتیجه قابل تجدید است.
- درک: صداقت RNG ≠ بدون رگه های خشک ؛ این در مورد استقلال و ریاضیات درست است.
RNG نه تنها یک الگوریتم است، بلکه یک اکوسیستم از وابستگی ها است: OS، کتابخانه های رمزنگاری، مجازی سازی، زمان، ساخت، امضا، ورود به سیستم و فرآیندهای انتشار. هر گونه ضعف در این زنجیره «شانس» را به خطر می اندازد. ثبات توسط سه نفر به دست می آید: DRBG قابل اعتماد با سایدینگ صحیح، نظم دقیق مونتاژ/استقرار/امضا، نظارت مستمر و تکرارپذیری دور. بنابراین «صداقت» تبدیل به ویژگی سیستم میشود، نه شعار.