Кіріспе
MQV (Menezes–Qu–Vanstone) – Diffie–Hellman схемасына негізделген кілт алмасу протоколы. Басқа аутентификацияланған Diffie–Hellman схемалары сияқты, MQV белсенді шабуылшыға қарсы қорғаныс қамтамасыз етеді. Протокол кез келген шектік топта жұмыс істеу үшін өзгертілуі мүмкін, әсіресе эллипстік қисықтар тобында, онда ол эллипстік қисық MQV (ECMQV) деп аталады. MQV алғаш рет 1995 жылы Альфред Менезес, Мингхуа Ку және Скотт Ванстон ұсынған. Кейін Лори Лоу және Джерри Солинаспен бірлесіп жұмыс істеу кезінде өзгертілді. Бір, екі және үш кезеңді нұсқалары бар. MQV IEEE P1363 ашық кілт стандартына және NIST SP800 56A стандартына енгізілген. MQV-нің кейбір нұсқалары Certicom компаниясына тиесілі патенттерде көрсетілген. ECMQV Ұлттық қауіпсіздік агенттігінің криптографиялық стандарттар жиынтығының B жинағынан алынып тасталды. Мазмұны
MQV (Menezes–Qu–Vanstone) is an authenticated protocol for key agreement based on the Diffie–Hellman scheme. Like other authenticated Diffie–Hellman schemes, MQV provides protection against an active attacker. The protocol can be modified to work in an arbitrary finite group, and, in particular, elliptic curve groups, where it is known as elliptic curve MQV (ECMQV). MQV was initially proposed by Alfred Menezes, Minghua Qu and Scott Vanstone in 1995. It was later modified in joint work with Laurie Law and Jerry Solinas. There are one , two and three pass variants. MQV is incorporated in the public key standard IEEE P1363 and NIST's SP800 56A standard. Some variants of MQV are claimed in patents assigned to Certicom. ECMQV has been dropped from the National Security Agency's Suite B set of cryptographic standards. TOC
Сипаттама
Алиса өзінің ашық кілті мен жеке кілтінен тұратын кілт жұбына ие, ал Боб өзінің ашық кілті мен жеке кілтінен тұратын кілт жұбына ие. Келесі терминдер мына мағынаны білдіреді. Егер E эллипстік қисықтағы нүкте болса, онда , мұндағы – пайдаланылған генератор нүктесінің реті. Сондықтан – координатасының алғашқы L биті.
Step Operation 1 Alice generates a key pair by generating randomly and calculating with a point on an elliptic curve. 2 Bob generates a key pair in the same way as Alice. 3 Now, Alice calculates modulo and sends to Bob. 4 Bob calculates modulo and sends to Alice. 5 Alice calculates and Bob calculates where is the cofactor (see Elliptic curve cryptography: domain parameters). 6 The communication of secret was successful. A key for a symmetric key algorithm can be derived from
Note: for the algorithm to be secure some checks have to be performed. See Hankerson et al.
1-қадам. Операция 1: Алиса кілт жұбын кездейсоқ санды таңдап, эллипстік қисықтағы нүктесін есептеу арқылы жасайды. 2-қадам. Боб Алиса сияқты кілт жұбын жасайды. 3-қадам. Алиса модулін есептеп, Бобқа жібереді. 4-қадам. Боб модулін есептеп, Алисаға жібереді. 5-қадам. Алиса есептейді, ал Боб есептейді, мұндағы – кофактор (Эллипстік қисық криптографиясы: домен параметрлерін қараңыз). 6-қадам. Құпия мәлімет алмасу сәтті аяқталды. Симметриялық кілт алгоритмі үшін кілтті мынадан шығаруға болады. Ескерту: алгоритмнің қауіпсіздігін қамтамасыз ету үшін кейбір тексерулер жүргізілуі керек. Ханкерсон және авторлар.
Step Operation 1 Alice generates a key pair by generating randomly and calculating with a point on an elliptic curve. 2 Bob generates a key pair in the same way as Alice. 3 Now, Alice calculates modulo and sends to Bob. 4 Bob calculates modulo and sends to Alice. 5 Alice calculates and Bob calculates where is the cofactor (see Elliptic curve cryptography: domain parameters). 6 The communication of secret was successful. A key for a symmetric key algorithm can be derived from
Note: for the algorithm to be secure some checks have to be performed. See Hankerson et al.
MQV және HMQV
Бастапқы MQV протоколы кілт алмасу ағынында қарым-қатынас жасайтын тараптардың пайдаланушы сәйкестіктерін қамтымайды. Пайдаланушы сәйкестіктері тек кейіннен жүзеге асылатын кілтті нақты растау процесінде ғана қолданылады. Дегенмен, кілтті нақты растау MQV-де (және IEEE P1363 спецификациясында) міндетті емес. 2001 жылы Калиски MQV кілт алмасу протоколындағы жоқ сәйкестіктерді пайдаланған белгісіз кілт үлестіру шабуылын ұсынды. Бұл шабуыл кілтті нақты растаудың жоқтығынан туындайтын, жасырын аутентификацияланған MQV-ге қарсы жұмыс істейді. Шабуыл кезінде пайдаланушы басқа пайдаланушымен сессия кілтін орнатады, бірақ ол кілтті басқа бір пайдаланушымен бөліседі деп алданып, қателеседі. 2006 жылы Менезес пен Устаоглу бұл шабуылды MQV кілт алмасуының соңында кілт тудыру функциясына пайдаланушы сәйкестіктерін қосу арқылы шешуді ұсынды. Кілтті нақты растау процесі міндетті емес болып қалады. 2005 жылы Краучик MQV-ның HMQV деп аталатын хэш-вариантын ұсынды. HMQV протоколы Калискидің шабуылына қарсы (кілтті нақты растауды міндетті етпей) қорғауға, сондай-ақ дәлелді қауіпсіздік пен тиімділікті арттыру мақсатында әзірленген. HMQV MQV-ге үш өзгеріс енгізді: кілт алмасу ағынына пайдаланушы сәйкестіктерін қосу, атап айтқанда, Алиса мен Бобтың сәйкестіктерін жіберу және алу; MQV-де куәландыру органының (CA) пайдаланушының жеке кілтіне ие екенін растау дәлелін тексеруі міндетті екендігін алып тастау. HMQV-де CA тек ұсынылған ашық кілт 0 немесе 1-ге тең емес екенін тексеруі керек; MQV-де пайдаланушының алған уақытша ашық кілтінің жарамды ашық кілт екенін тексеруі міндетті екендігін алып тастау (ашық кілтті растау). HMQV-де пайдаланушыға тек алған уақытша ашық кілт 0 немесе 1 емес екенін тексеру жеткілікті. HMQV өнімділік тұрғысынан MQV-дан артық екенін мәлімдейді, себебі ол MQV-де міндетті болып табылатын жоғарыда 2) және 3) тармақтарында көрсетілген операцияларды орындамайды. HMQV құжаты осы операцияларды орындаудың қауіпсіздігін растайтын «формалды қауіпсіздік дәлелдемелерін» ұсынады. 2005 жылы Менезес HMQV-ге қарсы шағын кіші топты шектеу шабуылын алғаш рет ұсынды. Бұл шабуыл 2) және 3) тармақтарындағы ашық кілттің дұрыс тексерілмеуін пайдаланады. Ол HMQV протоколы белсенді шабуылшымен қарым-қатынас жасағанда пайдаланушының ұзақ мерзімді жеке кілті туралы ақпаратты ағызатынын, ал криптографиялық топтың негізгі параметрлеріне байланысты шабуылшы бүкіл жеке кілтті қалпына келтіре алатынын көрсетеді. Менезес бұл шабуылға қарсы әрекет етуді 2) және 3) тармақтарында ашық кілтті растауды міндетті ету арқылы ұсынды. 2006 жылы Менезестің шабуылына жауап ретінде Краучик IEEE P1363 ұсынысына енгізілген HMQV-ді қайта қарады (IEEE P1363 D1 алдын ала жобасы). Алайда, 2) және 3) тармақтарындағы ұзақ мерзімді және уақытша ашық кілттерді екі бөлек операция ретінде растаудың орнына, Краучик оларды кілт алмасу процесінде біріктірілген операцияда бірге растауды ұсынды. Бұл шығынды үнемдеуге мүмкіндік береді. Біріктірілген ашық кілтті растау арқылы Менезестің шабуылына жол берілмейді. Қайта қарастырылған HMQV әлі де MQV-дан тиімдірек болуы мүмкін. 2010 жылы Хао IEEE P1363 D1 алдын ала жобасында көрсетілген қайта қарастырылған HMQV-ге екі шабуыл жасады. Бірінші шабуыл HMQV 0 және 1-ден басқа кез келген дерек тізбесін ұзақ мерзімді ашық кілт ретінде тіркеуге мүмкіндік беретінін пайдаланады. Сондықтан кішігірім кіші топ мүшесін «ашық кілт» ретінде тіркеуге рұқсат етіледі. Осы «ашық кілт» туралы біліммен пайдаланушы HMQV-дегі барлық тексеру қадамдарын өте алады және соңында толыққанды «аутентификацияланады». Бұл аутентификацияланған кілт алмасу протоколында «аутентификациялау» жеке кілтті білуді дәлелдеу негізінде анықталады деген жалпы түсінікке қайшы келеді. Бұл жағдайда пайдаланушы «аутентификацияланады», бірақ жеке кілті жоқ (әрине, жеке кілт жоқ). Бұл мәселе MQV-ге қатысты емес. Екінші шабуыл HMQV-де ашық түрде қолдау көрсетілетін, пайдаланушыға сол ашық кілт сертификатын пайдалана отырып, өзімен қарым-қатынас жасауға мүмкіндік беретін өзіндік байланыс режимін пайдаланады. Бұл режимде HMQV белгісіз кілт үлестіру шабуылына ұшырайды. Бірінші шабуылға қарсы Хао бастапқыда Менезес ұсынғандай, 2) және 3) тармақтарында ашық кілтті жеке-жеке растауды ұсынды. Алайда, бұл өзгеріс HMQV-нің MQV-ге қарағанда тиімділігін төмендетеді. Екінші шабуылға қарсы Хао өзіндік көшірмелерді ажырату үшін қосымша сәйкестіктерді қосуды немесе өзіндік байланыс режимін өшіруді ұсынды. Хаоның екі шабуылы 2010 жылы IEEE P1363 жұмыс тобының мүшелері талқылады. Алайда HMQV-ді қалай қайта қарау керектігі туралы келісімге келмеді. Нәтижесінде, IEEE P1363 D1 алдын ала жобасындағы HMQV спецификациясы өзгеріссіз қалды, бірақ HMQV-ді IEEE P1363 стандарты ретінде дамыту тоқтатылды.
Including the user identities in the key exchange flows: more specifically, letting and where and are identities of Alice and Bob respectively. Removing the mandatory requirement in MQV that a certificate authority (CA) must verify the proof of possession of the user's private key during the public key registration. In HMQV, the CA merely needs to check the submitted public key is not 0 or 1. Removing the mandatory requirement in MQV that a user must verify whether the received ephemeral public key is a valid public key (known as public key validation). In HMQV, a user merely needs to check the received ephemeral public key is not 0 or 1. HMQV claims to be superior to MQV in performance because it dispenses with the operations in 2) and 3) above, which are mandatory in MQV. The HMQV paper provides "formal security proofs" to support that dispensing with these operations is safe. In 2005, Menezes first presented a small subgroup confinement attack against HMQV. This attack exploits the exact missing of public key validations in 2) and 3). It shows that when engaged with an active attacker, the HMQV protocol leaks information about the user's long term private key, and depending on the underlying cryptographic group setting, the entire private key may be recovered by the attacker. Menezes proposed to address this attack by at least mandating public key validations in 2) and 3). In 2006, in response to Menezes's attack, Krawczyk revised HMQV in the submission to IEEE P1363 (included in the IEEE P1363 D1 pre draft). However, instead of validating the long term and ephemeral public keys in 2) and 3) respectively as two separate operations, Krawczyk proposed to validate them together in one combined operation during the key exchange process. This would save cost. With the combined public key validation in place, Menezes's attack would be prevented. The revised HMQV could still claim to be more efficient than MQV. In 2010, Hao presented two attacks on the revised HMQV (as specified in the IEEE P1363 D1 pre draft). The first attack exploits the fact that HMQV allows any data string other than 0 and 1 to be registered as a long term public key. Hence, a small subgroup element is allowed to be registered as a "public key". With the knowledge of this "public key", a user is able to pass all verification steps in HMQV and is fully "authenticated" in the end. This contradicts the common understanding that "authentication" in an authenticated key exchange protocol is defined based on proving the knowledge of a private key. In this case, the user is "authenticated" but without having a private key (in fact, the private key does not exist). This issue is not applicable to MQV. The second attack exploits the self communication mode, which is explicitly supported in HMQV to allow a user to communicate with himself using the same public key certificate. In this mode, HMQV is shown to be vulnerable to an unknown key share attack. To address the first attack, Hao proposed to perform public key validations in 2) and 3) separately, as initially suggested by Menezes. However, this change would diminish the efficiency advantages of HMQV over MQV. To address the second attack, Hao proposed to include additional identities to distinguish copies of self, or to disable the self communication mode. Hao's two attacks were discussed by members of the IEEE P1363 working group in 2010. However, there was no consensus on how HMQV should be revised. As a result, the HMQV specification in the IEEE P1363 D1 pre draft was unchanged, but the standardisation of HMQV in IEEE P1363 has stopped progressing since.