MTI-protokoller er en familie af nøgledistributionsprotokoller udviklet af T. Matsumoto , Y. Takashita og H. Imai og opkaldt efter deres forfattere. MTI-protokoller er opdelt i tre protokolklasser: MTI/A, MTI/B, MTI/C. [en]
Nøgledistributionsprotokollen løser problemet med at distribuere hemmelige krypteringsnøgler mellem kommunikerende parter. Sættet af sådanne protokoller er opdelt i følgende tre typer: [2]
MTI-protokollerne er klassificeret som offentlige nøgledistributionsprotokoller.
Protokoller til distribution af offentlige nøgler er baseret på udveksling af meddelelser mellem brugere, som et resultat af hvilke hver bruger beregner en hemmelig sessionsnøgle. I dette tilfælde er det umuligt at beregne sessionsnøglen før udvekslingen af meddelelser. Derfor kaldes disse protokoller også [3] dynamiske nøgledistributionsprotokoller, i modsætning til statiske protokoller, hvor nøglerne er kendt allerede før selve kommunikationssessionen. Derudover kræver oprettelsen af sessionsnøgler i offentlige distributionsprotokoller, at brugerne kun kender de offentlige nøgler, dvs. giver et par systembrugere mulighed for at udvikle en delt hemmelig nøgle uden at udveksle private nøgler. Det er det, der førte til, at sådanne protokoller umiddelbart efter deres fremkomst i 1976 tiltrak det internationale samfunds opmærksomhed.
Ideen om at bygge åbne nøgledistributionsprotokoller blev først foreslået af Whitfield Diffie og Martin Hellman ved National Computer Conference i juni 1976. Og i november 1976 foreslog de i deres arbejde " New Directions in Cryptography " den første protokol til offentlig nøgledistribution [4] , opkaldt efter navnene på forfatterne (Diffie-Hellman-protokollen).
Den første af sin slags, Diffie-Hellman-protokollen, var sårbar over for visse typer angreb, især man-in-the-middle-angreb [2] . For at løse dette problem var det nødvendigt at give brugerne en godkendelsesmekanisme. Den asymmetriske RSA -krypteringsalgoritme [5] offentliggjort i august 1977 i spalten "Mathematical Games" i magasinet Scientific American blev en sådan mekanisme , som gjorde det muligt at løse kommunikationsproblemet gennem en åben kanal.
I 1984 foreslog Taher El-Gamal en forbedret Diffie-Hellman protokol med mulighed for envejsgodkendelse, når kun en af de kommunikerende parter kan verificere ægtheden af den anden [6] . I modsætning til RSA var ElGamal -protokollen ikke patenteret og blev derfor et billigere alternativ, da der ikke var nogen licensgebyrer at betale. Algoritmen menes at være omfattet af Diffie-Hellman-patentet.
I februar 1986 præsenterede T. Matsumoto, I. Takashima og H. Imai en løsning på problemet med gensidig autentificering uden brug af RSA [7] . I deres MTI-protokoller indeholder det delte hemmelige udtryk både de offentlige og private nøgler fra legitime brugere. Denne løsning gør det muligt at udføre autentificering samtidig med beregningen af den delte hemmelige nøgle (en ulovlig bruger kan ikke beregne værdien af den hemmelige nøgle).
MTI-protokoller er i øjeblikket inkluderet i ISO/IEC 11770-3 [1] -standarden .
Overvej processen med informationsudveksling mellem part A og B. Nedenfor er de notationer, der vil blive brugt til at beskrive driften af MTI-protokollerne.
Alle beregninger i fremtiden udføres i gruppen .
Arbejdsalgoritme
Udførte beregninger
Arbejdsalgoritme
Udførte beregninger
Arbejdsalgoritme
Udførte beregninger
Arbejdsalgoritme
Udførte beregninger
Arbejdsalgoritme
Udførte beregninger
Arbejdsalgoritme
Udførte beregninger
Protokol | |||||
MTI/A(0) | |||||
MTI/B(0) | |||||
MTI/C(0) | |||||
MTI/A(k) | |||||
MTI/B(k) | |||||
MTI/C(k) |
Protokol | Nøglegodkendelse | Kildegodkendelse | Nøglebekræftelse | Antal beskeder |
Diffie-Hellman protokol | mangler | mangler | mangler | 2 |
ElGamal-protokollen | ensidigt | mangler | mangler | en |
MTI/A | gensidig implicit | mangler | mangler | 2 |
MTI/B,C | gensidig implicit | mangler | mangler | 2 |
STS | gensidig eksplicit | gensidig | mangler | 3 |
MTI-protokoller modstår passive angreb, men er sårbare over for aktive angreb [3] . Nedenfor er eksempler på aktive angreb på MTI-protokoller.
Et lille undergruppeangreb anvendes på MTI/C-protokolklassen, hvis gruppen matcher gruppen , som forventet i den originale protokol. Det antages, at kryptoanalytikeren kender faktoriseringen af et tal til primfaktorer. Lad være den mindste primfaktor i udvidelsen af tallet . Lad os betegne . Angrebet består i at hæve alle beskeder til en magt , som oversætter de transmitterede elementer til en lille undergruppe af gruppen .
Faktisk, og udveksle beskeder i formen . At hæve et element til en potens giver et genererende element af en undergruppe af orden . Desuden er denne rækkefølge ens , enten når og, henholdsvis, eller når den indeholder tallet i sin nedbrydning i primfaktorer , dvs. . I alle andre tilfælde vil rækkefølgen af undergruppen være lig med .
Processen med at angribe MTI/C(0)-protokollen er beskrevet nedenfor. Kryptanalytikeren er mellem parterne og ( man-in-the-midten ).
Den modtagne hemmelige sessionsnøgle er ligesom de modtagne beskeder et element i gruppens lille undergruppe . Derfor kan kryptanalytikeren finde nøglen ved udtømmende søgning, kontrollere elementerne i undergruppen som nøgler i kommunikationen mellem og . I dette tilfælde, jo mindre multiplikatoren er, jo hurtigere går angrebet.
Et angreb på en undergruppe kan forhindres ved at vælge en undergruppe af en gruppe af prime orden . Fordi mens længden er omkring 160 bit, så viser en udtømmende søgning sig at være en for svær opgave for en kryptoanalytiker . Det er også nødvendigt at kontrollere, at de elementer, der modtages i beskeder, er i en gruppe og ikke er lig med én.
Et ukendt offentlig nøgleangreb kræver, at kryptoanalytikeren opnår et langsigtet offentlig nøglecertifikat , der er knyttet til partens offentlige nøgle med en formel . Det betyder, at den ikke kender den hemmelige nøgle, der svarer til den offentlige nøgle .
Et angreb med en ukendt delt nøgle udføres ved at udføre følgende rækkefølge af handlinger.
De hemmelige nøgler beregnet af parterne og er de samme og lig med . Samtidig mener den , at den deler den med , mens den mener, at den deler nøglen med .
Selvom den ikke er i stand til at beregne den hemmelige sessionsnøgle uden yderligere information, fører parten alligevel til en fejlagtig mening.
For at undgå dette angreb er det nødvendigt at kræve, at certifikatmyndighederne bekræfter, at parter, der anmoder om et certifikat for en eller anden offentlig nøgle , kender den tilsvarende private nøgle .