Кіріспе

Цифрлық қолтаңбалар үшін XML синтаксисі XML Signature (сондай-ақ XMLDSig, XML DSig, XML Sig деп те аталады) цифрлық қолтаңбалар үшін XML синтаксисін анықтайды және W3C ұсынысы XML Signature Syntax and Processing-те сипатталған. Функционалдық тұрғыдан PKCS #7-мен көп ортақ нәрселері бар, бірақ ол көбірек кеңейтілген және XML құжаттарына қол қоюға арналған. Ол SOAP, SAML және басқа да веб-технологияларында қолданылады. XML қолтаңбаларын кез келген типтегі деректерге қол қою үшін пайдалануға болады, әдетте XML құжаттарына, бірақ URL арқылы қол жетімді кез келген нысанда қол қою мүмкіндігі бар. XML қолтаңбасы, егер ол өзінің XML құжатынан тыс ресурсқа қол қойса, "ажыратылған қолтаңба" деп аталады; егер ол өзінің құжатының бір бөлігіне қол қойса, "қамтылған қолтаңба" деп аталады; ал егер ол қол қойылған деректерді өзінің ішінде қамтитын болса, "қоршаған қолтаңба" деп аталады.

Жауаптылығы мен қауіпсіздік мәселелері

XML қолтаңбасын растау кезінде өзекті растау деп аталатын процедура орындалады. Сілтемелерді растау: Әрбір сілтеменің дайджесті тиісті ресурсты алу, кез келген түрлендірулерді қолдану және содан кейін көрсетілген дайджест әдісін пайдаланып тексеріледі. Нәтиже тіркелген DigestValue-мен салыстырылады; егер олар сәйкес келмесе, растау сәтсіз аяқталады. Қолтаңбаны растау: SignedInfo элементі CanonicalizationMethod-та көрсетілген канонизациялау әдісі арқылы серияланады, кілт деректері KeyInfo немесе басқа тәсілдер арқылы алынады және қолтаңба SignatureMethod-та көрсетілген әдіспен тексеріледі. Бұл процедура ресурстарға күдікті тараптың қол қойған-қол қоймағанын анықтайды. Дегенмен, канонизациялау және түрлендіру әдістерінің кеңейтілуіне байланысты, тексеруші тарап қол қойылған немесе дайджесттелгеннің бастапқы деректерде бар екеніне, яғни қолданылатын алгоритмдер қол қойылған деректердің мағынасын өзгертпейтіндігіне көз жеткізуі керек. Қол қойылған құжаттың құрылымы бұрмалануға ұшырап, «қолтаңбаны орау» шабуылдарына әкелуі мүмкін болғандықтан, растау процесі XML құжат құрылымын да қамтуы керек. Signed элементі мен signature элементі getElementByName әдісімен емес, абсолютті XPath өрнегі арқылы таңдалуы тиіс. Сондай-ақ, XML деректерін қол қою және шифрлау үшін XML канонизациялаудың тиімділігі, оның күрделілігі, өңдеу қажеттілігі және нашар өнімділік сипаттамалары туралы мәселелер де бар. Мәселе мынада, XML канонизациялауды орындау транзакциялық, өнімділікке сезімтал SOA қолданбалары үшін тым көп кешігу тудырады. Бұл мәселелер XML қауіпсіздігі жұмыс тобында қарастырылуда. Тиісті саясат пен іске асырусыз SOAP және WS Security-де XML Dsig қолдану XML қолтаңбасын орау сияқты осалдықтарға әкелуі мүмкін.