강력한 암호화

Strong cryptography

강력한 암호화 또는 암호 강도는 암호 분석에 대한 내성이 높은 것으로 간주되는 암호 시스템 또는 구성 요소에 적용되는 일반적인 용어입니다.

암호 스킴의 공격에 대한 저항성을 입증하는 것은 복잡한 문제이며, 광범위한 테스트와 리뷰가 필요하며, 가급적 공개 포럼에서 실시해야 합니다.좋은 알고리즘과 프로토콜이 필요하며, 좋은 시스템 설계와 구현도 필요합니다.예를 들어 암호화 소프트웨어를 실행하는 운영체제는 가능한 한 신중하게 보호해야 합니다.사용자가 비밀번호를 불안정하게 다루거나 '서비스' 직원을 지나치게 신뢰하거나 단순히 소프트웨어를 잘못 사용할 수 있습니다.('사회공학' 참조).따라서 "강함"은 부정확한 용어이며 특정 상황에서는 적용되지 않을 수 있습니다.

배경

컴퓨터의 사용은 암호 해독 과정을 변화시켰는데, 블레츨리 파크의 골로스와 함께 유명했다.하지만 디지털 컴퓨터와 전자제품의 개발이 암호 해독에 도움을 준 것처럼, 그것은 또한 훨씬 더 복잡한 암호를 가능하게 했다.일반적으로 고품질 암호를 사용하는 것은 매우 효율적인 반면, 암호를 해독하려면 훨씬 더 많은 노력이 필요합니다. 따라서 암호 해독이 비효율적이고 실용적이지 않아 사실상 불가능합니다.

1970년대에 Data Encryption Standard, Diffie-Hellman RSA 알고리즘이 발표된 이후 암호학은 추상 수학과 깊은 관련이 있으며 통신, 컴퓨터 네트워크 및 컴퓨터 보안 분야에서 일반적으로 널리 사용되는 도구가 되었습니다.

암호학적으로 강력한 알고리즘

이 '암호화적으로 강력함'이라는 용어는 암호화 알고리즘을 설명하기 위해 자주 사용되며, 이는 다른 알고리즘(암호화적으로 약함)과 비교하여 공격에 대한 내성이 크다는 것을 의미합니다.그러나 해시 및 고유 식별자 및 파일 이름 생성 알고리즘을 설명하는 데도 사용할 수 있습니다.Microsoft 의 설명의 예를 참조해 주세요.NET 런타임 라이브러리 함수 경로입니다.Get Random File Name [1]이 용법에서 이 용어는 "추측하기 어렵다"를 의미합니다.

암호화 알고리즘은 깨지지 않는 것(이 경우 가능한 한 강력함)을 의도하고 있지만 깨지기 쉬운 것(이 경우 가능한 한 약함)을 의도하고 있기 때문에 원칙적으로 알고리즘A가 알고리즘C보다 강하다고 생각되는 알고리즘B보다 강하다고 생각되는 강도는 없습니다.n. 상황은 더 복잡해지고 단일 강도 메트릭으로 분류될 가능성이 낮아집니다.이는 여러 유형의 암호 해독 공격이 존재하며, 어떤 알고리즘이든 공격자가 다른 공격보다 더 많은 작업을 수행하여 이를 파괴할 수 있기 때문입니다.

원타임 패드를 손상시키지 않고 교환하는 것은 어렵기 때문에 일반적으로 사용할 수 없는 것으로 알려진 깨지지 않는 암호화 시스템은 1회용 패드뿐입니다.따라서 어떤 암호화 알고리즘도 완벽한 알고리즘인 원타임 패드와 비교할 수 있습니다.

이 용어가 (느슨하게) 사용되는 일반적인 의미는 특정 공격, 즉 브루트 포스 키 검색(특히 이 필드에 처음 온 사람에 대한 설명)에 대한 것입니다.실제로 이 공격(항상 키가 랜덤으로 선택되었다고 가정)에서는 사용되는 키의 길이에 따라 저항의 연속이 존재합니다.단, 중요한 문제가 2개 있습니다.많은 알고리즘은 다른 시간에 다른 길이의 키를 사용할 수 있으며, 어떤 알고리즘도 가능한 한 전체 키의 사용을 포기할 수 있습니다.따라서 Blowfish와 RC5블록 암호 알고리즘으로 설계상 여러 개의 길이가 허용되므로 브루트 포스 키 검색에 대해 특별한 강도가 있다고 할 수 없습니다.게다가 미국의 수출 규제는 수출 가능한 암호화 제품의 키 길이를 제한하고 있으며, 1980년대와 1990년대(예를 들어 Lotus Notes의 수출 승인에서 유명한 경우)에는 부분 키만 사용되었기 때문에 이러한 (수출) 버전의 무차별 공격에 대한 '강도'가 저하되었습니다.미국 밖에서도 거의 같은 일이 벌어졌습니다. 예를 들어 GSM 휴대 전화 표준의 암호화 알고리즘 중 하나 이상의 경우에 그러합니다.

이 용어는 일반적으로 일부 알고리즘이 암호화 또는 정보 보안의 일부 작업에 적합하지만 암호 해독에 저항하며 보안 취약점이 없거나 적음을 나타내기 위해 사용됩니다.작업은 다음과 같이 다양합니다.

암호학적으로 강력하다는 것은 기술된 방법이 어떤 종류의 성숙도를 가지고 있다는 것을 의미하며, 이론 및/또는 실무상 다른 종류의 조직적인 공격에 대해서도 사용이 승인될 수 있습니다.실제로 이 방법은 이러한 공격에 오랫동안 저항할 수 있기 때문에 운반되는 정보(및 정보의 배후에 있는 것)를 보호할 수 있습니다.그러나 이 분야의 복잡성과 미묘함 때문에, 거의 그렇지 않습니다.이러한 보장은 실제로 실제로 이용할 수 없기 때문에, 일반적으로 오해의 소지가 있음을 암시하는 언어의 교묘한 솜씨는 오해의 소지가 있습니다.

알고리즘에 대한 공격 방법을 성공적으로 사용하기 위해 필요한 노력을 줄일 수 있기 때문에(예: 암호 분석 이론 또는 단순히 저렴한 컴퓨터 용량) 발전에는 항상 불확실성이 존재한다.

또한 암호 알고리즘을 실제로 사용하려면 암호 시스템에 캡슐화해야 하며, 이를 통해 알고리즘의 장애에 기인하지 않는 취약성이 발생하는 경우가 많습니다.예를 들어, 기본적으로 모든 알고리즘은 임의의 키를 선택해야 하며, 이러한 키를 제공하지 않는 암호 시스템은 사용되는 암호화 알고리즘의 공격에 강한 품질에 관계없이 공격을 받게 됩니다.

법적 문제

강력한 암호를 사용하는 것이 정보 기관의 업무를 더욱 어렵게 만들기 때문에, 많은 나라들은 강력한 암호의 비공식 사용을 제한하거나 단순히 금지하는 법률이나 규정을 제정했다.예를 들어, 미국제2차 세계대전 이후 암호 제품을 군수품으로 정의하고 일정 '강도'(일부는 키 [citation needed]크기로 측정) 이상의 암호 제품의 수출을 금지했다.그러나, 미국의 제한은 1990년대에 안전한 전자 상거래와 웹 접속 공용 소프트웨어 애플리케이션의 필요성이 높아지면서 완화되었다.클린턴 행정부는 2000년 강력한 암호문자가 포함된 제품의 수출을 허용하는 새로운 규칙을 발표했지만,[2] 일정한 제한을 받았다.90년대 러시아 대통령과 정부는 공식적으로 인증되지 않은 암호 시스템을 정부 기관에서 사용하는 것을 금지하는 몇 가지 법령을 발표했다.1995년 대통령령도 적절한 면허 없이 개인이 암호 시스템을 생산하고 판매하는 것을 금지하려 했지만 1993년 러시아 헌법에 위배되는 것으로 의심돼 법 자체가 [3][4][5][note 1]아니었기 때문에 어떤 식으로도 시행되지 않았다.2012년 발표된 제313호 법령은 일부 [6][7]제한사항을 명시하고 있음에도 불구하고 임베디드 암호시스템으로 제품을 생산 및 유통할 수 있도록 하고 라이선스를 요구하지 않는 기존 법령들을 추가로 개정하였다.프랑스는 이 분야에서 상당히 엄격한 규제를 하고 있었지만, 최근 몇 [citation needed]년간 규제를 완화해 왔다.

강한.

  • PGP는 일반적으로 가장 일반적인 운영체제시스템과 다양한 하드웨어 플랫폼에서 실행되는 버전을 가진 강력한 암호화의 한 예로 간주됩니다.PGP 동작의 오픈소스 표준은 OpenPGP이며 GnuPGFSF에서 구현된 표준입니다.단, 기존 PGP의 IDEA 시그니처 키는 64비트밖에 되지 않기 때문에 충돌 공격의 영향을 받지 않습니다.따라서 OpenPGP는 SHA-2 해시함수와 AES 암호화를 사용합니다.
  • AES 알고리즘은 공개되어 많은 테스트를 수반하는 긴 선택 프로세스에서 선택된 후 강력한 것으로 간주됩니다.
  • 타원곡선암호법은 그래픽 기하함수에 기초한 또 다른 시스템이다.
  • 인터넷 트랜잭션의 보안 보호에 사용되는 TLS 프로토콜의 최신 버전(버전 1.3)은 일반적으로 강력한 것으로 간주됩니다.이전 버전에는 POODLE 등의 입증된 공격을 포함하여 몇 가지 취약성이 있습니다.게다가 일부 암호수트는 40비트의 유효 키를 사용하여 1996년 이전의 미국 규정에 따라 수출을 허용하기 위해 의도적으로 약화되고 있습니다.

약한

암호학적으로 강력하다고 생각되지 않는 예는 다음과 같습니다.

  • DES: 56비트 키를 사용하여 철저한 검색을 통한 공격을 허용합니다.
  • Triple-DES(3DES/EDE3-DES). "DES" 참조 - 이 경우에도 "sweet32" 또는 "birthday oracle"이라고 불리는 알려진 현상이 발생합니다.
  • Wired Equivalent Privacy 설계상의 결함으로 인해 다수의 공격을 받을 수 있습니다.
  • SSL v2 및 v3TLS 1.0 및 TLS 1.1도 현재 권장되지 않습니다(RFC7525 참조).이는 설계상으로는 아직 존재할 수 없는 결함으로 암호에 Elliptical Handshake(EC; 타원형 핸드쉐이크)를 제공하지 않으며 최신 암호법이나 CCM/GCM 암호모드가 없기 때문입니다.또한 TLS1.x는 PCIDSS 3.2에 의해 웹 프런트엔드의 상업용 비즈니스/뱅킹 구현용으로 발표됩니다.TLS 1.2 및 TLS 1.3만 허용되며, 최신 암호, 핸드쉐이크 및 암호 모드를 단독으로 사용해야 합니다.
  • MD5SHA-1 해시 함수는 충돌 공격의 영향을 받지 않게 되었습니다.
  • RC4 스트림 암호
  • 핵심 에스크로 조항을 포함한 미 정부의 실패한 이니셔티브인 클리퍼 칩은 정부가 키에 접근할 수 있도록 했다.
  • 대부분의 DVD 비디오 디스크를 암호화하는 데 사용되는 40비트 콘텐츠 스크램블 시스템.
  • 거의 모든 고전 암호들이요
  • 대부분의 회전 암호, 예를 들어 에니그마 기계.
  • 일부 결함이 있는 RSA 구현이[which?] 존재하여 취약하고 편향된 키 및 기타 취약성("Bleichenbacher Oracle", "ROBOT")이 발생합니다.
  • RSA 키는 2048비트보다 약합니다.
  • DH 키는 2048비트보다 약합니다.
  • ECDHE 키는 192비트보다 약합니다.또, 이것에 대해 아직 사용되고 있는 기존의 이름 있는 곡선이 모두 「안전」하게 조사되는 것은 아닙니다.
  • 서버에서 알려진 기본 프라임 값을 사용하거나 재사용할 때 DHE/EDHE가 추측 가능/약함
  • 동작의 CBC 블록암호 모드는 TLS에 대해 약한 것으로 간주됩니다(현재는 CCM/GCM 모드가 권장됩니다).

메모들

  1. ^ 여기에 제공된 출처는 러시아어입니다.영어로 작성된 문서의 부족 문제를 완화하기 위해 공식 정부 문서를 사용하여 출처를 인용한다.

레퍼런스

  1. ^ Path.GetRandomFileName Method (System.IO), Microsoft
  2. ^ ""Reducing US Crypto Export Rules"". wired.com. Retrieved 2021-08-05.
  3. ^ Farber, Dave (1995-04-06). "A ban on cryptography in Russia (fwd) [Next .. djf]". Retrieved 2011-02-14.
  4. ^ Antipov, Alexander (1970-01-01). "Пресловутый указ №334 о запрете криптографии". www.securitylab.ru (in Russian). Retrieved 2020-09-21.
  5. ^ "Указ Президента Российской Федерации от 03.04.1995 г. № 334". Президент России (in Russian). Retrieved 2020-09-21.
  6. ^ "Положение о лицензировании деятельности по разработке, производству, распространению шифровальных средств и систем". Российская газета (in Russian). Retrieved 2020-09-21.
  7. ^ "Миф №49 "В России запрещено использовать несертифицированные средства шифрования"". bankir.ru (in Russian). Retrieved 2020-09-21.

「 」를 참조해 주세요.