توقيع الكود
توقيع الشفرة هو عملية توقيع الملفات التنفيذية والنصوص البرمجية رقميًا للتحقق من هوية مُنشئ البرنامج وضمان عدم تعديل الشفرة أو إتلافها منذ توقيعها. تستخدم هذه العملية دالة تجزئة تشفيرية للتحقق من صحة الشفرة وسلامتها. [ 1 ] ابتكر مايكل دويل تقنية توقيع الشفرة عام 1995، كجزء من إضافة المتصفح Eolas WebWish، والتي مكّنت من استخدام تشفير المفتاح العام لتوقيع شفرة برامج تطبيقات الويب القابلة للتنزيل باستخدام مفتاح سري، بحيث يستطيع مُفسّر الشفرة في الإضافة استخدام المفتاح العام المُطابق للتحقق من الشفرة قبل السماح لها بالوصول إلى واجهات برمجة التطبيقات (APIs) الخاصة به. [ 2 ] [ 3 ]
يمكن أن يوفر توقيع الكود العديد من الميزات القيّمة. يتمثل الاستخدام الأكثر شيوعًا لتوقيع الكود في توفير الأمان عند النشر؛ وفي بعض لغات البرمجة، يمكن استخدامه أيضًا للمساعدة في منع تعارضات مساحات الأسماء. توفر جميع تطبيقات توقيع الكود تقريبًا نوعًا من آليات التوقيع الرقمي للتحقق من هوية المؤلف أو نظام البناء، ومجموعًا اختباريًا للتحقق من عدم تعديل الكائن. كما يمكن استخدامه لتوفير معلومات الإصدار الخاصة بالكائن أو لتخزين بيانات وصفية أخرى عنه. [ 4 ]
تعتمد فعالية توقيع الشفرة كآلية مصادقة للبرمجيات على أمان مفاتيح التوقيع الأساسية. وكما هو الحال مع تقنيات البنية التحتية للمفاتيح العامة (PKI) الأخرى ، فإن سلامة النظام تعتمد على قيام الناشرين بتأمين مفاتيحهم الخاصة ضد الوصول غير المصرح به. تكون المفاتيح المخزنة في البرمجيات على أجهزة الكمبيوتر العامة عرضة للاختراق. لذلك، يُعد تخزين المفاتيح في أجهزة تشفير آمنة ومقاومة للتلاعب، تُعرف باسم وحدات أمان الأجهزة ( HSMs) ، أكثر أمانًا وأفضل الممارسات . [ 5 ]
توفير الأمن
توفر العديد من تطبيقات توقيع الشيفرة طريقةً لتوقيع الشيفرة باستخدام نظام يتضمن زوجًا من المفاتيح، أحدهما عام والآخر خاص، على غرار العملية المستخدمة في بروتوكولات TLS أو SSH . على سبيل المثال، في حالة .NET، يستخدم المطور مفتاحًا خاصًا لتوقيع مكتباته أو ملفاته التنفيذية في كل مرة يقوم فيها بالبناء. يكون هذا المفتاح فريدًا لكل مطور أو مجموعة، أو أحيانًا لكل تطبيق أو كائن. يمكن للمطور إما إنشاء هذا المفتاح بنفسه أو الحصول عليه من جهة إصدار شهادات موثوقة . [ 6 ]
يُعدّ توقيع الشفرة ذا قيمة بالغة الأهمية في البيئات الموزعة، حيث قد لا يكون مصدر جزء معين من الشفرة واضحًا على الفور، كما هو الحال في تطبيقات جافا المصغّرة ، وعناصر تحكم ActiveX، وغيرها من شفرات البرمجة النصية النشطة للويب والمتصفح. ومن الاستخدامات المهمة الأخرى توفير التحديثات والتصحيحات للبرامج الحالية بأمان. [ 7 ] توفر أنظمة ويندوز وماك أو إس إكس ومعظم توزيعات لينكس تحديثاتها باستخدام توقيع الشفرة لضمان عدم قدرة الآخرين على توزيع الشفرة بشكل ضار عبر نظام التصحيح. يسمح هذا لنظام التشغيل المُستقبِل بالتحقق من شرعية التحديث، حتى لو تم تسليمه من قِبل جهات خارجية أو وسائط تخزين مادية (أقراص). [ 8 ]
يُستخدم توقيع الشفرة في نظامي التشغيل ويندوز وماك أو إس إكس للتحقق من صحة البرامج عند تشغيلها لأول مرة ، مما يضمن عدم تعرضها للتلاعب الخبيث من قِبل موزع أو موقع تنزيل تابع لجهة خارجية. لا يُستخدم هذا النوع من توقيع الشفرة في نظام لينكس نظرًا لطبيعته اللامركزية، حيث يُعد مدير الحزم هو الطريقة السائدة لتوزيع جميع أنواع البرامج (وليس فقط التحديثات والتصحيحات)، بالإضافة إلى نموذج المصادر المفتوحة الذي يسمح بالفحص المباشر لشفرة المصدر عند الرغبة. تقوم توزيعات لينكس المبنية على دبيان (وغيرها) بالتحقق من صحة الحزم التي تم تنزيلها باستخدام تشفير المفتاح العام. [ 9 ]
التحقق من الهوية الموثوقة باستخدام جهة إصدار الشهادات (CA)
يجب أن يكون المفتاح العام المستخدم للتحقق من توقيع الكود قابلاً للتتبع إلى جهة إصدار شهادات جذرية موثوقة، ويُفضل استخدام بنية مفاتيح عامة آمنة (PKI). هذا لا يضمن موثوقية الكود نفسه، بل يضمن فقط أنه صادر من المصدر المُعلن (أو بشكل أدق، من مفتاح خاص مُحدد ). [ 10 ] توفر جهة إصدار الشهادات مستوى موثوقية جذريًا، ولها القدرة على منح الثقة لجهات أخرى بالنيابة. إذا وثق المستخدم بجهة إصدار شهادات، فمن المفترض أن يثق في شرعية الكود المُوقع بمفتاح مُولد من قِبل تلك الجهة أو أحد وكلائها. تحتوي العديد من أنظمة التشغيل والأطر البرمجية على ثقة مُدمجة لجهة إصدار شهادات واحدة أو أكثر. من الشائع أيضًا أن تُنشئ المؤسسات الكبيرة جهة إصدار شهادات خاصة، داخلية، تُوفر نفس ميزات جهات إصدار الشهادات العامة، ولكنها موثوقة داخل المؤسسة فقط.
توقيع الكود باستخدام التحقق الموسع (EV)
تخضع شهادات توقيع الرموز ذات التحقق الموسع (EV) لمتطلبات تحقق وتقنية إضافية. تستند هذه الإرشادات إلى المتطلبات الأساسية وإرشادات التحقق الموسع الصادرة عن منتدى CA/B. بالإضافة إلى متطلبات التحقق الخاصة بالتحقق الموسع، تنص إرشادات توقيع الرموز ذات التحقق الموسع على أنه "يتم إنشاء المفتاح الخاص بالمشترك وتخزينه واستخدامه في وحدة تشفير تفي بمتطلبات معيار FIPS 140-2 المستوى 2 أو تتجاوزها". [ 11 ]
تتطلب بعض التطبيقات، مثل توقيع برامج تشغيل وضع النواة في نظام التشغيل Windows 10، شهادة توقيع رمز EV. [ 12 ] بالإضافة إلى ذلك، تشير مدونة مايكروسوفت IEBlog إلى أن برامج Windows "الموقعة بشهادة توقيع رمز EV يمكنها اكتساب سمعة فورية لدى خدمات سمعة SmartScreen حتى في حال عدم وجود سمعة سابقة لهذا الملف أو الناشر." [ 13 ]
نموذج شهادة توقيع رمز المركبة الكهربائية
هذا مثال على شهادة توقيع رمز EV تم فك تشفيرها، والتي تستخدمها SSL.com لتوقيع البرامج. SSL.com EV Code Signing Intermediate CA RSA R3يظهر اسم المُصدر كاسم شائع، مما يُعرّف هذه الشهادة على أنها شهادة توقيع رمز EV. Subjectيصف حقل الشهادة شركة SSL Corp كمنظمة. Code Signingيظهر استخدام مفتاح X509v3 الموسّع الوحيد.
شهادة: بيانات: الإصدار: 3 (0x2) رقم سري: 59:4e:2d:88:5a:2c:b0:1a:5e:d6:4c:7b:df:35:59:7d خوارزمية التوقيع: sha256WithRSAEncryption الجهة المصدرة: الاسم الشائع = شهادة مصادقة وسيطة لتوقيع رمز التحقق الموسع من SSL.com RSA R3 اسم المنظمة = شركة SSL اسم المنطقة = هيوستن اسم الولاية أو المقاطعة = تكساس اسم الدولة = الولايات المتحدة صحة ليس قبل: 30 أغسطس 2019، الساعة 20:29:13 بتوقيت غرينتش ليس بعد: 12 نوفمبر 2022، الساعة 20:29:13 بتوقيت غرينتش موضوع: 1.3.6.1.4.1.311.60.2.1.3 = الولايات المتحدة 1.3.6.1.4.1.311.60.2.1.2 = نيفادا عنوان الشارع = 3100 شارع ريتشموند، جناح 503 فئة العمل = منظمة خاصة الرمز البريدي = 77098 الاسم الشائع = شركة SSL الرقم التسلسلي = NV20081614243 اسم المنظمة = شركة SSL اسم المنطقة = هيوستن اسم الولاية أو المقاطعة = تكساس اسم الدولة = الولايات المتحدة معلومات المفتاح العام للموضوع: خوارزمية المفتاح العام: rsaEncryption المفتاح العام: (2048 بت) معامل: 00:c3:e9:ae:be:d7:a2:6f:2f:24 ... الأس: 65537 (0x10001) ملحقات X509v3: معرّف مفتاح السلطة X509v3: معرف المفتاح:36:BD:49:FF:31:2C:EB:AF:6A:40:FE:99:C0:16:ED:BA:FC:48:DD:5F الوصول إلى معلومات السلطة: جهات إصدار شهادات المصادقة - الرابط: http://www.ssl.com/repository/SSLcom-SubCA-EV-CodeSigning-RSA-4096-R3.crt OCSP - URI: http://ocsps.ssl.com سياسات شهادات X509v3: السياسة: 2.23.140.1.3 السياسة: 1.2.616.1.113527.2.5.1.7 السياسة: 1.3.6.1.4.1.38064.1.3.3.2 CPS: https://www.ssl.com/repository استخدام المفاتيح الموسعة في X509v3: توقيع الشفرة نقاط توزيع قائمة إبطال الشهادات X509v3: الاسم الكامل: URI: http://crls.ssl.com/SSLcom-SubCA-EV-CodeSigning-RSA-4096-R3.crl معرّف مفتاح الموضوع X509v3: EC:6A:64:06:26:A7:7A:69:E8:CC:06:D5:6F:FA:E1:C2:9A:29:79:DE استخدام مفتاح X509v3: هام التوقيع الرقمي خوارزمية التوقيع: sha256WithRSAEncryption 17:d7:a1:26:58:31:14:2b:9f:3b...
بديل لـ CAs
النموذج الآخر هو نموذج الثقة عند الاستخدام الأول ، حيث يمكن للمطورين اختيار توفير مفتاحهم الخاص المُنشأ ذاتيًا. في هذه الحالة، يتعين على المستخدم عادةً الحصول على المفتاح العام بطريقة ما مباشرةً من المطور للتحقق من أن العنصر صادر عنه لأول مرة. تخزن العديد من أنظمة توقيع التعليمات البرمجية المفتاح العام داخل التوقيع. تسمح بعض أطر البرامج وأنظمة التشغيل التي تتحقق من توقيع التعليمات البرمجية قبل التنفيذ للمستخدم باختيار الوثوق بهذا المطور من تلك اللحظة فصاعدًا بعد التشغيل الأول. يمكن لمطور التطبيق توفير نظام مماثل عن طريق تضمين المفاتيح العامة مع برنامج التثبيت. يمكن بعد ذلك استخدام المفتاح لضمان التحقق من أن أي عناصر لاحقة تحتاج إلى التشغيل، مثل التحديثات أو الإضافات أو تطبيق آخر، صادرة عن نفس المطور.
تحديد الوقت
صُممت تقنية ختم الوقت لتجاوز تحذير الثقة الذي سيظهر في حالة انتهاء صلاحية الشهادة. في الواقع، تعمل تقنية ختم الوقت على تمديد فترة صلاحية الشهادة. [ 14 ]
في حال اضطرار جهة ما إلى إلغاء شهادة بسبب اختراقها، يُدرج تاريخ ووقت وقوع الاختراق ضمن سجل الإلغاء. في هذه الحالة، يساعد تحديد الوقت في إثبات ما إذا كان توقيع الشهادة قد تم قبل أو بعد اختراقها. [ 14 ]
توقيع الكود في Xcode
يحتاج مطورو تطبيقات iOS و tvOS إلى توقيعها قبل تشغيلها على أي جهاز حقيقي وقبل رفعها إلى متجر التطبيقات . هذا ضروري لإثبات امتلاك المطور لمعرّف مطور Apple صالح . يحتاج التطبيق إلى ملف تعريف أو شهادة صالحة لكي يعمل على الأجهزة. [ 15 ]
مشاكل
كأي إجراء أمني، يمكن اختراق توقيع الشفرة. قد يُخدع المستخدمون لتشغيل شفرة غير موقّعة، أو حتى لتشغيل شفرة ترفض التحقق من صحتها، ولا يبقى النظام آمنًا إلا طالما بقي المفتاح الخاص سريًا. [ 16 ] [ 17 ]
من المهم أيضًا ملاحظة أن توقيع الكود لا يحمي المستخدم النهائي من أي نشاط ضار أو أخطاء برمجية غير مقصودة من قِبل مُطوّر البرنامج، بل يضمن فقط عدم تعديل البرنامج من قِبل أي شخص آخر غير المُطوّر. في بعض الأحيان، لا تقبل أنظمة الحماية الشهادات، إما بسبب طابع زمني خاطئ أو بسبب استهلاك مفرط لذاكرة الوصول العشوائي ( RAM) .
التطبيقات
تُطبّق مايكروسوفت نوعًا من توقيع الشفرة (المبني على Authenticode) لبرامج التشغيل التي تختبرها. ولأن برامج التشغيل تعمل ضمن نواة النظام، فقد تُزعزع استقراره أو تُعرّضه لثغرات أمنية. لهذا السبب، تختبر مايكروسوفت برامج التشغيل المُقدّمة إلى برنامج WHQL الخاص بها . بعد اجتياز برنامج التشغيل للاختبار، تُوقّع مايكروسوفت على تلك النسخة منه باعتبارها آمنة. في أنظمة 32 بت فقط، يُمكن تثبيت برامج التشغيل غير المُعتمدة من مايكروسوفت بعد الموافقة على التثبيت، مع ظهور تنبيه يُحذّر المستخدم من أن الشفرة غير مُوقّعة. بالنسبة لشفرة .NET (المُدارة)، توجد آلية إضافية تُسمى التوقيع بالاسم القوي (Strong Name Signing) تستخدم مفاتيح عامة/خاصة وتجزئة SHA -1 بدلاً من الشهادات. مع ذلك، تُحذّر مايكروسوفت من الاعتماد على التوقيع بالاسم القوي كبديل لـ Authenticode. [ 18 ]
قررت مجموعة عمل توقيع الشفرة التابعة لمنتدى هيئات التصديق/المتصفحات أنه ابتداءً من 1 يونيو 2023، يجب أن تشترط جميع شهادات توقيع الشفرة (وليس فقط شهادات هيئة التصديق) تخزين المفتاح الخاص على وسائط تخزين مادية، مثل وحدة تشفير مادية متوافقة على الأقل مع معيار FIPS 140-2 المستوى 2 أو معيار Common Criteria EAL 4+. [ 19 ] وأصدرت هيئات التصديق لاحقًا بيانات بشأن الامتثال لهذا القرار. [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ]
التعليمات البرمجية غير الموقعة في أجهزة الألعاب والأجهزة الاستهلاكية
في سياق الأجهزة الاستهلاكية مثل أجهزة ألعاب الفيديو ، يُستخدم مصطلح "البرنامج غير الموقّع" غالبًا للإشارة إلى تطبيق لم يُوقّع بالمفتاح التشفيري المطلوب عادةً لقبول البرامج وتشغيلها. يجب توقيع معظم ألعاب أجهزة الألعاب بمفتاح سريّ صمّمه مُصنّع الجهاز، وإلا فلن يتم تحميل اللعبة (وذلك لفرض احتكار المُصنّع ومكافحة قرصنة البرامج). توجد عدة طرق لتشغيل البرامج غير الموقّعة، منها استغلال الثغرات البرمجية ، واستخدام شريحة تعديل ، وتقنية تُعرف باسم "حيلة التبديل"، أو تشغيل تعديل برمجي .
قد لا يبدو واضحًا للوهلة الأولى سبب عدم إمكانية تشغيل تطبيق موقّع بمجرد نسخه إلى قرص DVD آخر. في جهاز Xbox ، يعود السبب إلى أن ملف Xbox التنفيذي (XBE) يحتوي على علامة نوع الوسائط، التي تحدد نوع الوسائط التي يمكن تشغيل XBE منها. في معظم برامج Xbox، يتم ضبط هذه العلامة بحيث لا يتم تشغيل الملف التنفيذي إلا من الأقراص الأصلية، لذا فإن نسخ الملف التنفيذي إلى وسائط قابلة للحرق يكفي لإيقاف تشغيل البرنامج.
ومع ذلك، بما أن الملف التنفيذي موقّع، فإن تغيير قيمة العلامة ببساطة غير ممكن لأن هذا يغير توقيع الملف التنفيذي، مما يتسبب في فشل التحقق منه عند فحصه.
انظر أيضاً
مراجع
- ↑ "مقدمة في توقيع التعليمات البرمجية (ويندوز)" . learn.microsoft.com . 15 أغسطس 2017. مؤرشف من الأصل في 6 فبراير 2024. تم الاطلاع عليه في 13 مارس 2024 .
- ↑ "WebWish: أمنيتنا أوامركم" .
- ↑ شرودر، هـ. ودويلي، م. "تطبيقات الويب التفاعلية باستخدام Tcl/Tk". أكاديميك بروفيشنال، بوسطن، 1998، ص 14، ISBN 0122215400.
- ↑ هندريك، ويليام (2015). "نظرة عامة شاملة على الشهادات الموثوقة - منتدى CAB" (ملف PDF) . مؤرشف (PDF) من الأصل بتاريخ 22 أبريل 2019. تم الاطلاع عليه بتاريخ 26 فبراير 2015 .
- ↑ "تأمين مفاتيحك الخاصة كأفضل ممارسة لشهادات توقيع التعليمات البرمجية" (PDF) .
- ↑ هندريك، ويليام (17 يونيو 2011). "ما هو توقيع الشفرة؟" . مؤرشف من الأصل في 20 يونيو 2018. تم الاسترجاع في 26 فبراير 2015 .
- ↑ "التوقيعات الرقمية وتطبيقات ويندوز إنستالتر - تطبيقات Win32" . learn.microsoft.com . 7 يناير 2021. مؤرشف من الأصل في 30 يناير 2024. تم الاطلاع عليه في 13 مارس 2024 .
- ↑ محتوى برامج تشغيل ويندوز (18 مايو 2022). "إرشادات إنشاء وإدارة مفتاح التمهيد الآمن لنظام ويندوز" . learn.microsoft.com . مؤرشف من الأصل بتاريخ 30 أكتوبر 2023. تم الاطلاع عليه بتاريخ 22 سبتمبر 2023 .
- ↑ "SecureApt - Debian Wiki" . wiki.debian.org . مؤرشف من الأصل بتاريخ 2019-05-07 . تم الاطلاع عليه بتاريخ 2019-05-07 .
- ↑ "توقيع الشفرة" (ملف PDF) . 2014-02-26. مؤرشف (ملف PDF) من الأصل بتاريخ 2014-02-26 . تم الاطلاع عليه بتاريخ 2014-02-21 .
- ↑ "إرشادات إصدار وإدارة شهادات توقيع رمز التحقق الموسع" (ملف PDF) . منتدى CA/Browser. مؤرشف (ملف PDF) من الأصل بتاريخ 27 نوفمبر 2019. تم الاطلاع عليه بتاريخ 4 ديسمبر 2019 .
- ↑ "سياسة توقيع برامج التشغيل" . مايكروسوفت. مؤرشف من الأصل في 9 ديسمبر 2019. تم الاطلاع عليه في 9 ديسمبر 2019 .
- ↑ "شهادات توقيع رمز Microsoft SmartScreen والتحقق الموسع (EV)" . مايكروسوفت. 14 أغسطس 2012. مؤرشف من الأصل في 9 ديسمبر 2019. تم الاطلاع عليه في 9 ديسمبر 2019 .
- 1 2 مورتون، بروس. "توقيع الشفرة" (ملف PDF) . CASC. مؤرشف (ملف PDF) من الأصل في 26 فبراير 2014. تم الاطلاع عليه في 21 فبراير 2014 .
- ↑ "توزيع تطبيقك على الأجهزة المسجلة" . وثائق مطوري Apple . مؤرشف من الأصل بتاريخ 13 مارس 2024. تم الاطلاع عليه بتاريخ 15 يناير 2024 .
- ↑ "حلول مكافحة الفيروسات المزيفة تتزايد في سرقة شهادات توقيع البرامج" . 9 يناير 2014. مؤرشف من الأصل في 16 أبريل 2014. تم الاطلاع عليه في 14 أبريل 2014 .
- ↑ "لماذا تعتبر المفاتيح الخاصة نقطة ضعف أمان توقيع التعليمات البرمجية" .
- ↑ مدونة "أمن .NET" . learn.microsoft.com . 6 أغسطس 2021. مؤرشف من الأصل في 19 يناير 2024. تم الاطلاع عليه في 13 مارس 2024 .
- ↑ "المتطلبات الأساسية لإصدار وإدارة شهادات توقيع التعليمات البرمجية الموثوقة علنًا" (ملف PDF) . منتدى CA/Browser. 2024. ص 10. مؤرشف (PDF) من الأصل في 13 مارس 2024. تم الاطلاع عليه في 22 مارس 2024. (القسم 1.2.2) [...] اعتبارًا من 1 يونيو 2023 ،
بالنسبة لشهادات توقيع التعليمات البرمجية، يجب على هيئات إصدار الشهادات ضمان إنشاء المفتاح الخاص للمشترك وتخزينه واستخدامه في وحدة تشفير أجهزة مناسبة تفي أو تتجاوز المتطلبات المحددة في القسم 6.2.7.4.1 باستخدام إحدى الطرق الواردة في 6.2.7.4.2.
- ↑ "توقيع الشفرة - تخزين المفاتيح الخاصة | SignPath" . SignPath - توقيع الشفرة بسيط وآمن . مؤرشف من الأصل بتاريخ 8 مارس 2024. تم الاطلاع عليه بتاريخ 13 مارس 2024 .
- ↑ "تغييرات توقيع الشفرة في عام 2021" . knowledge.digicert.com . مؤرشف من الأصل بتاريخ 10 ديسمبر 2023. تم الاطلاع عليه بتاريخ 13 مارس 2024 .
- ↑ "الجدول الزمني لشركة DigiCert: متطلبات تخزين المفتاح الخاص الجديدة لتوقيع الشفرة" . knowledge.digicert.com . مؤرشف من الأصل بتاريخ 8 ديسمبر 2023. تم الاطلاع عليه بتاريخ 13 مارس 2024 .
- ↑ "متطلبات جديدة لتخزين المفتاح الخاص لشهادات توقيع الشفرة" . knowledge.digicert.com . مؤرشف من الأصل بتاريخ 19 فبراير 2024. تم الاطلاع عليه بتاريخ 13 مارس 2024 .
- ↑ " [ CSCWG-public ] نتائج التصويت على ورقة الاقتراع CSCWG-17: تمديد المفتاح الخاص للمشترك" . 26 سبتمبر 2022. مؤرشف من الأصل بتاريخ 5 ديسمبر 2022. تم الاطلاع عليه بتاريخ 13 مارس 2024 .
- ↑ «ستتغير متطلبات تخزين مفاتيح توقيع الشفرة في 1 يونيو 2023» . مؤرشف من الأصل في 2 أكتوبر 2023. تم الاطلاع عليه في 13 مارس 2024 .
- ↑ "🥇 متطلبات جديدة لتخزين المفتاح الخاص لجميع شهادات توقيع التعليمات البرمجية - يونيو 2023 (تحديث)" . SSLPOINT . 23 سبتمبر 2022. مؤرشف من الأصل في 22 سبتمبر 2023. تم الاطلاع عليه في 13 مارس 2024 .
روابط خارجية
- تطبيقات علم التشفير
- برامج أمان الكمبيوتر
- البنية التحتية للمفاتيح العامة
- ثقافة ألعاب الفيديو
- الغش في ألعاب الفيديو
