다중 암호화
Multiple encryption다중 암호화는 동일한 알고리즘이나 다른 알고리즘을 사용하여 이미 암호화된 메시지를 한 번 이상 암호화하는 과정이다. 캐스케이드 암호화, 캐스케이드 암호화, 다중 암호화, 초지변환으로도 알려져 있다. Superencryption은 다중 암호화의 외부 수준의 암호화를 말한다.
존스 홉킨스 대학의 매튜 그린과 같은 일부 암호학자들은 다중 암호화는 대부분 존재하지 않는 문제를 해결한다고 말한다: 현대의 암호학자는 거의 깨지지 않는다... 당신은 AES에 대한 치명적인 공격을 당할 때보다 멀웨어나 구현 버그에 맞을 가능성이 훨씬 더 높다‥‥[1] 그리고 그 인용문에는 다중 암호화의 이유, 즉 불충분한 구현이 있다. 서로 다른 두 공급업체의 서로 다른 두 개의 암호 체계와 키잉 프로세스를 사용하려면 보안이 완전히 실패하기 위해 두 공급업체의 제품이 모두 손상되어야 한다.
독립 키
만약 사용된 키가 양쪽 모두에 대해 동일하다면, 두 번째 암호는 부분적으로든 전체적으로든 첫 번째 암호의 실행을 취소할 수 있다. 이것은 암호 해독 과정이 암호화 과정과 정확히 동일한 암호의 경우, 두 번째 암호는 첫 번째 암호의 완전한 실행을 취소한다. 만약 공격자가 첫 번째 암호화 계층의 암호화를 통해 키를 복구한다면, 공격자는 모든 계층에 동일한 키가 사용된다고 가정했을 때 나머지 모든 계층의 암호를 해독할 수 있다.
그러한 위험을 방지하기 위해 각 레이어에 대해 통계적으로 독립적인 키(예: 독립 RNG)를 사용할 수 있다.
이상적으로 각 키에는 서로 다른 세대, 공유 및 관리 프로세스가 있어야 한다.
독립 초기화 벡터
초기화 벡터(IV)/비공개(noce) 공유가 필요한 인가/암호화 프로세스의 경우 이러한 프로세스는 일반적으로 수신자(및 다른 모든 사람)에게 공개적으로 공유되거나 알려진다. 그것의 좋은 보안 정책은 동일한 키와 IV를 사용할 때 결코 동일한 데이터를 일반 텍스트와 암호 텍스트로 제공하지 않는다. 따라서 각 암호화 계층에 대해 별도의 IV를 사용할 것을 권고한다(특정 증거가 없는 이 순간에도).
첫 번째 층의 중요성
일회용 패드를 제외하면 이론적으로 어떤 암호도 깨지지 않는 것으로 증명되지 않았다. 또한, 일부 반복적인 특성은 첫 번째 암호에 의해 생성된 암호문에서 발견될 수 있다. 그러한 암호문은 두 번째 암호에 의해 사용되는 일반 텍스트이므로, 두 번째 암호는 알려진 일반 텍스트 속성에 기초한 공격에 취약하게 렌더링될 수 있다(아래 참조 참조 참조).
첫 번째 레이어가 모든 암호문(일반적으로 마술 번호로 알려진)의 시작(또는 끝)에 항상 같은 문자열 S의 문자를 추가하는 프로그램 P인 경우다. 파일에서 발견되는 문자열 S는 운영체제가 파일의 암호를 해독하기 위해 프로그램 P가 실행되어야 한다는 것을 알 수 있게 한다. 이 문자열은 두 번째 레이어를 추가하기 전에 제거해야 한다.
이런 종류의 공격을 막기 위해 브루스 슈나이어가 제공한 방법을 사용하면 된다.[2]
- 일반 텍스트와 동일한 크기의 임의 패드 R을 생성하십시오.
- 첫 번째 암호와 키를 사용하여 R을 암호화한다.
- 패드로 일반 텍스트를 XOR한 다음 두 번째 암호와 다른 (!) 키를 사용하여 결과를 암호화하십시오.
- 최종 암호문을 작성하려면 두 암호문을 연결하십시오.
암호 분석가는 정보를 얻기 위해 두 암호를 모두 해독해야 한다. 그러나 이것은 암호문을 원래의 일반 텍스트보다 두 배나 길게 만드는 단점이 있다.
그러나 약한 첫 번째 암호는 선택된 일반 텍스트 공격에 취약한 두 번째 암호만 만들 수 있다는 점에 유의하십시오. 그러나 블록 암호는 보안으로 간주되기 위해 선택된 일반 텍스트 공격에 취약해서는 안 된다. 따라서 위에서 설명한 두 번째 암호도 그 정의에 따라 안전하지 않다. 결과적으로, 두 개의 암호는 여전히 깨져야 한다. 이 공격은 심지어 부분적으로 파손된 보안 블록 암호와 암호에 대해 강력한 가정을 하는 이유를 보여준다.
2의 법칙
2의 규칙은 NSA의 기밀 프로그램 상용 솔루션(CSFC)의 데이터 보안 원칙이다.[3] 데이터를 보호하기 위해 완전히 독립된 두 개의 암호화 계층을 지정한다. 예를 들어 데이터는 가장 낮은 수준의 하드웨어 암호화와 애플리케이션 계층의 소프트웨어 암호화에 의해 보호될 수 있다. 이는 서로 다른 벤더의 FIPS 인증 소프트웨어 암호 해독기 2개를 사용하여 데이터를 암호화/해제하는 것을 의미할 수 있다.
제조업체 또는 모델이 취약성을 공유할 가능성을 제거하기 위해 구성요소 계층 간의 공급업체 및/또는 모델 다양성의 중요성이 중심이 된다. 이러한 방식으로 한 가지 구성요소가 손상되면, 정지해 있거나 전송 중인 정보를 보호하는 전체 암호화 계층이 존재한다. CSfC 프로그램은 두 가지 방법으로 다양성을 달성할 수 있는 해결책을 제공한다. "첫 번째는 각 제조사가 생산하는 부품을 사용하여 각 레이어를 구현하는 것이다. 두 번째는 동일한 제조업체의 구성요소를 사용하는 것인데, 이 제조자는 두 구성요소의 구현이 서로 독립적이라는 충분한 증거를 NSA에 제공했다."[4]
이 원칙은 NSA의 보안 휴대전화인 피시볼에서 실행된다.[5] 이 전화기는 음성 통신을 보호하기 위해 IPsec과 SRTP(Secure Real-Time Transport Protocol)라는 두 계층의 암호화 프로토콜을 사용한다. 삼성 갤럭시S9 전술판도 CSfC 부품으로 승인됐다.
예
이 그림은 소프트웨어 애플리케이션 골드버그 메신저에서 사용하는 에코 프로토콜의 맥락에서 암호화된 캡슐이 어떻게 형성되는지를 내부에서 외부로 보여준다.[6] 골드버그는 진정성과 기밀성을 위해 하이브리드 시스템을 구현했다.[5]
암호화의 첫 번째 계층: 원래 읽을 수 있는 메시지의 암호문이 해시되며, 이후 비대칭 키(예: 알고리즘 RSA 배포)를 통해 대칭 키가 암호화된다. 중간 단계에서는 암호문, 암호문 해시 다이제스트를 캡슐로 결합하여 함께 포장한다. 그것은 접근방식을 따른다: 암호화-그 다음-MAC. 수신자가 암호문이 변조되지 않았음을 확인하기 위해 암호문이 해독되기 전에 다이제스트를 계산한다.
두 번째 암호화 계층: 선택적으로 첫 번째 계층의 캡슐에 AES-256을 추가하여 암호화하는 것은 여전히 가능하다. 이는 일반적으로 공유되는 32자 길이의 대칭 암호와 유사하다. 그런 다음 하이브리드 암호화가 여러 암호화로 추가된다.
암호화의 세 번째 계층: 그 후, 이 캡슐은 통신 파트너에게 보안 SSL/TLS 연결을 통해 전송된다.
참조
- ^ Green, Matthew (February 2, 2012). "Multiple Encryption".
- ^ Schneier, Bruce (30 March 2015). Applied Cryptography, Second Edition: Protocols, Algorithms, and Source Code in C. Wiley Computer Publishing. p. 368. ISBN 9781119096726.
- ^ "Commercial Solutions for Classified Program". US National Security Agency. Archived from the original on 25 December 2015. Retrieved 24 December 2015.
- ^ "Mobile Access Capability Package". US National Security Agency. Retrieved 28 February 2020.
- ^ a b 아담스, 데이비드 / 마이어, 앤 카트린(2016년): 앞에서 SEVEN 연구, 오픈 소스 crypto-messengers 비교할 것-또는:종합 기밀성 검토 및;감사 GoldBug의, 암호화 E-Mail-Client&인스턴트 메신저, 설명, 시험과 GoldBug 필수적인 들판과 시내 8개 주요 internati의 평가의 방법론에 근거한 응용 프로그램의 20여가지 기능의 분석 검토를 고정한다.에onal그림 38개와 표 87개를 포함한 IT 보안 조사용 dit 매뉴얼, URL: https://sf.net/projects/goldbug/files/bigseven-crypto-audit.pdf - 영어/독일어, 버전 1.1, 305페이지, 2016년 6월(ISBN: DNB 110368003X - 2016B14779)
- ^ "GoldBug - Secure E-Mail-Client & Instant Messenger".
추가 읽기
- "리터의 암호 용어집 및 기술 암호 사전"의 "다중 암호화"
- 다중 암호화를 통한 기밀성: Adams, David / Maier, Ann-Kathrin(2016): 앞에서 SEVEN 연구, 오픈 소스 crypto-messengers 비교할 것-또는:종합 기밀성 검토 및;감사 GoldBug의, 암호화 E-Mail-Client&인스턴트 메신저, 설명, 시험과 GoldBug 필수적인 들판과 시내 8개 주요 internati의 평가의 방법론에 근거한 응용 프로그램의 20여가지 기능의 분석 검토를 고정한다.에onal38개의 수치와 87개의 표를 포함한 IT 보안 조사에 대한 dit 매뉴얼, URL: https://sf.net/projects/goldbug/files/bigseven-crypto-audit.pdf - 영어/독일어, 버전 1.1, 305페이지, 2016년 6월(ISBN: DNB 110368003X - 2016B14779)
- Bruce Schneier가 C의 응용암호화법 제15.8조, 제2판: 프로토콜, 알고리즘 및 소스 코드의 "다중 블록 알고리즘을 결합하는 방법"을 의미한다. Wiley Computer Publishing, John Wiley & Sons, Inc.
- S. 이븐과 O. Goldreich, Cascade 암호의 힘으로, 컴퓨터 시스템에 대한 ACM Transactions on Computer Systems, vol. 3, 페이지 108–116, 1985.
- M. Maureer와 J. L. Massey, Cascade 암호: 첫 번째 존재의 중요성, 제6권, 제1권, 페이지 55–61, 1993.