windows – چگونه محدود کردن راه اندازی برنامه هایی که امضای دیجیتالی ندارند؟
ماشین مجازی ویندوز 12 R2. لازم است برنامه های بدون امضای دیجیتالی محدود شود. در مورد SRP شنیدید، سعی در استفاده کردید، کار نمی کرد، نمی فهمم دقیقا چه چیزی مورد نیاز است. من برای کمک خواستم.
هدف: دو مجموعه فایل وجود دارد – امضا / نامشهود. لازم است بررسی کنید که سیستم عامل فایل های امضا نشده را تأیید می کند و بررسی می کند که فایل های امضا شده کار می کنند. امضای دیجیتال را قطع کنید و فایل ها را به عنوان سیستم عامل بررسی کنید.
چگونه این کار را انجام دهم؟ دستورالعمل مطلوب یا لینک!
مدیریت کلید – اقدامات کلیدی چندگانه PGP برای امضای کد، GitHub، و ایمیل
من مجموعه ای از اهداف برای گواهینامه PGP را استفاده می کنم و آنچه که من فکر می کنم یک برنامه منطقی به عنوان یک راه حل است، توسعه داده ام. آنچه که من تعجب می کنم این است:
آیا من چیز مهمی را که نیاز دارد یا به شدت پیشنهاد تغییر در راه حل من را نادیده می گیرد؟
این سوال در مورد نگهداری مجموعه پیشنهاد شده کلید یا "بهترین روش ها" نیست "برای نسل، پشتیبان و غیره. همه چیزهایی که من در اینجا اهمیت می دهم این است که چه تله هایی را برای خود تعیین کرده اید یا سوراخ های امنیتی که ایجاد کرده ام، یعنی برنامه خود را ارزیابی کنید.
Intro
بسیاری از منابع در مورد استفاده از کلید های PGP و کلید های میانبر، که اکثر آنها اکنون نمی توانم به آن اشاره کنم، به عنوان یک مسئله تحقیق درازمدت بوده است و انتظار می رود برای پیدا کردن پاسخ های مشخص، مسیر من را ذخیره نکنم. در مورد استفاده از کلید های چندگانه یک کلید اولیه برای مقاصد مختلف در مقایسه با استفاده از چندین کلید اولیه چند هدفه، همه چیز در مورد هیئت مدیره وجود دارد. دو، مخالف، دیدگاه هایی که به یاد می آورم، از الکس کابال و آلن الیاسن هستند. (بحث من نه، هنوز ، خودم را ارزیابی کردم.)
به عنوان یک دوم، مسئله مرتبط، به نظر می رسد بحث (با وجود همه همه موارد نه تاریخی) در مورد استفاده از کلید های منحنی بیضوی و "مفید بودن" آنها به علت کمبود پیاده سازی در وحشی است که می تواند آنها را اداره کند.
تهدید
هیچ تهدید غیر معمولی وجود ندارد. بازیگران دولتی / به خوبی تأمین مالی این کسب و کار یا شخص من را هدف قرار داده اند. هیچ رقابتی کسب و کار فوق العاده ای وجود ندارد که به احتمال زیاد به کسب و کار یا پایگاه کد آن هدایت شود. تهدیدات عادی هکرهای تصادفی، اسکریپتها و غیره همواره در حال حاضر هستند. هدف اصلی حمایت ها عبارتند از: ایجاد پرونده و یکپارچگی داده ها و تأیید. یک هدف جانبی این است که، به عنوان مثال، پذیرش PGP، و تشویق بیشتر افراد و کسب و کار، برای شروع استفاده از PGP به عنوان قاعده، به جای استثنا، ترویج شود. به نظر میرسد استفاده از درک شده به عنوان یک مشکل ساده کمک می کند، من بیشتر فکر می کنم که هدف و حفظ تعداد کلید های قابل مشاهده به حداقل در گواهینامه های PGP، به نظر می رسد "ادراک ساده" را افزایش دهند.
اهداف
من می خواهم برای ایجاد یک سیستم یا مجموعه ای از گواهینامه های PGP برای پشتیبانی از اهداف زیر:
- کلید PGP برای امضای GITHUB به نام کسب و کار من (پروتکل کد)
- کلید PGP برای دسترسی SSH به کسب و کار حساب کاربری GitHub (امنیت و راحتی)
- کلید PGP برای کسب و کار برای امضای انتشار و توزیع نرم افزار، روشن یا خاموش GitHub (یکپارچگی کد)
- کلید PGP برای کسب و کار به عنوان یک هویت دیجیتال – ایمیل و غیره – برای رمزگذاری و امضاي عمومي
- جداسازی نگرانی ها در مورد ایجاد کد، توزیع کد و "کسب و کار به عنوان یک موجودیت" ایجاد کنید، به طوری که کلید ها می تواند مورد استفاده قرار گیرد:
- ثبت نام مجوز به سایر مخازن
- دسترسی به SSH به دیگر حساب ها، GitHub یا غیره
- توزیع های ثبت نام نه 100٪ منابع داخلی
- نشانه های دیجیتالی نشانه های مربوط به کد را ندارند
- ایجاد یک دیجیتال هویت برای کسب و کار به عنوان یک نهاد است که به کد، GitHub یا نرم افزار آن گره خورده است
- توانایی «بازنشسته شدن» یا جایگزینی هر یک از کلیدهای مورد استفاده در بالا بدون تأثیر بر دیگران
- یک مجموعه مشابه از کلید های PGP که هویت من است به جای کسب و کار کاربرد دارد
علاوه بر این ، من ترجیح می دهم که منحنی بیضوی (Curve25519 / Ed25519) را به طور منحصرا به همان اندازه ممکن نزدیک کنم. البته ممکن است که منادی باشد که من باید از RSA استفاده کنم، و یک روش به ظرافت "بازگشت" به RSA به نظر می رسد قابل توصیه است. با این حال امیدوارم که تمام فعالیتهایی که من از کلید PGP استفاده می کنم قادر به پردازش منحنی های بیضی نباشید و قابلیت RSA هرگز مورد نیاز نیست.
برنامه
برای رسیدن به این اهداف، من یک جفت برنامه های موازی.
مجوزهای گواهینامه
برای برنامه هویت، در ابتدا، من فکر می کنم چندین گواهی PGP مجزا قابل اجرا است و با تقسیماتی که در بالا ذکر شد، مطابقت دارد: 19659011] یک گواهی برای کسب و کار، به عنوان یک نهاد، با توانایی صدور گواهینامه، امضا، تأیید هویت و رمزگذاری.
- تمام UID ها فقط برای کسب و کار هستند و هیچیک از آنها به من و دیگر کارکنان متصل نیست
- هیچ یک از کلید های زیر برای امضای نرمافزار، git commitments، توزیع یا غیره استفاده نمی شود
- هیچ یک از کلید های زیر استفاده نمی شود برای احراز هویت در GitHub یا سایر مخازن کد
- امضای به این معنی است که کسب و کار نقطه توزیع برای آن بسته است
- امضای همچنین اجازه می دهد تا تایید یکپارچگی آن بسته
- منبع اصلی نرم افزار ممکن است بخشی از " امضای
- کدام کانال برای توزیع استفاده نمی شود مهم نیست
- کد منبع یا دوبعدی لکه نیز مهم نیست
- گواهی دارای کلید های زیر نیست با استفاده از auth یا رمزگذاری موجود
- این گواهینامه توسط گواهی هویت کسب و کار بالا
تایید شده است
- گواهینامه دارای کلید های رمزگذاری استفاده نشده است
- استفاده از مجوز و علامت در دو کلید جداگانه است
- کلید عمومی auth تنها برای دسترسی به حساب GitHub از کسب و کار
- هر دسترسی آینده به مخازن دیگر از یک کلید جدید جدید استفاده کنید
- کلید زیر را برای امضای GIT اعمال می کند و تنها ادغام می کند، نه در GitHub منتشر می شود
- این گواهی توسط هویت کسب و کار و گواهینامه های امضای کد در بالا تایید شده است
- A کارکنان جدیدی که مرتکب اعمال می شوند، نیاز به یک گواهینامه دارند، اما از همه ی راه ها یکسان است، اما UID ها، به این یکی است.
- بطور کاربردی این همانند اولین گواهینامه است که UID ها آنها را بعنوان بخشی از کسب و کار شناسایی می کنند، اما نه خود کسب و کار (به صورت نام یا عنوان – مانند "فروش" یا "cfo"
- گواهی توسط گواهی هویت کسب و کار تأیید می شود.
اگر چه ممکن است کمی شدید باشد، من فکر می کنم تقسیم مشابهی از سه گواهینامه بالا، به نام من، برای استفاده شخصی عملی و سودمند است. تا زمانی که کارکنان دیگر در فرایند نرم افزاری دخیل نبوده باشند، برای گواهینامه های شخصی من منطقی است که گواهینامه کسب و کار برای همین هدف گواهی شود. در حال حاضر، اگر کسب و کار یک توزیع را امضا یا منتشر کند، "من" امضای امضا را تحت اختیار کسب و کار انجام می دهم. داشتن گواهینامه امضای شخصیت شخصی شما را به عنوان گواهی کسب و کار کمک می کند تا آن اتصال را ایجاد کنید. باید شخص دیگری به حزب مسئول تبدیل شود، گواهی باید به هر حال جایگزین شود (کلید خصوصی که دو نفر به اشتراک گذاشته است، دیگر "خصوصی" نیستند). در این مورد، آنها می توانند از یک گواهی شخصی برای تایید کلید امضای جدید کسب و کار استفاده کنند.
این آرایش گواهی ها به نظر می رسد ارتباط بین هدف کلیدی و هویت کسب و کار را مشخص کند.
الزامات گواهینامه
نیمه دوم طرح من توسعه یافته است، که منطبق با یک "وفاداری" و " در صورتی که، و در صورت نیاز، این دستورالعمل ها برای هر گواهی PGP ساخته شده است:
- کلید اصلی کلید ECC خواهد بود (Ed25519)
- کلید اصلی
[C]
فقط فعال خواهد شد، هیچ [19659058]،[A]
، یا[E]
استفاده - اولین کلید (به طور خودکار ساخته شده) خواهد شد:
- استفاده از یک نوع کلیدی به عنوان ECC اصلی (Curve25519 / Ed25519)
- تنها هدف:
[S]
،[A]
یا[E]
، هرگز[SA]
حتی اگر مجاز باشد - هدف انتخاب شده بستگی دارد که مورد استفاده کلید است
-
[A]
برای گواهینامه هایی که عمدتا برای SSH یا استفاده مشابه از -
[S]
برای گواهینامه هایی هستند که عمدتا برای ارائه امضاهای دیجیتال -
[E]
برای گواهی هایی هستند که عمدتا به منظور استفاده عمومی برای افراد، (به احتمال زیاد برای ایمیل و ارتباطات دیگر مورد استفاده قرار می گیرد و من ترجیح می دهم که رمزگذاری را در زمانی که می توانم تشویق کنم) -
[S]
برای گواهینامه های عمومی برای بنگاه های تجاری که در آن نیاز به «امضای» چیزها و ارتباطات، برای رمزگذاری ارتباطات.
-
- به محض اینکه ساخته شد، به پایان رسید
- کلید های اضافی (همیشه حداقل یک مجموعه وجود دارد) عبارتند از:
- تنها هدف:
[S]
،[A]
یا[E]
، هرگز[SA]
حتی اگر مجاز باشد - همان نوع کلیدی به عنوان کلید اصلی، ECC (Curve25519 / Ed25519)
- مجموعه با پایان دوره در محدوده 6-12 ماه (بسته به استفاده و قرار گرفتن در معرض، و غیره)
- یک کلید اضافی ساخته شده با استفاده از همان، و کلید مقابل نوع RSA-4096
- زیر کلید زیر است به محض اینکه ساخته شد، به عنوان منقضی شده
- تنها هدف:
به عنوان یک لایه اضافی از قابلیت «عقبنشینی»، هر یک از گواهیهایی که در بالا ذکر شد، توسط یک گواهی اضافی، با مجموعه یکسان از کلید های زیر، استفاده و انقضا، تکمیل می شود. تفاوت ها عبارتند از: 1) جایی که اول دارای کلید های ECC است؛ دومین دارای کلید های RSA است؛ 2) زیر کلید های ECC به جای کلید های RSA به پایان رسیده است و 3) خود گواهی نیز به پایان رسیده است (ساخت کلید های RSA غیرقابل استفاده غیر قابل استفاده است) برای کمک به ایجاد «بازگشت به عقب» برازنده، هر دو کلیدهای دیگر را تایید می کنند، و هر گواهی هایی که من برای تایید نسخه ECC نیز نسخه نسخه RSA را تایید می کنم. همچنین در هر زمان از گواهینامه ECC برای گواهی متصل شده مانند گواهینامه امضای کد بالا استفاده می کنم، همچنین از گواهی دوقلوی RSA برای تأیید گواهی همان استفاده می کنم. (بنابراین، هر "گواهینامه" شامل چهار امضا می شود: هر یک از دو کلید "گواهی" امضاء هر دو کلید "تایید شده"، بدون در نظر گرفتن اینکه در واقع UID (ها) هستند که امضا شده اند.)
بحث [19659005] با داشتن همه زیر مجموعه ای از هر استفاده خاص، منقضی شده است، برنامه های مشتری را برای انتخاب یک کلید قابل استفاده انتخاب می کند، یا این که اخیرا برای آن استفاده می شود. اگر شرایطی را که در آن باید از RSA استفاده کنم، می توانم کلیدی مربوطه را بدون از دست دادن امضای قبلا ساخته شده و غیره استخراج کنم. در صورتی که من مجبور هستم برای تغییر کلید اصلی RSA (بعید، در my فکر می کنم)، من نیز یک موجود است که توسط کلید ECC که در حال حاضر در حال استفاده است استفاده می شود که آن را دوقلو است.
اگر به نحوی، کلید مخفی مورد استفاده در زیر کلید به خطر بیافتد، من هنوز ابتدا کلید زیر را بعنوان آخرین گزینه ایجاد کرد. من می توانم کلیدی (ها) آسیب دیده را حذف کنم و کلیدی اصلی را بازیابی کرده و عملیات را ادامه دهم. این زیر کلید به صورت کلید وارد نشده و یا حتی به سرورهای کلیه صادر می شود و بصورت آفلاین ذخیره می شود با همان امنیت به عنوان کلید اصلی مخفی خود. بهتر است، من معتقدم، کلید لغو کلید خطرناکی است و یک زیر کلید جدید با استفاده و نوع مشابه تحت کلید اصلی اصلی صادر می شود.
از یک موضع موضع استفاده روزانه، Keyring فعال فقط دارای کلید های زیر است که ساخته شده اند برای هدف گواهی (هر دو کلید ECC و RSA) از کلید اصلی ECC. خود کلید اصلی، کلید اول ساخته شده به صورت خودکار ایجاد شده و کلیدهای master RSA دوقلو کامل باقی می ماند بر روی رسانه پشتیبان گیری.
با تظاهرات و دقیقا مشخص کردن آنچه که در طرح به نظر می رسد در عمل، من یک تولید مجموعه گواهی های PGP. سپس GnuPG را برای لیست کلیدها و امضا از نقاط دید مختلف استفاده کردم. اول، سیستم تولید کلیدی است که همه چیز را به عنوان "به عنوان تولید شده" شناخته است. دوم این است که چگونه آنها را به کلاه ایمنی من، ECC certs و مقادیر محدودی که "in-keyring" نامیده می شوند وارد می کنند. لیستی از شش (سه دیدار با و بدون امضا) لیست شده اند که در لیست قرار داده شده است، به طوری که می توان آنها را در صورت لزوم "ببینیم منظور من چیست" (من می خواستم آنها را اینجا قرار دهم اما به نظر می رسد طول می کشد تا در سوال قرار گیرد.)
سوال
بنابراین، این دیوار متن پشتیبانی یک سوال:
آیا من نادیده گرفته چیزی مهم است که نیاز دارد، و یا به شدت پیشنهاد می دهد، تغییر در راه حل من، و آیا باید آن را به یک راه بهتر انجام شد؟
openssl – نام جایگزین موضوع در درخواست امضای گواهی ظاهرا امضای امضا را نداشته است
بنابراین من توانستم یک درخواست امضای گواهی ایجاد کنم با نام موضوع زیر نام فرم subjectAltName = IP: 1.2.3.4
با دنبال کردن دستور در پاسخ قبلی (پر زرق و برق)
هنگامی که بررسی می کنم CSR با openssl req -in key.csr -text
من می توانم یک بخش مربوطه را ببینم:
Extensions Required:
X509v3 عنوان نام جایگزین:
آدرس IP: 1.2.3.4
من سپس به امضای CSR با کلید خود امضای خود امیدوارم مانند:
openssl x509 -req -days 365 -CA ca.crt -CAkey ca.key -CAcreateserial
-in key.csr -out key.crt
گواهی حاصل (هنگام بازرسی با openssl x509 -in key.crt -text
) این بخش را هرگز شناسایی نمی کند.
آیا این فقط یک مصنوعی از پارامترهای صفحه نمایش است یا نیاز دارم که من نیز openssl x509
را آموزش دهم که در هنگام انجام امضای آن باید پسوند را شامل شود (و اگر چنین است، چگونه)؟
من از OpenSSL در MacOS High Sierra استفاده میکنم (19459003) openssl version reports LibreSSL 2.2.7
) و تنظیمات آن را از پیش فرض تغییر نداده است. کلیدها در نهایت بین سرورهای دبیان (کشش) استفاده خواهند شد، بنابراین اگر بتوانم در این زمینه کمک کنم، می توانم نسل کلیدی را در آنجا اجرا کنم.
امضای دیجیتال – فایل های PDF دیجیتالی امضا شده در لینوکس: تأیید و امضای استفاده از خوانندگان کارت
من با لینوکس کار می کنم و معتقد هستم که در FOSS (نرم افزار آزاد و آزاد منبع) و همچنین در استانداردهای فنی باز است.
امضاهای دیجیتال، به خصوص در اسناد PDF، به آرامی در اطراف من هستند. برای مثال، در آلمان می توان از ژانویه 2018 به دادگاه دیجیتال امضا کرد، تا زمانی که یک کاربر از نرم افزار مناسب برای ارسال آن استفاده کند، که یک بحث جداگانه است. (بدون ایمیل SMTP).
اکنون به نظر می رسد که بسیاری از فروشندگان توزیع کنندگان کارت خوان ها را همراه با نرم افزار اختصاصی خود، که اغلب فقط برای ویندوز، نه لینوکس در دسترس هستند، توزیع می کنند. اما من متوجه شدم که استانداردهای فنی چگونه می توانند نرم افزار را با کارت های هوشمند برای تولید امضاهای دیجیتال در نظر بگیرند وجود دارد.
از سوی دیگر، این ممکن است این باشد که خوانندگان PDF FOSS معمولی حتی قادر به نمایش و شاید اعتبار سنجی دیجیتال امضا در هنگام باز کردن یک فایل PDF امضا شده؟
آیا من از دست دادن چیزی است که این است که وضعیت هنر در حال حاضر؟