مروری بر رویه ناشناس سازی برای سیستم رای گیری الکترونیکی از راه دور

В انتشارات قبلی ما به این واقعیت رسیدیم که در سیستم رای گیری الکترونیکی از راه دور مورد نظر، از یک الگوریتم رمزنگاری "امضای الکترونیکی کور" برای اطمینان از محرمانه بودن رای گیری و ناشناس کردن رای دهنده استفاده می شود. در این مقاله با جزئیات بیشتری به آن خواهیم پرداخت.

ابتدا به الگوریتم امضای الکترونیکی شناخته شده و آشنا می پردازیم که به طور گسترده در سیستم های اطلاعاتی برای اهداف مختلف مورد استفاده قرار می گیرد. امضای الکترونیکی بر اساس الگوریتم های رمزگذاری نامتقارن رمزنگاری است. رمزگذاری نامتقارن رمزگذاری با استفاده از 2 کلید است: یکی از آنها برای رمزگذاری و دیگری برای رمزگشایی استفاده می شود. آنها کلید باز (عمومی) و خصوصی نامیده می شوند. کلید عمومی برای دیگران شناخته شده است و کلید خصوصی فقط برای صاحب امضای الکترونیکی شناخته شده است و در مکانی غیرقابل دسترس برای دیگران ذخیره می شود.

هنگام امضا، موارد زیر اتفاق می افتد: اول، سند الکترونیکی، با استفاده از تبدیل های ریاضی، به دنباله ای از کاراکترها با اندازه معین کاهش می یابد - این تابع هش نامیده می شود.

دنباله کاراکتر به دست آمده (هش از سند) توسط فرستنده سند با استفاده از یک کلید خصوصی رمزگذاری می شود و همراه با کلید عمومی برای گیرنده ارسال می شود. گیرنده دنباله کاراکترها را با استفاده از کلید عمومی رمزگشایی می کند، دقیقاً همان تابع هش را در سند اعمال می کند و نتیجه تبدیل را با نتیجه رمزگشایی مقایسه می کند. اگر همه چیز مطابقت داشته باشد، پس از امضای سند توسط فرستنده، هیچ تغییری در سند ایجاد نشده است.

اقدامات توصیف شده به شما امکان می دهد تأیید کنید که سند تغییر نکرده است، اما به شما اجازه نمی دهد تأیید کنید که فرستنده واقعاً همان کسی است که ادعا می کند. بنابراین، ما به شخص ثالثی نیاز داریم که هم مورد اعتماد فرستنده و هم گیرنده باشد. برای انجام این کار، قبل از ارسال سند، فرستنده با شخص ثالث تماس می گیرد و از او می خواهد که کلید عمومی خود را با امضای الکترونیکی خود امضا کند. اکنون فرستنده سند، کلید عمومی و امضای شخص ثالث کلید خود را برای گیرنده ارسال می کند. گیرنده امضای شخص ثالث را در کلید عمومی تأیید می کند و به امضای سند حاصل اعتماد می کند.

حال بیایید به این بپردازیم که «امضای کور» چیست و چگونه می‌تواند در ناشناس‌سازی به ما کمک کند.

بیایید تصور کنیم که در مثالی که در بالا توضیح داده شد، فرستنده رای دهنده، سند برگه رای، و گیرنده کمیسیون انتخابات یا همانطور که گفتیم "جزء شمارش آرا" است. ما جزء "فهرست رای دهندگان" را به عنوان یک شخص ثالث (تأیید کننده) خواهیم داشت. در این مورد، روند می تواند به صورت زیر رخ دهد.

مروری بر رویه ناشناس سازی برای سیستم رای گیری الکترونیکی از راه دور

رای دهنده یک جفت کلید در دستگاه خود ایجاد می کند - خصوصی و عمومی. از آنجایی که این کلیدها در دستگاه شخصی وی در مرورگر ایجاد می شوند، فقط برای او شناخته شده اند.

او با استفاده از این کلیدها، برگه رای را برای کنترل صحت آن امضا می کند. او برگه رای امضا شده و کلید عمومی را به کمیسیون انتخابات می فرستد. برای اینکه یک برگه رای توسط مؤلفه ذخیره و شمارش آرا توزیع شده پذیرفته شود، باید تأیید کند که کلید عمومی توسط اعتبارسنجی امضا شده است.

اعتباردهنده (جزء فهرست رای دهندگان) کلید عمومی را تنها پس از تأیید اینکه رای دهنده در لیست رای دهندگان است، امضا می کند.

برای حل مشکل حفظ محرمانه بودن رای، کلید عمومی رای دهنده ایجاد شده در دستگاه او نباید برای کسی شناخته شود. معلوم می شود که تأیید کننده باید چیزی را امضا کند که برای او ناشناخته است. این کار غیرممکن به نظر می رسد، اما در اینجا الگوریتم های رمزنگاری به کمک می آیند - در این مورد، الگوریتم "امضای کور"

ابتدا، کلید عمومی باید روی دستگاه رأی دهنده پوشانده شود. ماسک کردن، انجام عملیات ریاضی فردی روی دستگاه کاربر است. تصور کنید که یک عدد تصادفی از 1 تا 100 در نظر گرفته اید، سپس به یک عدد تصادفی دوم از 1 تا 10 فکر کرده اید و یک عدد سوم، از 10 به 50، عددی که در ابتدا تصور می شد را به توان عدد دوم افزایش داده و آن را بدون تقسیم می کنید. باقی مانده توسط سوم. نتیجه به دیگران گزارش شد. بازیابی شماره اصلی برای شما دشوار نخواهد بود، زیرا دنباله اقدامات و اعدادی را که در ذهن دارید می دانید. اما اطرافیان شما قادر به انجام این کار نخواهند بود.

پنهان کردن (کور کردن) کلید عمومی طبق یک الگوریتم رمزنگاری خاص انجام می شود. در نتیجه، اعتبار سنجی یک کلید عمومی پوشانده شده را بدون اطلاع از کلید اصلی امضا می کند. اما ویژگی الگوریتم این است که کاربر (رای دهنده) با دریافت امضای یک کلید نقاب دار، می تواند تبدیل های معکوس انجام دهد و امضایی را به دست آورد که برای کلید اصلی و بدون ماسک معتبر است.

الگوریتم توصیف شده به طور گسترده در پروتکل های رای گیری مخفی استفاده می شود. سیستم رای گیری الکترونیکی از راه دور در حال حاضر از الگوریتم RSA با طول کلید 4096 بیت برای امضاهای کور استفاده می کند.

به طور کلی، روش ناشناس سازی به شرح زیر است.

  1. هنگامی که رای ایجاد می شود، یک جفت کلید " اعتبار سنجی " جداگانه ایجاد می شود و کلید عمومی در بلاک چین ثبت می شود. برای هر رأی یک جفت کلید منحصر به فرد ایجاد می شود.
  2. کاربر در سیستم شناسایی (در این مورد، در ESIA) شناسایی می شود و اجازه انتقال داده های شناسایی خود را از سیستم شناسایی به DEG PTC می دهد.
  3. مولفه "فهرست رای دهندگان" در DEG PTC حضور کاربر را در لیست رای دهندگان بررسی می کند.
  4. در دستگاه کاربر، کلیدهای شخصی او ایجاد می شود - خصوصی و عمومی که فقط برای او شناخته شده است.
  5. کلید عمومی روی دستگاه کاربر پوشانده شده است
  6. همراه با داده های شناسایی و یک کلید عمومی پوشانده شده، کاربر به مؤلفه «فهرست رأی دهندگان» دسترسی پیدا می کند
  7. کامپوننت یک بار دیگر حضور کاربر در لیست و عدم دریافت امضای قبلی را بررسی می کند
  8. اگر همه بررسی ها با موفقیت انجام شود، کلید امضا می شود
  9. واقعیت امضای کلید در بلاک چین ثبت می شود
  10. کاربر در دستگاه خود ماسک را از کلید عمومی برداشته و یک کلید خصوصی، یک کلید عمومی و یک امضا روی کلید عمومی دریافت می کند و همه کلیدها فقط برای او شناخته شده است.
  11. پس از این، کاربر به یک منطقه ناشناس منتقل می شود - به یک وب سایت جداگانه edg2020.gov.ru، جایی که شناسایی او غیرممکن است (به عنوان مثال، قبل از انتقال می تواند یک VPN وصل کند یا ارائه دهنده اینترنت خود را تغییر دهد، و به طور کامل تغییر کند. آدرس آی پی)
  12. پذیرش برگه رای فقط به این بستگی دارد که آیا امضای "تأیید کننده" تأیید شده باشد و آیا قبلاً از چنین کلیدی استفاده نشده است.

در مرحله بعد، شرحی از الگوریتم از نقطه نظر رمزنگاری ارائه می دهیم.
گزینه های امضا و تعیین:

مروری بر رویه ناشناس سازی برای سیستم رای گیری الکترونیکی از راه دور
مروری بر رویه ناشناس سازی برای سیستم رای گیری الکترونیکی از راه دور

M - در قالب FDN padding برای امضا.

منبع: www.habr.com

اضافه کردن نظر