• امضای XML با امضای دیجیتال. نحوه امضای سند با امضای الکترونیکی درک رمزگذاری

    طبق قانون 218-FZ "در مورد ثبت دولتی املاک و مستغلات"، اسناد XML الکترونیکی و تصاویر اسکن شده اسناد باید امضا شوند. امضای الکترونیکی واجد شرایط پیشرفته. تمام برنامه های سری "Polygon"، "Polygon Pro" و "Signature Pro" با چنین امضایی امضا می شوند.

    برای امضا:

      گرفتن کلید امضا(گواهینامه) در مرکز صدور گواهینامه. لیست مراکز صدور گواهینامه معتبر در وب سایت Rosreestr (فهرست مراکز صدور گواهینامه) منتشر شده است. شما می توانید گواهی را در مرکز صدور گواهینامه ما، مرکز نرم افزار LLC دریافت کنید.

      به همراه امضا، برنامه را خریداری و بر روی کامپیوتر خود نصب کنید CryptoPro CSP(شامل استانداردهای امضای مورد نیاز روسی است)، که همچنین می تواند از مرکز صدور گواهینامه ما LLC "مرکز برنامه" خریداری شود.

    سایر برنامه‌های امضا مورد نیاز نیستند: CryptoARM (قابلیت‌های امضای CryptoARM مشابه برنامه‌های «Polygon»، «Polygon Pro» و «Signature Pro» است).

    ماژول های نرم افزاری پلتفرم Polygon Pro

    یک سند الکترونیکی را در برنامه Polygon Pro امضا کنید

    برای امضای یک فایل XML، موارد زیر را انجام دهید:

    • یک سند الکترونیکی بدون خطا ایجاد کنید.


    شما می توانید یک فایل XML را بلافاصله در " امضا کنید نمایشگر XML"، برای انجام این کار، در نوار ابزار، روی دکمه - کلیک کنید - "فایل XML را امضا کنید".

    • پس از کلیک کردن، پنجره ای با لیستی از گواهی های نصب شده باز می شود. موردی را که می خواهید انتخاب کنید و کلیک کنید "خوب".

    • برنامه سند اصلی را امضا می کند و یک پیام موفقیت آمیز نمایش می دهد.

    یک فایل امضا با همان نام و پسوند * در همان پوشه فایل امضا شده ایجاد می شود. .sig.

    گروهی از فایل ها را در برنامه Polygon Pro امضا کنید

    این برنامه قابلیت امضای همزمان گروهی از فایل ها را دارد. برای این کار موارد زیر را انجام دهید:

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

    • روی دکمه کلیک کنید "امضا کردن". پنجره ای با لیستی از گواهی های نصب شده باز می شود. موردی را که می خواهید انتخاب کنید و کلیک کنید "خوب".
    • برنامه تمام اسناد را امضا می کند و یک پیام موفقیت آمیز نمایش می دهد.

      اگر هنگام امضای خطایی رخ دهد، یک گزارش تأیید با هشدارها و/یا خطاها نمایش داده می شود. برای امضای صحیح، اشتباهات باید اصلاح شوند.

      فایل را در ماژول های نرم افزاری پلتفرم Polygon Pro امضا کنید

      این برنامه قابلیت امضای مطلق هر فایلی را دارد.

        پنجره ای با لیستی از گواهی های نصب شده باز می شود. موردی را که می خواهید انتخاب کنید و روی "کلیک کنید" خوب».

      • برنامه اسناد را امضا می کند و یک پیام موفقیت آمیز نمایش می دهد.

      در همان پوشه ای که فایل امضا شده است، یک فایل امضا با همان نام با پسوند ایجاد می شود *.sig.

      امضای الکترونیکی را در برنامه Polygon Pro بررسی کنید

      اگر فایل امضا شده‌ای را از خارج دریافت کرده‌اید و می‌خواهید بررسی کنید که آیا آن تغییر کرده است یا به سادگی بررسی کنید که امضای فایل به درستی ایجاد شده است، مراحل زیر را دنبال کنید:

      • روی روبان ماژول برنامه در برگه " خانه"در منوی فرعی دکمه" همه را امضا کنید» روی دکمه « کلیک کنید بررسی…».

      • فایل حاوی امضا را انتخاب کنید (با پسوند *.sig) باید تأیید شود یا یک فایل امضا شده است.

      اگر این دو فایل در پوشه های مختلف باشند، برنامه یک پنجره هشدار نمایش می دهد. روی دکمه کلیک کنید تکرار"و فایل منبع را انتخاب کنید.

      • یک پروتکل با اطلاعاتی در مورد اینکه آیا سند به درستی امضا شده است، توسط چه کسی و چه زمانی باز می شود.

      برنامه "Signature Pro"

      برنامه ای برای تعامل راحت با مرجع صدور گواهینامه، مدیریت گواهی های دیجیتال و کلیدهای خصوصی و همچنین برای امضای فایل های مختلف با امضای الکترونیکی توسعه داده شد.

      چگونه یک فایل را با امضای دیجیتال امضا کنیم؟

      این دستورالعمل‌ها نمونه‌ای هستند؛ مراحل خاصی ممکن است به نرم‌افزار نصب شده روی رایانه شما بستگی داشته باشد. بخشی از دستورالعمل ها در فوریه 2012 تکمیل شد، اما برنامه های ما گزینه راحت تری برای امضای فایل های اسناد الکترونیکی ارائه می دهند. امضای الکترونیکی واجد شرایط پیشرفته

      برای امضای فایل های اسناد الکترونیکی: پلان مرزی، نقشه نقشه، طرح فنیبا امضای الکترونیکی، باید وجود برنامه های نصب شده را تأیید کنید:

        ارائه دهنده رمزنگاری "CryptoPro CSP"؛

        "Crypto ARM" - این برنامه فقط زمانی لازم است که از برنامه های سری "Polygon" استفاده نمی کنید، این برنامه از نظر امضا با برنامه های سری "Polygon" یکسان است، بنابراین نیازی به آن نیست. برای امضای فایل ها با برنامه های سری "Polygon" به صفحه قبلی دستورالعمل ها مراجعه کنید. اگر فکر می‌کنید این کار راحت‌تر از استفاده از قابلیت‌های موجود برنامه‌های سری «Polygon» است، می‌توانید با استفاده از برنامه‌های سری «Polygon» و برنامه CryptoARM امضا کنید.;

      هر فایل (XML، اسکن یک سند چاپی و پرونده های درخواست) باید امضا شود، زیرا مرجع ثبت کاداستر فقط جفت فایل را می پذیرد: پرونده اصلی و پرونده امضای آن. برای امضای یک فایل، باید آن را در پنجره Explorer انتخاب کنید و کلیک راست کنید (RMB)، یک منوی زمینه ظاهر می شود، در آن باید "CryptoARM" را انتخاب کنید و سپس " امضا کردن…».



      سپس مطمئن شوید که نام فایل صحیح است



      مهم! سوئیچ را روی موقعیت قرار دهید " رمزگذاری DER"، پوشه فایل های خروجی را به صلاحدید خود مشخص کنید. دکمه را فشار دهید " به علاوه" در پنجره بعدی، پارامترهای امضا را تعیین کنید


      در این پنجره، مهمترین چیز این است که علامت " امضا را در یک فایل جداگانه ذخیره کنید" روی دکمه کلیک کنید به علاوه" در پنجره بعدی روی دکمه کلیک کنید انتخاب کنید»


      یک پنجره انتخاب گواهی باز می شود


      در آن، گواهی کلید خود را انتخاب کنید (به نام مالک نگاه کنید). پس از انتخاب بر روی دکمه کلیک کنید خوب"و" به علاوه" در آخرین پنجره قبل از امضای سند، روی " کلیک کنید آماده».

      مهم! برای هر فایل، لازم است یک فایل امضا ایجاد کنید، زیرا فقط یک جفت پذیرفته می شود: فایل اصلی (xml یا دیگر) + یک امضا برای آن (فایل sig).

    یکی از پروژه‌های در حال انجام، مشکل امضای (اعمال امضای الکترونیکی) اسناد XML، یعنی بسته‌های SOAP را حل کرد. فرمت پیشنهادی OASIS Standard 200401 با نمایه توکن گواهی X.509 بود. این اسناد استفاده از فرمت www-consortium (W3C) XML امضای دیجیتال (XMLDSig) را در پیام‌های SOAP توصیف می‌کنند. امضای XML، مانند سایر انواع امضاهای الکترونیکی، از احراز هویت، یکپارچگی داده ها و عدم انکار امضای داده پشتیبانی می کند.

    من به چندین ویژگی فرمت XMLDSig اشاره خواهم کرد:

    1. نه کل سند XML می تواند به عنوان هدف امضا باشد، بلکه تنها بخشی از آن، یعنی. گره خاص طبق استاندارد OASIS 200401، شیء مورد امضا بدنه (گره بدن) پیام های SOAP.

    2. بخش های مختلف یک سند XML را می توان توسط چندین امضا کننده امضا کرد.

    3. یک امضای XML می تواند در سطوح مختلف در رابطه با شی امضا شده باشد:

    • ساختار امضا ممکن است شامل باشد URI(تعیین کننده هویت منابع یکشکل)؛
    • امضای XML می تواند در همان سطح با گره در حال امضا باشد.
    • امضای XML می تواند در داخل گره در حال امضا باشد.
    • گره در حال امضا ممکن است در یک ساختار امضای XML قرار گیرد.

    4. برای بررسی اعتبار امضای الکترونیکی، دسترسی به شی امضا الزامی است.

    ساختار یک پاکت صابون

    به طور کلی، یک پیام از یک هدر و یک متن تشکیل شده است: سرتیترو بدن. سرتیترحاوی ابرداده و بدنداده ها. امضای XML در گره قرار می گیرد سرتیتر.

    الگوریتم های رمزنگاری و متعارف سازی

    برای حل مشکل استفاده کردیم GOST R 34.11-94- استاندارد رمزنگاری روسی برای محاسبات تابع هش و GOST R 34.10-2001- استاندارد امضای الکترونیکی

    با توجه به انعطاف پذیری قوانین ترکیب XML، ساختار سند یکسان و اطلاعات یکسانی را می توان توسط اسناد XML مختلف نشان داد. بیایید به دو سند نگاه کنیم:

    از نقطه نظر منطقی معادل هستند، یعنی طرحواره XML یکسانی دارند. اما فایل‌های XML این فهرست‌ها دارای توالی یکسانی از کاراکترها نیستند، که منجر به نتایج متفاوتی می‌شود، به عنوان مثال، هنگام بازیابی مقدار هش.

    برای جلوگیری از چنین اختلافاتی، قوانین قالب بندی و الزامات سختگیرانه برای محتوای پیام های XML اتخاذ شد. فرآیند آوردن اسناد XML به فرم یکپارچه (متعارف) نامیده می شود متعارف سازی(قانونی سازی انگلیسی). نمونه‌هایی از قوانین می‌تواند استفاده از یک طرح رمزگذاری خاص (UTF-8)، عادی‌سازی مقادیر ویژگی‌ها، استفاده از نقل‌قول‌های مضاعف برای مقادیر ویژگی‌ها، ترتیب مشخصی از ویژگی‌ها و اعلان‌های فضای نام، و غیره باشد. متعارف‌سازی XML در چندین نوع وجود دارد که در ترکیب قوانین با هم تفاوت دارند. شما می توانید در مورد فرآیند متعارف سازی در مشخصات رسمی W3C اطلاعات بیشتری کسب کنید (مقالات به زبان روسی در مورد این موضوع را می توانید پیدا کنید و)

    کتابخانه SIRCrypt

    برای پیاده سازی امضای XML در DIRECTUM، یک کتابخانه COM نوشته شد که در آن 3 کلاس توضیح داده شده است: هاشر, امضا کنندهو XMLCanonicalizerبرای به دست آوردن هش، ارزش ES و متعارف سازی اسناد XML، به ترتیب.

    کتابخانه نیاز دارد Crypto PRO CSP(تست شده روی نسخه Crypto PRO CSP 3.6.6497 KC2) و .خالص(حداقل 2.0).

    ثبت کتابخانه با اجرای دستور زیر انجام می شود:

    > regasm.exe "مسیر به dll" /codebase /tlb

    شی هشر برای محاسبه هش طبق GOST

    شامل فیلدها محتوا («رشته» را تایپ کنید) و HashValueAsBase64 (تایپ "string")، و همچنین روشی برای محاسبه مقدار هش هش(). برای محاسبه باید تعریف کرد محتوا ، روش را فراخوانی کنید هش()، که در نتیجه در میدان HashValueAsBase64 مقدار هش در Base64 نوشته می شود.

    شی امضا کننده برای به دست آوردن مقدار ES طبق GOST

    شامل فیلدها محتوا («رشته» را تایپ کنید)، ContainerName («رشته» را تایپ کنید)، CertificateAsPEM («رشته» را تایپ کنید)، BESignatureValueAsBase64 (نوع "رشته")، روش امضا کردن(). پس از مقداردهی اولیه شی، باید تعریف کنید محتوا (داده های امضاء)، ContainerName (نام محفظه کلید خصوصی گواهی)، روش تماس امضا کردن(). سپس در میدان CertificateAsPEM گواهی مربوط به کلید خصوصی در Base64 و فیلد خواهد بود BESignatureValueAsBase64 مقدار امضا به عنوان یک رشته Base64.

    شیء XMLCanonicalizer برای متعارف سازی XML

    شامل فیلدها محتوای XMLC («رشته» را تایپ کنید)، CanonicalXML (نوع "رشته")، روش C14NExc(). برای به دست آوردن شکل متعارف XML، باید به این معنا باشید محتوای XMLC ، زنگ زدن C14NExc()، نتیجه را از میدان بگیرید CanonicalXML .

    ساختار امضای XML

    ایجاد یک امضا به این صورت است: ابتدا پایه بسته صابون تشکیل می شود، گره ها سرتیترو بدن. بدنپر از داده ها و ویژگی های اضافه شده است wsu:ID = "بدن"- شناسه داده هایی که باید امضا شوند.

    پر کردن سازه امنیتبه ترتیب زیر اتفاق می افتد:

    1. مقدار هش از گره Body به شکل متعارف گرفته شده و در گره DigestValue قرار می گیرد.
    2. گره SignedInfoبه شکل متعارف، امضا شده توسط EP کاهش یافته است. نتیجه در قالب رشته Base64 به گره می رود SignatureValue.
    3. کلید عمومی گواهی که برای امضا استفاده شده است در گره قرار می گیرد BinarySecurityTokenدر قالب رشته Base64.

    برای بررسی ES تولید شده به این روش، باید تمام مراحل را به ترتیب معکوس انجام دهید، یعنی:

    1. شکل متعارف عنصر را دریافت کنید SignedInfo.
    2. با استفاده از نتیجه مرحله قبل، بررسی کنید که آیا مقدار ES از گره معتبر است یا خیر SignatureValueبا استفاده از کلید عمومی گواهی در این مرحله فقط صحت امضای الکترونیکی بررسی می شود که تغییرناپذیری داده ها را تضمین نمی کند.
    3. اگر بررسی اعتبار ES موفقیت آمیز باشد، هش از گره مقایسه می شود DigestValueو یک هش از گره داده. اگر برابر نباشند، داده های امضا شده تغییر کرده و کل ES نامعتبر است.

    مثال استفاده

    بسته توسعه و کتابخانه

    نمونه هایی از امضای XML به ISBL (اسکریپت): dev.zip (5.95 کیلوبایت)

    برای استفاده دائمی، کدی که امضای استاندارد یک پاکت SOAP تمام شده را انجام می دهد به یک تابع منتقل می شود. SignSOAP().

    یک گواهی از فروشگاه گواهی شخصی کاربر فعلی برای امضا استفاده می شود.

    برای مدت طولانی، مهم ترین سوال برای من این بود که چگونه و با چه چیزی اسناد و فایل های XML را با امضای الکترونیکی یا امضای دیجیتال امضا کنیم. این زمانی خوب است که در دفتر هستید و تمام برنامه های امضای اسناد و فایل های XML در محل کار شما نصب شده باشد. اما در کار من، اغلب موقعیت‌هایی پیش می‌آمد که هنگام دور بودن از محل کارم، اسناد، فایل‌های XML تهیه و امضا می‌شد، یا مثل همیشه، این کار را فوری و اکنون در خانه انجام می‌دادم. خرید و نصب نرم افزار برای امضای الکترونیکی دیجیتال در خانه یا روی لپ تاپ و حمل آن برای همیشه با خود بسیار گران است. سپس تصمیم گرفتم برنامه های توزیع شده آزادانه را در اینترنت پیدا کنم که امکان امضای اسناد و فایل های XML با امضای دیجیتال الکترونیکی - EDS را فراهم می کند. این برنامه ها و همچنین یک برنامه پولی است که در زیر بررسی خواهیم کرد.

    برای ارسال به Rosreestr، و این اجباری است، تمام اسناد باید با امضای دیجیتال الکترونیکی (امضای دیجیتال الکترونیکی) امضا شوند، و گاهی اوقات باید امضای دیجیتال خود یا شخص دیگری را بررسی کنید.

    و بنابراین، بیایید ببینیم چگونه و با چه نرم افزاری می توانید یک سند یا فایل XML را با امضای دیجیتال الکترونیکی امضا کنید. یکی از برنامه ها GIS "Panorama" - "Map-2011" نسخه 11.10.4 است. امضای اسناد حتی در نسخه ثبت نشده کار می کند. روش امضای اسناد، فایل ها فهرست برنامه هایی که به شما امکان می دهد اسناد، فایل های XML، EDS (امضای دیجیتال الکترونیکی) را برای تبادل داده با پورتال خدمات عمومی خدمات فدرال ثبت نام ایالتی، کاداستر و کارتوگرافی، Rosreestr، امضا کنید. اینترنت EDS به شرح زیر است: "Map-2011" یا "Mini Card" را راه اندازی کنید، "F12" را فشار دهید تا منوی راه اندازی برنامه ظاهر شود. در پنجره ای که ظاهر می شود، یک کار را انتخاب کنید اسناد الکترونیکی، به علاوه تشکیل امضای دیجیتال الکترونیکی

    فایل امضا: فایلی را که باید امضا شود انتخاب کنید و بر این اساس گواهینامه مورد نیاز را در گواهی انتخاب کنید. این همه، سند یا فایل XML شما با امضای الکترونیکی امضا شده است. اگر می خواهید امضای موجود را بررسی کنید، سپس فایل امضا را انتخاب کنید (فایل با پسوند "sig"). وب سایت رسمی GIS "" .

    دومین برنامه برای امضای اسناد و فایل های XML، CryptoLine است. رایگان، کاملاً کاربردی، به شما امکان می دهد اسناد را امضا و رمزگذاری کنید، و همچنین امضاهای دیجیتال را بررسی کنید. شما می توانید این برنامه را از وب سایت رسمی دانلود و یا از طریق لینک مستقیم از صفحه همین سایت دانلود کنید. کار با برنامه ساده و راحت است. فایل هایی که باید امضا شوند را انتخاب کرده و اضافه کنید، سپس گواهی را انتخاب کنید که باید با آن اسناد، فایل های XML را امضا کرده و اسناد را امضا کنید. مراقب باشید - فقط یک گواهی را برای امضا انتخاب کنید!!! در غیر این صورت، مدارک دقیقاً با همان تعداد گواهی که به برنامه اضافه می کنید، امضا می شود. دستورالعمل استفاده در آرشیو برنامه موجود است. در زیر برای امضای تحویل به Rossreestr مثالی می زنم.

    پس از نصب برنامه و راه اندازی آن، فایل هایی را به برنامه اضافه کنید که باید امضا شوند. تب "عملکردها"، دکمه "افزودن".

    برای امضای همه فایل ها به طور همزمان، باید همه آنها را انتخاب کنید - "Shift + دکمه سمت راست ماوس" یا "Shift + فلش پایین". سپس روی "Sign" کلیک کنید، در پنجره ای که ظاهر می شود، یا یک گواهی اضافه کنید، یا گواهی را که قبلا انتخاب شده است رها کنید، یا آن را به دیگری تغییر دهید. یک بار دیگر به یاد می آورم که برای ارسال به Rosreestr نباید بیش از 1 گواهی در این پنجره وجود داشته باشد! همچنین تمام تنظیمات را مطابق شکل تنظیم کنید:

    امضا کنیم پس از امضا، فایل هایی با پسوند “sigO” به لیست شما اضافه می شود. این امضای فایل است. تنها چیزی که باقی می ماند این است که فایل های امضا یا همه فایل ها را (به صلاحدید شما) بارگذاری کنید. آنچه را که می خواهید آپلود کنید، در این مورد سه فایل امضا، انتخاب کنید و روی «آپلود» کلیک کنید. به نظر می رسد همه چیز همین باشد. اما مانند هر پنیر رایگان یک تفاوت کوچک وجود دارد. Rosreestr به پسوند فایل "sigO" قسم می‌خورد، بنابراین باید در Explorer یا هر مدیر فایلی، پسوند را از "sigO" به "sig" تغییر دهید.

    امضای این برنامه توسط وب سایت Rosreestr تایید نشده است. تأیید امضا توسط محصولات نرم افزاری انجام شد که با پورتال خدمات دولتی خدمات فدرال برای ثبت نام، کاداستر و کارتوگرافی ایالتی تعامل دارند. هر سه برنامه ای که امضای اجرا شده توسط این برنامه را بررسی کردند، نتیجه مثبت دادند. بررسی توسط برنامه های نشان داده شده در اینجا، GIS "Panorama"، Crypto ARM و برنامه Polygon-Land Survey Plan انجام شد. این امضا نیز توسط سرویس احراز هویت آنلاین امضای دیجیتال در وب سایت تأیید شد.

    یکی دیگر از برنامه های امضای اسناد و فایل های XML . می توانید آن را از وب سایت رسمی برنامه دانلود کنید. این برنامه به خودی خود کاملاً کاربردی و جذاب است ، هزینه آن زیاد نیست ، فقط 1200 روبل برای 1 محل کار. آن ها وجود دارد. پشتیبانی و همچنین کمک های گسترده. کامل ترین و به روزترین اطلاعات را می توان در این آدرس دریافت کرد. همچنین در مورد EDS در یادداشت بخوانید

    هدف اصیل، فعالیت هایی را به نام این هدف شرافت بخش می کند.K. Liebknecht

    ML یا زبان نشانه گذاری توسعه پذیر، اکنون به روش استانداردی برای انتقال اطلاعات در وب (و فراتر از آن) تبدیل شده است. علاوه بر این، افزونه‌های بیشتری ظاهر می‌شوند که از نحو XML (برنامه‌های XML) استفاده می‌کنند. به عنوان مثال، اینها شامل پروتکل دسترسی شیء ساده شده SOAP (پروتکل دسترسی به شیء ساده) است، که در آن XML به عنوان یک وسیله جهانی برای نمایش پارامترها برای فراخوانی رویه های راه دور RPC (تماس از راه دور) عمل می کند. نمونه دیگری از پلاگین ها چارچوب RDF (Resource Description Framework) است. می توانید نگاهی به کنسرسیوم وب جهانی (W3C) بیندازید که استانداردهایی را در این زمینه توسعه می دهد (http://www.w3.org/)، و ببینید که XML واقعاً مورد توجه بیشتری قرار گرفته است.

    به یاد بیاوریم که هدف اصلی XML توصیف ساختار و معنای یک سند است. مزیت اصلی XML در مقایسه با سایر فرمت های اسناد الکترونیکی این است که شرح ارائه خارجی یک سند را از ساختار سند و محتوای آن جدا می کند. XML یک زبان منعطف است که می تواند برای اهداف مختلف استفاده شود و می تواند با بسیاری از سیستم ها و پایگاه های داده ارتباط برقرار کند. بنابراین امروزه XML در بسیاری از سیستم های اطلاعاتی به عنوان فرمت اصلی تبادل داده استفاده می شود. علاوه بر این، سازندگان سیستم های مدیریت پایگاه داده گامی قدرتمند به سمت XML برداشته اند. به عنوان مثال، Oracle XSU (XML-SQL Utility) را منتشر کرده است، که یک افزونه برای JDBC است که به شما امکان می دهد داده های XML را در یک پایگاه داده (http://otn.oracle.com/tech/xml/) ذخیره و بازیابی کنید. xdk_java/content .html). XSU سلسله مراتبی از کلاس‌های جاوا است که برای تبدیل داده‌ها از جداول و نماهای پایگاه داده رابطه‌ای شی به فرمت XML، درج داده‌ها از اسناد XML در جداول و نماها و سایر عملیات مفید طراحی شده است.

    نیاز به محافظت از اسناد XML

    ML ابزار قدرتمندی است که اغلب برای تبادل داده از طریق اینترنت استفاده می شود. اما، متأسفانه، خود محافظت لازم را برای داده‌هایی که «انتقال می‌کند» انجام نمی‌دهد. به عبارت دیگر، هنگام استفاده از فرمت XML (در واقع، هنگام استفاده از فرمت های دیگر) مشکلات امنیتی جدی وجود دارد.

    XML می تواند به راحتی برای انتقال پیام های تراکنش بین بانک و دستگاه خودپرداز، اطلاعات محرمانه یا نیمه محرمانه در مورد افراد، اطلاعات مربوط به تراکنش های الکترونیکی یا به سادگی برای انتقال اسناد اختصاصی در این قالب استفاده شود. اما در عین حال، لازم است از حفاظت اطلاعات در برابر تحریفات غیر ارادی یا عمدی هم از جانب کاربران سیستم های اطلاعاتی و هم هنگام انتقال از طریق کانال های ارتباطی اطمینان حاصل شود. حفاظت باید بر اساس عملکردهای زیر باشد:

    • احراز هویت احزاب در حال تعامل؛
    • تأیید صحت و صحت اطلاعات؛
    • بسته شدن رمزنگاری داده های ارسال شده

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

    اطلاعات کلی در مورد امضای دیجیتال الکترونیکی

    EDS و احتمال جعل آن

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

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

    عدم امکان جعل یک امضای دیجیتال الکترونیکی با استفاده از مقدار بسیار زیادی از محاسبات ریاضی به دست می آید (به عنوان مثال، عدم امکان جعل امضا ممکن است به دلیل پیچیدگی حل مشکل لگاریتم گسسته در میدانی از عناصر p El-Gamal باشد. طرح امضا). قرار دادن امضا بر روی یک سند، خود سند را تغییر نمی دهد، بلکه فقط امکان تأیید صحت و اعتبار اطلاعات دریافتی را فراهم می کند (یعنی یک بلوک داده به خود سند یا به طور جداگانه از آن اضافه می شود - امضای دیجیتالی این سند).

    مرجع صدور گواهینامه

    در بالا به اصطلاحات "کلید خصوصی" و "کلید عمومی" اشاره کردیم. این کلیدها از کجا آمده اند؟ آنها توسط یک مرجع صدور گواهینامه - یک ساختار خاص (سازمان) که گواهی ها را مدیریت می کند، تشکیل می شوند. یک گواهی کلید عمومی/خصوصی مجموعه داده های زیر را نشان می دهد:

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

    بنابراین، برای مثال، یک گواهی کلید خصوصی حاوی خود کلید خصوصی و اطلاعات اضافی در مورد آن است.

    برای هر کاربر ثبت شده سیستم اطلاعاتی، مرکز صدور گواهینامه (CA) دو گواهی تولید می کند: یک گواهی کلید خصوصی و یک گواهی کلید عمومی. در این مورد، اولین SO شخصاً برای کاربر ثبت نام شده (به عنوان مثال، در فلاپی دیسک) و برای هیچ کس دیگری صادر می شود - این "امضا" است. گواهی دوم، باز، توسط CA در یک مخزن عمومی منتشر می شود تا هر علاقه مند بتواند به راحتی آن را پیدا کند.

    تولید و تایید امضای دیجیتال

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

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

    توابع هش

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

    تابع هش مورد استفاده باید بتواند پیامی با هر طولی را به یک دنباله باینری با طول ثابت تبدیل کند. علاوه بر این، باید شرایط زیر را برآورده کند:

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

    درک رمزگذاری

    رمزگذاری داده ها و تفاوت آن با امضای دیجیتال

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

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

    شکستن

    از لحاظ نظری، هر الگوریتم رمزگذاری با استفاده از یک کلید را می توان با جستجو در تمام مقادیر کلید شکست. در صورت انتخاب کلید، توان کامپیوتر مورد نیاز به صورت تصاعدی با طول کلید افزایش می یابد. یک کلید 32 بیتی به 232 (حدود 109) مرحله نیاز دارد. این کار توسط هر آماتوری قابل انجام است و در رایانه خانگی قابل حل است. سیستم‌های دارای کلید 40 بیتی (مثلاً نسخه آمریکایی صادراتی الگوریتم RC4) به 240 مرحله نیاز دارند؛ چنین قدرت رایانه‌ای در اکثر شرکت‌های کوچک موجود است. سیستم هایی با کلیدهای 56 بیتی (DES) برای باز کردن نیاز به تلاش زیادی دارند، اما می توان آنها را به راحتی با استفاده از تجهیزات ویژه باز کرد. هزینه چنین تجهیزاتی قابل توجه است، اما برای مافیا، شرکت های بزرگ و دولت ها مقرون به صرفه است. کلیدهای 64 بیتی در حال حاضر توسط ایالت های بزرگ قابل باز شدن هستند و در چند سال آینده برای سازمان های جنایی، شرکت های بزرگ و ایالت های کوچک در دسترس خواهند بود. کلیدهای 80 بیتی ممکن است در آینده آسیب پذیر شوند. کلیدهای 128 بیتی احتمالاً در آینده‌ای قابل پیش‌بینی برای شکستن brute force در دسترس نیستند. از کلیدهای بلندتر نیز می توان استفاده کرد.

    با این حال، طول کلید همه چیز نیست. بسیاری از رمزها را می توان بدون گذر از تمام ترکیبات ممکن، اما با استفاده از یک الگوریتم خاص (مثلاً با پیچیدگی چند جمله ای) شکست. به طور کلی، ارائه رمزی که نتوان آن را با استفاده از روش دیگری که مؤثرتر از brute force باشد، شکست، بسیار دشوار است.

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

    امضای دیجیتال الکترونیکی اسناد XML

    کسانی که با XML کار می کنند مدت هاست اهمیت کنترل داده های منتقل شده و نمایش داده شده در XML را درک کرده اند. الزامات اصلی برای داده های ارسالی، احراز هویت طرف های تعامل و تأیید صحت و یکپارچگی اطلاعات در سند XML است. چنین مشکلاتی با امضای دیجیتال اسناد XML حل می شود.

    مشخصات امضای دیجیتال XML از W3C

    W3C در حال حاضر در حال توسعه XML Signature Syntax and Processing مشخصات و سایر اسناد مرتبط است. در حال حاضر وضعیت یک توصیه (http://www.w3.org/TR/xmldsig-core/) را دارد. این سند امکان امضای کل سند XML و بخشی از آن را فراهم می کند. برای منحصر به فرد کردن فرآیند امضای XML، مفهوم نمایش متعارف داده های XML تعریف شده است. به عنوان مثال، در یک سند XML، تگ هایی که در یک سطح در درخت سلسله مراتب هستند ممکن است با هم مخلوط شوند، بنابراین ابهامی برای فرآیند امضا ایجاد می شود. نمایش متعارف XML نوعی مرتب‌سازی (یا بهتر است بگوییم کاهش به ساده‌ترین شکل) است که اجازه چنین آزادی‌هایی را نمی‌دهد. روش ها و قوانین متعارف XML در یک سند جداگانه، "Canonical XML" (http://www.w3.org/TR/xml-c14n) توضیح داده شده است، که همچنین وضعیت یک توصیه را دارد. سایر مطالب مرتبط با امضای سند XML در: http://www.w3.org/Signature/ موجود است.

    برچسب بزنید امضای XML

    توصیه XML Signature Syntax and Processing مشخص می کند که امضا و اطلاعات مربوط به آن باید در تگ موجود باشد. ، که دارای بخش های زیر است (عمدتاً برای تأیید امضا مورد نیاز است):

    • CanonicalizationMethod مجموعه خاصی از قوانین را برای ساده سازی و ساختار نمونه XML قبل از امضا تعریف می کند. این اطلاعات تضمین می‌کند که داده‌های امضا شده به شکل صحیحی هستند، به طوری که اگر داده‌های محتوا تغییر نکرده باشند، الگوریتم تأیید نتیجه مثبت می‌دهد.
    • روش امضا (SignatureMethod) الگوریتم امضای خلاصه پیام را تعریف می کند. خلاصه پیام یک رشته کاراکتر منحصر به فرد با اندازه ثابت است که نتیجه پردازش داده ها با استفاده از یک تابع هش یک طرفه است که توسط روش خلاصه مشخص شده است.
    • الگوریتم روش digest (DigestMethod) برای جمع آوری خلاصه یک پیام امضا شده با استفاده از روش امضای معین. تعیین یک روش خلاصه خاص تضمین می کند که داده ها به همان روش پردازش می شوند.
    • مقدار هضم (DigestValue) خود پیام هضم است، یعنی رشته ای با طول ثابت که در نتیجه پردازش داده ها با استفاده از الگوریتم هضم تولید می شود. چنین رشته ای منحصر به فرد و غیرقابل برگشت است: به دست آوردن آن از محتوای دیگر عملاً غیرممکن است و همچنین امکان بازآفرینی داده های اصلی از آن وجود ندارد. این مانند اثر انگشت برای داده های امضا شده است. مقایسه مثبت مقادیر هضم یکپارچگی محتوا را تضمین می کند.
    • خود امضا (SignatureValue) این داده هایی است که پس از پردازش با روش امضا به دست می آید.
    • کلید اطلاعات کلید عمومی (KeyInfo) برای تأیید EDS. به طور دقیق تر، نه یک کلید، بلکه یک گواهی، زیرا در آن، علاوه بر خود کلید، می توان نام مالک و الگوریتم امضای دیجیتال را نیز نشان داد.

    طبیعتاً، این اطلاعات جامعی در مورد آنچه ممکن است در برچسب وجود داشته باشد نیست. . در اینجا ساده ترین مثال از چنین امضایی است (فهرست 1).

    تشکیل امضای دیجیتال XML

    لازم به ذکر است که بین فرآیند امضای XML و کلاسیک تفاوت هایی وجود دارد. واقعیت این است که فرآیند امضای یک نمونه XML با متعارف سازی، یعنی با ساده سازی ساختار داده آغاز می شود. همانطور که قبلاً ذکر شد، این روش ضروری است تا بتوان امضای دیجیتال را برای همان سند XML که به روش های مختلف ارائه شده است به درستی تأیید کرد. این بدان معناست که تمام اسناد XML باید قبل از امضا به یک فرم متعارف تبدیل شوند. بقیه مراحل مانند فرآیند استاندارد برای افزودن امضای دیجیتال است: یک مقدار خلاصه برای داده ها با استفاده از روش مشخص شده ایجاد می شود، سپس این مقدار با کلید خصوصی نویسنده سند امضا می شود.

    تایید امضای دیجیتال XML

    برای تأیید یک امضا، باید دو مرحله را انجام دهید: تأیید خود امضا و تأیید ارزش خلاصه.

    خود امضا ابتدا برای اطمینان از احراز هویت صاحب آن و جلوگیری از انکار تأیید می شود. سپس مقدار خلاصه بررسی می شود تا اطمینان حاصل شود که داده ها تغییر نکرده اند و یکپارچگی محتوای سند XML تأیید می شود.

    رمزگذاری اسناد XML

    مشخصات رمزگذاری W3C XML

    بیایید به رمزگذاری برویم، که به ما امکان می دهد داده های ارسال شده را ببندیم (یعنی به شکلی تبدیل کنیم که معنی آن نامشخص است) و آن را در سمت دریافت کننده بازیابی کنیم. کنسرسیوم W3C یک گروه کاری (http://www.w3.org/Encryption/2001/) ایجاد کرده است که به طور خاص به مسائل مربوط به رمزگذاری داده های XML می پردازد. مشخصات نحو و پردازش رمزگذاری XML اکنون یک توصیه است و در آدرس زیر موجود است: http://www.w3.org/TR/xmlenc-core/.

    برچسب بزنید

    • روش رمزگذاری (EncryptionMethod) الگوریتم رمزگذاری داده ها را توصیف می کند. اگر این برچسب وجود نداشته باشد، الگوریتم رمزگذاری باید برای طرف گیرنده شناخته شود، در غیر این صورت رمزگشایی پیام غیرممکن است.
    • داده های رمزگذاری شده (CipherData) داده های رمزگذاری شده واقعی یا پیوندی به مکان آن. تنوع انواع داده هایی که باید رمزگذاری شوند و روش های سازماندهی منطقی آنها عملاً نامحدود است.
    • اطلاعات در مورد کلیدها (KeyInfo) اطلاعات در مورد کلیدهایی که با آنها رمزگذاری و بر این اساس رمزگشایی انجام می شود. آنها را می توان در جای دیگری ذخیره کرد و در نمونه XML با پیوند URL جایگزین کرد.
    • اطلاعات دیگر (به عنوان مثال، در مورد گیرندگان مورد نظر).

    مثال را تگ کنید در فهرست 2 نشان داده شده است.

    فرآیند رمزگذاری و رمزگشایی

    داده‌های XML با استفاده از روش‌های رمزنگاری کلید عمومی سنتی رمزگذاری می‌شوند. ابتدا، خود داده ها رمزگذاری می شوند، معمولاً با استفاده از یک کلید مخفی که به طور تصادفی تولید می شود، که سپس با استفاده از کلید عمومی گیرنده مورد نظر رمزگذاری می شود. این اطلاعات به گونه ای بسته بندی می شوند که فقط گیرنده مورد نظر می تواند کلید مخفی را استخراج کرده و داده ها را رمزگشایی کند. کلید مخفی برای رمزگشایی کلید مخفی استفاده می شود و سپس داده ها با استفاده از کلید مخفی یافت شده رمزگشایی می شوند.

    اجرای حفاظت از اسناد XML

    اصول کلی عملکرد امضای دیجیتال الکترونیکی و مشخصاتی که کنسرسیوم W3C در این زمینه ایجاد کرده است را بررسی کردیم. همه اینها خوب و خوب است، اما اگر واقعاً نیاز به اجرای طرح‌های حفاظت از داده‌های XML توصیف شده باشد، چه؟

    در حال حاضر، با وجود اینکه استانداردهای W3C اخیراً ظاهر شده اند، برخی از شرکت ها از انتشار بسته های خود (کتابخانه های کلاس) خبر داده اند که هم امضای دیجیتال و هم رمزگذاری را پیاده سازی می کنند. بیایید به قابلیت های برخی از آنها نگاه کنیم.

    مجموعه امنیتی XML (IBM)

    این بسته بر اساس زبان برنامه نویسی جاوا در آدرس http://www.alphaworks.ibm.com/tech/xmlsecuritysuite موجود است. XML Security Suite ابزاری است که ویژگی‌های امنیتی مانند امضای دیجیتال، رمزگذاری و کنترل دسترسی برای اسناد XML را فراهم می‌کند. با کمک آن می توانید موفقیت بیشتری نسبت به استفاده از قابلیت های پروتکل های امنیتی لایه انتقال (به عنوان مثال، لایه سوکت های امن، SSL) به دست آورید.

    این بسته سه فناوری را پیاده سازی می کند:

    • امضای دیجیتال بر اساس مشخصات "XML Signature Syntax and Processing" از W3C و IETF (و بر اساس مشخصات "Canonical XML") است.
    • رمزگذاری مبتنی بر مشخصات نحو و پردازش رمزگذاری W3C XML است.
    • کنترل دسترسی برای اسناد XML (XML Access Control Language).

    XML Security Suite یکی از بهترین ابزارهای مدرن برای محافظت از اسناد XML است. علاوه بر خود آرشیو (JAR) با کتابخانه کلاس، شامل مستندات و نمونه‌هایی با جزئیات است که به شما امکان می‌دهد به سرعت در سلسله مراتب کلاس پیمایش کنید.

    امنیت XML (Apache)

    حفاظت از داده های مبتنی بر XML

    زبان نشانه گذاری ادعای امنیتی (SAML)

    حوزه ای که با حفاظت از داده های XML متفاوت است، اما ارتباط نزدیکی با آن دارد، بهبود ایمنی و امنیت سیستم های مبتنی بر XML (پروتکل ها) است. در این مورد، سایر اسناد/سیستم ها/برنامه ها با استفاده از XML محافظت می شوند. در حال حاضر، کمیته امنیتی سازمان برای پیشرفت استانداردهای اطلاعات ساختاریافته (OASIS) در حال توسعه زبان نشانه گذاری ادعای امنیتی (SAML) است.

    قانون فدرال "در مورد امضای دیجیتال الکترونیکی"

    اهداف

    بیایید کمی از قانونگذاران در زمینه وب فاصله بگیریم و قانون فدرال "در مورد امضای دیجیتال الکترونیکی" را که در 10 ژانویه 2002 توسط رئیس جمهور فدراسیون روسیه تصویب شد (http://www.internet-law) در نظر بگیریم. .ru/intlaw/laws/ecp.htm). با تصویب این قانون شرایط قانونی برای استفاده از امضای دیجیتال الکترونیکی در اسناد الکترونیکی فراهم شد که به موجب آن امضای دیجیتال الکترونیکی در سند الکترونیکی معادل امضای دست نویس در سند کاغذی شناخته می شود. بنابراین، پایه‌ها برای ایجاد مدیریت اسناد الکترونیکی از نظر قانونی مهم ایجاد شده است.

    شرایط معادل یک EDS و یک امضای معمولی

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

    گواهینامه ها و CA

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

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

    کلیدهای خصوصی (مخفی).

    امضای دیجیتال الکترونیکی تنها در صورتی می تواند وظایف خود را انجام دهد که امضاکننده اطلاعاتی داشته باشد که برای افراد غریبه غیرقابل دسترسی باشد. این اطلاعات شبیه به یک کلید رمزگذاری است و بنابراین «کلید خصوصی امضای دیجیتال الکترونیکی» نامیده می‌شود (قبلاً اصطلاح مشابه «کلید مخفی» استفاده می‌شد). لازم است هم کلید خصوصی و هم کلید رمزگذاری مخفی بماند، زیرا دانش کلید امضای خصوصی مربوط به یک صفحه کاغذ خالی با امضای صاحب کلید خصوصی است که مهاجم می تواند هر متنی را که می تواند روی آن بنویسد. به مالک واقعی کلید خصوصی نسبت داده شود. هنر ماده 12 قانون مستقیماً به الزام صاحب گواهینامه کلید امضاء مبنی بر مخفی نگه داشتن کلید خصوصی و تقاضای فوری تعلیق گواهینامه کلید امضا در صورت وجود دلیلی مبنی بر نقض رمز کلید خصوصی اشاره می کند.

    هنر 5 قانون روشی را برای ایجاد کلیدهای امضای خصوصی با در نظر گرفتن رعایت دقیق محرمانه بودن ایجاد آنها تعیین می کند. هنر نیز به همین شرایط اشاره دارد. 9 قانون مربوط به فعالیت مراکز صدور گواهینامه. در ساختارهای اطلاعاتی شرکت، مسئله تولید و توزیع کلیدهای خصوصی EDS را می توان با استفاده از روش های خاص خود حل کرد، با این حال، کاربر EDS باید از عواقب احتمالی چنین سازمانی از عملکرد EDS آگاه باشد. این کاملا ممکن است که برخی از دنباله های منظم به عنوان یک کلید خصوصی استفاده شود، همانطور که در هنگام استفاده از یک سیستم رمز عبور اتفاق می افتد.

    استانداردهای داخلی برای الگوریتم های امضای دیجیتال

    طرح ال جمال

    در سال 1994، اولین استاندارد داخلی در زمینه امضای دیجیتال GOST R34.10 94 "فناوری اطلاعات" به تصویب رسید. حفاظت از اطلاعات رمزنگاری شده رویه‌های توسعه و تأیید یک امضای دیجیتال الکترونیکی بر اساس الگوریتم رمزنگاری نامتقارن. رویه هایی را برای کار با امضای دیجیتال بر اساس طرح الگامال تعریف می کند. عدم امکان جعل امضا به دلیل پیچیدگی حل مسئله لگاریتم گسسته در میدانی از عناصر p یا پیچیدگی تعیین عدد x داده شده به عدد اول بزرگ p و اعداد a, b از بازه 2 تا p-1 که با مقایسه انجام می شود:

    Ax==bmodp.

    با این حال، ریاضیدانان ثابت نمی‌مانند و اخیراً پیشرفت‌های زیادی در توسعه روش‌هایی برای حل مسئله لگاریتم گسسته در میدانی از عناصر p حاصل شده است. اخیراً به اصطلاح روش غربال فیلد عددی ایجاد شده است. با کمک آن می توانید امضای دیجیتال تولید شده با روش فوق را هک کنید (حداقل در مورد ماژول 512 بیتی p).

    یکی از ساده ترین راه حل ها برای این مشکل افزایش طول ماژول p است. اما، متأسفانه، با افزایش p، ویژگی های عملیاتی الگوریتم بدتر می شود، زیرا طول کلید عمومی و زمان تولید و تأیید امضا افزایش می یابد.

    منحنی بیضوی

    دانشمندان روسی در نهایت به این نتیجه رسیدند که می‌توان طرح الجمال را کمی پیچیده کرد و بنابراین، بدون هزینه‌های محاسباتی اضافی، پیچیدگی جعل امضای دیجیتال را هزاران بار افزایش داد. نسخه جدیدی از طرح الگامال از دستگاه منحنی های بیضوی بر روی یک میدان محدود از عناصر p استفاده می کند که به عنوان مجموعه ای از جفت اعداد (x, y) تعریف می شوند (هر یک از آنها در محدوده 0 تا p-1 قرار دارند. ) ارضای مقایسه (اعداد a و b ثابت هستند و با شرایط اضافی مطابقت دارند):

    Y2 == x3 + تبر + bmodp.

    منابع دیگر

    • اطلاعات در مورد Oracle XML-SQL Utility http://otn.oracle.com/tech/xml/xdk_java/content.html
    • مشخصات SAML http://www.oasis-open.org/committees/security/
    • مشخصات XKMS http://www.w3.org/TR/xkms/
    • قانون فدرال "در مورد امضای دیجیتال الکترونیکی"

    در این مقاله نحوه امضای اسناد (pdf، word، excel، xml، بایگانی) با استفاده از امضای الکترونیکی توضیح داده شده است. بیایید در نظر بگیریم که چه نرم افزاری برای امضای اسناد با استفاده از امضای الکترونیکی، مزایا و معایب آنها مورد نیاز است.

    نحوه امضای فایل با استفاده از امضای دیجیتال

    دو برنامه وجود دارد که می توانید با استفاده از امضای الکترونیکی یک فایل را امضا کنید:

    1. ViPNet CryptoFile.
    2. CryptoARM.

    ViPNet CryptoFile

    با استفاده از این برنامه می توانید هر فایلی را امضا کنید، به عنوان مثال: doc، xls، jpg، xml، txt، امضای امضای دیجیتال، آرشیو. پس از امضای فایل به .sig ختم می شود

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

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

    با کلیک راست روی فایل و انتخاب ViPNet CryptoFile -> Sign در منو، می توانید یک سند EDS را امضا کنید.

    CryptoARM

    معایب:نرم افزار پولی؛

    طرفداران:هنگام امضای یک فایل می توانید چندین امضای دیجیتال اضافه کنید.

    با کلیک راست روی فایل و انتخاب CryptoARM -> Sign از منو، می توانید یک سند EDS را امضا کنید.

    نحوه امضای pdf با استفاده از امضای دیجیتال

    اگر نیاز به امضای سندی دارید، به عنوان مثال برای اداره مالیات، دستورالعمل بالا "نحوه امضای پرونده با استفاده از امضای الکترونیکی" را مطالعه کنید؛ اگر به امضایی با بخشی قابل مشاهده در سند نیاز دارید، دستورالعمل های زیر را بخوانید.

    برای امضای سند pdf با استفاده از امضای دیجیتال، به نرم افزار نیاز دارید.

    طرفداران:امضای الکترونیکی در سند قابل مشاهده است.

    معایب:هزینه برنامه (90 روز رایگان.)

    همچنین باید Acrobat Reader DC یا Adobe Acrobat Pro را نصب کرده باشید.

    قبل از درج امضای الکترونیکی در یک سند pdf، باید Acrobat Reader DC را برای کار با برنامه CryptoPro PDF پیکربندی کنید. برای این کار، در Acrobat Reader DC Ctrl+K را فشار دهید یا به منوی Edit -> Settings بروید، در دسته ها را انتخاب کنید. Signatures -> جایی که "ایجاد و ثبت" روی جزئیات بیشتر کلیک کنید، تصویر را ببینید:

    در "روش امضای پیش فرض" CryptoPro PDF را مانند شکل انتخاب کنید:

    ما یک سند pdf را با امضای دیجیتال امضا می کنیم

    سند pdf را باز کنید -> در پنل سمت راست روی fill و sign کلیک کنید

    در پنل بالای Acrobat Reader، روی "پر کردن و امضا کردن" -> "ابزارهای اضافی" کلیک کنید.

    برای افزودن به پنل باید ابزار Certificates را انتخاب کنید.

    پس از کلیک بر روی Certificates، ابزار “Apply Digital Signature” در پنل ظاهر می شود، روی آن کلیک کنید، سپس با مکان نما ناحیه ای را که می خواهید امضای دیجیتال قرار دهید انتخاب کنید، پنجره ای با انتخاب گواهی ظاهر می شود.

    گواهی -> OK -> Sign را انتخاب کنید.

    یک امضای دیجیتال در pdf به شکل زیر است:



    سند pdf ما امضا شده است، به همین ترتیب می توانید چندین امضا را در یک فایل pdf قرار دهید.

    نحوه امضای سند Word با استفاده از امضای دیجیتال

    اگر باید سندی را با قسمت قابل مشاهده امضا در سند امضا کنید، دستورالعمل های زیر را بخوانید، اما اگر نیاز به امضای سند word دارید و آن را برای مثال به اداره مالیات ارسال می کنید، دستورالعمل های بالا " نحوه امضای فایل با استفاده از امضای الکترونیکی” برای شما مناسب است.

    برای امضای سند Word با استفاده از امضای الکترونیکی، به برنامه CryptoPro Office Signature نیاز داریم.

    - نرم افزار پولی که برای امضای اسناد Wort و Excel استفاده می شود.

    پس از نصب، می توانید بلافاصله امضای اسناد Word را با امضای الکترونیکی شروع کنید؛ برای این کار، سند Word را که باید با امضای الکترونیکی امضا شود -> منو Rate -> در بلوک Text باز کنید، روی Signature Line کلیک کنید و Signature را انتخاب کنید. خط (CRYPTO-PRO).

    فرض کنید باید دو امضای الکترونیکی را در یک سند Word وارد کنید؛ برای این کار، عملیات نشان داده شده در بالا را دو بار بدون امضا انجام می دهیم. از آنجایی که پس از امضا با یک امضا، سند غیر قابل ویرایش می شود. بنابراین دو فیلد برای امضای الکترونیکی درج می کنیم.

    پس از این، می توانید با کلیک بر روی یک امضا، امضای الکترونیکی را انتخاب کرده و امضا کنید، سپس با امضای دوم همان اقدامات را انجام دهید.

    یک سند word که با امضای دیجیتال امضا شده است به این صورت است:


    نحوه امضای سند اکسل با استفاده از امضای دیجیتال

    من خودم را تکرار نمی کنم، برای امضای یک سند اکسل با استفاده از امضای دیجیتال الکترونیکی، باید همه چیز را مانند Word انجام دهید، دقیقاً در بالا ببینید.

    توجه: اگر باید یک سند اکسل را با قسمتی از امضای قابل مشاهده در سند امضا کنید، دستورالعمل "نحوه امضای سند Word با استفاده از امضای الکترونیکی" را در ادامه بخوانید، اما اگر نیاز به امضای سند اکسل دارید و آن را ارسال کنید. به عنوان مثال، به اداره مالیات بروید، سپس دستورالعمل های ابتدای صفحه «چگونه» برای شما مناسب است که فایل را با استفاده از امضای دیجیتال امضا کنید.

    نحوه امضای قرارداد با استفاده از امضای دیجیتال

    بسته به قالبی که توافق نامه ایجاد شده است، مقاله بالا نحوه امضای سند Word یا PDF را بخوانید.

    نحوه امضای وکالت نامه با EDS

    مقاله بالا را بخوانید و گزینه مناسب در مورد نحوه امضای وکالتنامه با استفاده از امضای الکترونیکی را انتخاب کنید.

    سوالات:

    آیا ویرایش فایل EDS امضا شده مجاز است؟

    — خیر، پس از امضای فایل قابل ویرایش نیست، به عنوان مثال، اگر بخواهید متن امضا شده در Word را ویرایش کنید، تمام امضاها حذف می شوند.

    سند امضا شده EDS چگونه است؟

    - همه چیز بستگی به نحوه امضای سند دارد. اگر سند را مطابق دستورالعمل های ابتدایی امضا کرده باشید، فایل پسوند .sig خواهد داشت. همچنین فایل و امضای دیجیتال می تواند یک فایل جداگانه باشد، بستگی به نحوه امضای فایل دارد.

    اگر یک سند pdf، word یا excel را با استفاده از برنامه های خاص امضا کرده اید، تشخیص آنها ممکن نیست. باید سند را باز کنید و بررسی کنید که آیا امضا وجود دارد یا خیر.