더블 래칫 알고리즘

Double Ratchet Algorithm

암호학에서 Double Ratchet Algorithm(이전의 Axolotl Ratchet[1][2])은 Trevor Perrin과 Moxie Marlinspike가 2013년에 개발한 주요 관리 알고리즘입니다.암호화 프로토콜의 일부로 사용하여 인스턴트 메시징에 대한 엔드 투 엔드 암호화를 제공할 수 있습니다.초기 키 교환 후 단기 세션 키의 지속적인 갱신 및 유지보수를 관리합니다.이것은 Diffie-에 기반한 암호화 소위 "래칫"을 결합합니다.Hellman교환(DH)과 해시함수와 같은 키 파생함수(KDF)에 기초한 래칫은 더블 래칫이라고 불립니다.

이 알고리즘은 특정 상황에서는 공격자가 사용자의 [3]키 중 하나를 손상시킨 후 이후 메시지의 클리어 텍스트에 액세스할 수 없으므로 자가 복구로 간주됩니다.새 세션 키는 몇 번의 통신 후 교환됩니다.이렇게 하면 공격자는 가로채지 않은 키 교환이 발생하면 즉시 접근권을 상실하기 때문에 사실상 정직한 당사자 간의 모든 통신을 가로채게 됩니다.이 속성은 나중에 Future Secrecy 또는 Post-Compromise Security[4]명명되었습니다.

어원학

A gif of a ratchet moving showing that the mechanism can only move in one direction
기계 래칫

"악솔로틀"은 도롱뇽의 자가 치유 성질을 언급했습니다.암호학에서 "래칫"이라는 용어는 기계 래칫과 유사하게 사용됩니다.기계적인 의미에서 래칫은 한 방향으로만 진행할 수 있습니다.암호화 래칫은 이전 키에서만 키를 생성할 수 있습니다.그러나 원형 래칫과 달리 각 주는 독특합니다.

기원.

Double Ratchet Algorithm은 2013년 Trevor Perrin과 Moxie Marlinspike(오픈 위스퍼 시스템)에 의해 개발되었으며 2014년 2월 신호 프로토콜의 일부로 도입되었습니다.Double Ratchet Algorithm의 설계는 Off-the-Record Messaging(OTR)에 의해 도입된 DH 래칫을 기반으로 하며 SCMP(Silent Circle Instant Messaging Protocol)를 모델로 한 대칭 키 래칫과 결합합니다.이 래칫은 처음에 멸종 위기에 처한 수생도롱뇽 악솔로틀의 이름을 따서 지어졌는데, 이 도롱뇽은 놀라운 자가 치유 능력을 가지고 있다.2016년 3월 개발자들은 신호 프로토콜을 [5][2]언급할 때 Axolotl이라는 이름을 사용하였기 때문에 래칫과 전체 프로토콜을 [2]더 잘 구별하기 위해 Axolotl Ratchet 알고리즘으로 이름을 변경하였다.

특성.

Double Ratchet Algorithm은 오랫동안 엔드 투 엔드 암호화 시스템에서 일반적으로 사용 가능했던 속성으로 원격 피어 인증 및 메시지 조작에 대한 보호를 제공합니다.DH와 KDF 래칫의 하이브리드로서, 두 원칙의 몇 가지 바람직한 특징을 결합한다.OTR 메시징에서는 세션키가 침해되었을 경우의 전송 비밀 및 자동으로 재설정 비밀, 비밀 유지 메인키가 침해되었을 경우의 전송 비밀 및 메시지 작성자에 대한 타당한 거부라는 속성을 취합니다.또한 세컨더리 KDF 래칫을 사용하여 리모트피어와의 상호작용 없이 세션키 갱신을 가능하게 합니다.다음 키를 위태롭게 하지 않고 순서가 잘못된 메시지에 대한 세션 키를 유지할 수 있도록 키 파생 단계를 추가로 수행합니다.

송신된 메시지의 순서 변경, 삭제, 재생을 검출해, OTR 메시징에 비해 전송 비밀 속성을 향상시키는 것으로 알려져[by whom?] 있습니다.

사전 생성된 원타임키(프리키) 보유를 위한 공개키 인프라스트럭처와 조합하면 리모트피어(비동기통신)가 존재하지 않고 메시징 세션을 초기화할 수 있습니다.트리플 디피 사용법-초기 키 교환 방법으로서 Hellman 키 교환(3-DH)에 의해 거부성이 향상됩니다.예를 들어 이중 래칫 알고리즘, 프리키 및 3-DH [6]핸드쉐이크를 결합한 신호 프로토콜이 있습니다.이 프로토콜은 기밀성, 무결성, 인증, 참가자 일관성, 대상 검증, 전송 비밀성, 역방향 비밀성(미래 비밀성이라고도 함), 인과관계 보존, 메시지 연결 해제, 메시지 거부, 참여 거부 및 [7]비동기성을 제공합니다.익명성을 유지하지 않고 메시지 릴레이 및 공개 키 자료 [7]저장을 위해 서버가 필요합니다.

기능하고 있다

작업원칙도

클라이언트는 Diffie를 사용하여 리모트피어와 대화하여 세션키 자료를 갱신합니다Hellman 래칫은 가능하면 언제든지 해시 래칫을 사용하여 독립적으로 작동합니다.따라서 더블 래칫을 사용하는 클라이언트는 모든 메시지에 대해 DH 래칫에서 공통 비밀을 가진 2개의 해시 래칫(송신용, 수신용) 중 하나를 진행합니다.동시에 리모트 피어에서 새로운 퍼블릭 DH 값을 제공하고 새로운 DH 값이 도착할 때마다 DH 래칫을 전진시키기 위해 모든 기회를 이용하려고 합니다.새로운 공통 비밀이 확립되는 즉시 새로운 해시 래칫이 초기화됩니다.

암호화 프리미티브로서 Double Ratchet Algorithm은

DH 래칫을 위해
타원 곡선 디피-Hellman(ECDH) 및 Curve25519,
메시지 인증 코드(MAC, 인증)의 경우
SHA-256에 근거한 Keyed-Hash Message Authentication Code(HMAC; 키 해시 메시지 인증 코드)
대칭 암호화의 경우
Advanced Encryption Standard(AES; Advanced Encryption Standard), 일부는 PKCS #5에 따라 패딩이 있는 Cipher Block Chaining(CBC; 암호 블록 체인) 모드, 일부는 패딩이 없는 카운터 모드(CTR; 카운터 모드)입니다.
해쉬 래칫을 위해
HMAC.[8]

적용들

다음은 Double Ratchet Algorithm을 사용하는 응용 프로그램 또는 이 알고리즘을 커스텀 구현한 응용 프로그램 목록입니다.

메모들

  1. ^ a b c d OMEMO 프로토콜을 통해
  2. ^ '비밀 대화'에서만
  3. ^ a b c d e f g h 신호 프로토콜 경유
  4. ^ 서드파티 플러그인은 별도로 설치해야 합니다.
  5. ^ a b 매트릭스 프로토콜을 통해
  6. ^ '인식 모드'에서만
  7. ^ 일대일 RCS 채팅에서만 가능
  8. ^ Zina 프로토콜을 통해
  9. ^ '비공개 대화'에서만
  10. ^ Viber는 Open Whisper Systems Signal 어플리케이션과 동일한 개념의 "더블 래칫" 프로토콜을 사용합니다.
  11. ^ Proteus 프로토콜을 통해

레퍼런스

  1. ^ Perrin, Trevor (30 March 2016). "Compare Revisions". GitHub. Retrieved 9 April 2016.
  2. ^ a b c Marlinspike, Moxie (30 March 2016). "Signal on the outside, Signal on the inside". Open Whisper Systems. Retrieved 31 March 2016.
  3. ^ Marlinspike, Moxie (26 November 2013). "Advanced cryptographic ratcheting". whispersystems.org. Open Whisper Systems. Retrieved 20 January 2021. The OTR style ratchet has the nice property of being 'self healing.'
  4. ^ Cohn-Gordon, K.; Cremers, C.; Garratt, L. (2016). "On Post-compromise Security". 2016 IEEE 29th Computer Security Foundations Symposium (CSF): 164–178. doi:10.1109/CSF.2016.19. ISBN 978-1-5090-2607-4. S2CID 5703986.
  5. ^ 콘-고든연구진, 2016,
  6. ^ 웅거2015, 페이지 241
  7. ^ a b 웅거 2015, 페이지 239
  8. ^ Frosch et al. 2014
  9. ^ "Security". Cryptocat. Archived from the original on 7 April 2016. Retrieved 14 July 2016.
  10. ^ Greenberg, Andy (4 October 2016). "You Can All Finally Encrypt Facebook Messenger, So Do It". Wired. Condé Nast. Retrieved 5 October 2016.
  11. ^ Seals, Tara (17 September 2015). "G DATA Adds Encryption for Secure Mobile Chat". Infosecurity Magazine. Reed Exhibitions Ltd. Retrieved 16 January 2016.
  12. ^ "SecureChat". GitHub. G Data. Retrieved 14 July 2016.
  13. ^ Greenberg, Andy (18 May 2016). "With Allo and Duo, Google Finally Encrypts Conversations End-to-End". Wired. Condé Nast. Retrieved 14 July 2016.
  14. ^ Amadeo, Ron (2021-06-16). "Google enables end-to-end encryption for Android's default SMS/RCS app". Ars Technica. Retrieved 2022-03-03.
  15. ^ "Haven Attributions". GitHub. Guardian Project. Retrieved 22 December 2017.
  16. ^ Lee, Micah (22 December 2017). "Snowden's New App Uses Your Smartphone To Physically Guard Your Laptop". The Intercept. First Look Media. Retrieved 22 December 2017.
  17. ^ Langley, Adam (9 November 2013). "Wire in new ratchet system". GitHub (GitHub contribution). Retrieved 16 January 2016.
  18. ^ Butcher, Mike (19 September 2016). "Riot wants to be like Slack, but with the flexibility of an underlying open source platform". TechCrunch. AOL Inc. Retrieved 20 September 2016.
  19. ^ "Silent Circle/libzina". Github. Silent Circle. Retrieved 19 December 2017.
  20. ^ Lund, Joshua (11 January 2018). "Signal partners with Microsoft to bring end-to-end encryption to Skype". Open Whisper Systems. Retrieved 11 January 2018.
  21. ^ "Viber Encryption Overview" (PDF). Viber. 25 July 2018. Retrieved 26 October 2018.
  22. ^ Metz, Cade (5 April 2016). "Forget Apple vs. the FBI: WhatsApp Just Switched on Encryption for a Billion People". Wired. Condé Nast. Retrieved 5 April 2016.
  23. ^ "Wire Security Whitepaper" (PDF). Wire Swiss GmbH. 17 August 2018. Retrieved 28 August 2020.

문학.

  • Cohn-Gordon, Katriel; Cremers, Cas; Dowling, Benjamin; Garratt, Luke; Stebila, Douglas (25 October 2016). "A Formal Security Analysis of the Signal Messaging Protocol" (PDF). Cryptology ePrint Archive. International Association for Cryptologic Research (IACR).
  • Frosch, Tilman; Mainka, Christian; Bader, Christoph; Bergsma, Florian; Schwenk, Jörg; Holz, Thorsten (2014). "How Secure is TextSecure?" (PDF). Cryptology ePrint Archive. International Association for Cryptologic Research (IACR). Retrieved 16 January 2016.
  • Unger, Nik; Dechand, Sergej; Bonneau, Joseph; Fahl, Sascha; Perl, Henning; Goldberg, Ian Avrum; Smith, Matthew (2015). SoK: Secure Messaging (PDF). Proceedings of the 2015 IEEE Symposium on Security and Privacy. IEEE Computer Society's Technical Committee on Security and Privacy. pp. 232–249. doi:10.1109/SP.2015.22.

외부 링크