עווערקריפּט: אַ קריפּטאָגראַפיק וועראַפאַקיישאַן ביבליאָטעק

עווערעסט פּרויעקט

פאָרשער פון שטאַט אינסטיטוט פֿאַר פאָרשונג אין ינפאָרמאַטיקס און אַוטאָמאַטיאָן (INRIA), מיקראָסאָפט פאָרשונג און Carnegie Mellon אוניווערסיטעט דערלאנגט דער ערשטער פּראָצעס אַדישאַן פון די עווערקריפּט קריפּטאָ ביבליאָטעק דעוועלאָפּעד אין די פריימווערק פון די עווערעסט פּרויעקט און ניצן מאַטאַמאַטיקאַל מעטהאָדס פון פאָרמאַל רילייאַבילאַטי וועראַפאַקיישאַן.

פֿאַר זיין קייפּאַבילאַטיז און פאָרשטעלונג, עווערקריפּט איז זייער נאָענט צו יגזיסטינג קריפּטאָ לייברעריז (OpenSSL) אָבער, ניט ענלעך זיי, אָפפערס נאָך געראַנטיז פון רילייאַבילאַטי און זיכערהייט.

למשל די וועראַפאַקיישאַן פּראָצעס בוילז אַראָפּ צו דיפיינינג דיטיילד ספּעסאַפאַקיישאַנז וואָס שילדערן אַלע די ביכייוויערז פון דעם פּראָגראַם און די מאַטאַמאַטיקאַל דערווייַז אַז די געשריבן קאָד מיץ צוגעגרייט ספּעסאַפאַקיישאַנז.

ניט ענלעך זאָגן-באזירט קוואַליטעט קאָנטראָל מעטהאָדס, וועראַפאַקיישאַן גיט פאַרלאָזלעך געראַנטיז אַז דער פּראָגראַם וועט לויפן בלויז ווי די דעוועלאָפּערס בדעה און עס זענען קיין ספּעציפיש ערראָרס.

פֿאַר בייַשפּיל, העסקעם מיט די באַשרייַבונג ינשורז זיכער אַרבעט מיט זכּרון און דער אַוועק פון ערראָרס וואָס פירן צו באַפער לויפן, צו דערעפערענסע פּוינטערז, צו אַקסעס צו שוין באפרייט זיקאָרן געביטן, אָדער צו טאָפּל פריי פון זיקאָרן בלאַקס.

וואָס איז עווערקריפּט?

עווערקריפּט פּראָווידעס געזונט טיפּ און ווערט קאָנטראָלירונג- א קאָמפּאָנענט וועט קיינמאָל פּאַסירן פּאַראַמעטערס צו די אנדערע ניט-געהאָרכיק קאָמפּאָנענט און וועט נישט באַקומען צוטריט צו די ינערלעך שטאַטן פון די אנדערע קאַמפּאָונאַנץ.

די ינפּוט / רעזולטאַט נאַטור גאָר קאַנפאָרמז צו פּשוט מאַט פונקציאָנירן אַקשאַנז, וואָס זענען דיפיינד אין קריפּטאָגראַפיק סטאַנדאַרדס.

צו באַשיצן קעגן אנפאלן אין טשאַנאַלז פון דריט טיילווייַז, נאַטור בעשאַס חשבונות (פֿאַר בייַשפּיל, די געדויער פון דער דורכפירונג אָדער די אַקסעס צו זיכער זכּרון) עס איז נישט אָפענגיק אויף די סוד דאַטן וואָס זענען פּראַסעסט.

די פּרויעקט קאָד איז געשריבן אין דער פאַנגקשאַנאַל שפּראַך F * (ו שטערן) , וואָס גיט אַ סיסטעם פון אָפענגיק טייפּס און ריפיינמאַנץ, וואָס אַלאַוז צו באַשטימען פּינטלעך ספּעסאַפאַקיישאַנז (מאַטאַמאַטיקאַל מאָדעל) פֿאַר די מגילה און גאַראַנטירן די ריכטיק און דער אַוועק פון ערראָרס אין די ימפּלאַמענטיישאַן דורך סמט פאָרמולאַס און אַגזיליערי פּרובירן מכשירים.

די קאָד אין F * איז פונאנדערגעטיילט אונטער די Apache 2.0 דערלויבעניש, און די לעצט מאַדזשולז אין C און די אַסעמבלער אונטער די MIT דערלויבעניש.

באַזירט אויף דער רעפֿערענץ קאָד F *, אַסעמבלער, C, OCaml, JavaScript איז דזשענערייטאַד און די וועב פֿאַרזאַמלונג קאָד.

עטלעכע פּאַרץ פון דעם קאָד צוגעגרייט דורך די פּרויעקט זענען שוין געניצט אין Firefox, די Windows קערן , די בלאַקכייוואַן פון טעזאָס און וופּן ווירגואַרד.

עווערקריפּט קאַמפּאָונאַנץ

אין עסאַנס, עווערקריפּט קאַמביינז צוויי ביז אַהער דיספּעריט פּראַדזשעקס פון HACL * און Vale, פּראַוויידינג אַ יונאַפייד אַפּי באזירט אויף זיי און מאַכן זיי פּאַסיק פֿאַר נוצן אין פאַקטיש פּראַדזשעקס.

HACL * איז געשריבן אין נידעריק* און דער ציל איז צו צושטעלן קריפּטאָגראַפיק פּרימיטיוועס פֿאַר נוצן אין C מגילה אַז זיי נוצן די Libsodium און NaCL נוסח אַפּיס.

די פּרויעקט וואַלע דעוועלאָפּעד אַ ספּעציפיש שפּראַך פעלד צו שאַפֿן וועראַפאַקיישאַנז אין די אַסעמבלער.

וועגן 110 שורות HACL * קאָד אין לאָו * שפּראַך און 25 שורות קאָד פֿאַר Vale זענען קאַמביינד און זיי זענען ריריטאַן אין אַרום 70 שורות קאָד אין די וניווערסאַל שפּראַך F *, וואָס איז אויך דעוועלאָפּעד ווי טייל פון די עווערעסט פּרויעקט.

דער ערשטער ווערסיע פון ​​עווערקריפּט ביבליאָטעק פֿעיִקייטן וועראַפייד ימפּלאַמענטיישאַנז פון די ווייַטערדיקע קריפּטאָגראַפיק אַלגערידאַמז פארגעלייגט אין C אָדער אַסעמבלער ווערסיעס (ווען ניצן די.

אויף די פּרויעקט בלאַט זייַנען די פאלגענדע:

  • האַש אַלגערידאַמז: אַלע וועריאַנץ פון SHA2, SHA3, SHA1 און MD5
  • אָטענטאַקיישאַן קאָדעס: HMAC איבער SHA1, SHA2-256, SHA2-384 און SHA2-512 פֿאַר אָטענטאַקיישאַן פון דאַטן מקור
  • HKDF שליסל גענעראַטיאָן אַלגערידאַם (HMAC- באזירט עקסטראַקט און יקספּאַנד קיי דעריוויישאַן פונקציע)
  • טשאַטשאַ 20 טייַך ענקריפּשאַן (ניט-אָפּטימיזעד C ווערסיע בנימצא)
  • Poly1305 אָנזאָג אַוטהענטיקאַטיאָן אַלגערידאַם (MAC) (C און אַסעמבלער ווערסיע)
  • Diffie-Hellman פּראָטאָקאָל אויף יליפּטיקאַל קורוועס Curve25519 (C און אַסעמבלער ווערסיעס מיט אָפּטימיזאַטיאָנס באזירט אויף BMI2 און ADX ינסטראַקשאַנז)
  • פאַרשפּאַרן ענקריפּשאַן מאָדע AEAD (אָטענטאַקייטיד ענקריפּשאַן) טשאַטשאַפּאָלי (ווערסיע C איז נישט אָפּטימיזעד)
  • AEAD AES-GCM בלאָק ענקריפּשאַן מאָדע (אַסעמבלער ווערסיע מיט AES-NI אָפּטימיזאַטיאָנס).

אין דער ערשטער אַלף ווערסיע, קאָד וועראַפאַקיישאַן איז שוין געענדיקט לאַרגעלי, אָבער עס זענען נאָך עטלעכע אַנקאַווערד געביטן.

דערצו, אַפּי איז נישט סטייבאַלייזד נאָך, וואָס וועט זיין יקספּאַנדיד אין די פאלגענדע אַלף ווערסיעס (עס איז פּלאַננעד צו פאַרייניקן סטראַקטשערז פֿאַר אַלע אַפּיס.

צווישן די פלאָז, די קאַמפּאַטאַבילאַטי מיט די אַרקאַטעקטשער פון קס 86_64 איז אויך כיילייטיד (אין דער ערשטער בינע, די הויפּט אָביעקטיוו איז רילייאַבילאַטי, בשעת אַפּטאַמאַזיישאַן און פּלאַטפאָרמס וועט זיין ימפּלאַמענאַד אין די רגע אָרט).

מקור: https://jonathan.protzenko.fr


דער אינהאַלט פון דעם אַרטיקל אַדכיר צו אונדזער פּרינציפּן פון לייט עטיקס. צו מעלדונג אַ טעות גיט דאָ.

זייט דער ערשטער צו באַמערקן

לאָזן דיין באַמערקונג

אייער בליצפּאָסט אַדרעס וועט נישט זייַן ארויס. Required fields זענען אנגעצייכנט מיט *

*

*

  1. פאַראַנטוואָרטלעך פֿאַר די דאַטן: Miguel Ángel Gatón
  2. ציל פון די דאַטן: קאָנטראָל ספּאַם, קאָמענטאַר פאַרוואַלטונג.
  3. לעגיטימאַטיאָן: דיין צושטימען
  4. קאָמוניקאַציע פון ​​די דאַטן: די דאַטן וועט נישט זיין קאַמיונאַקייטיד צו דריט פּאַרטיעס אַחוץ דורך לעגאַל פליכט.
  5. דאַטן סטאָרידזש: דאַטאַבייס כאָוסטיד דורך Occentus Networks (EU)
  6. רעכט: צו קיין צייט איר קענט באַגרענעצן, צוריקקריגן און ויסמעקן דיין אינפֿאָרמאַציע.