it-swarm-korea.com

어떤 암호화 알고리즘이 안전하지 않은 것으로 간주됩니까?

어떤 암호화 알고리즘이 안전한 것으로 간주되지 않지만 여전히 표준 라이브러리에서 널리 사용되고 사용 가능합니까? 해당되는 경우 안전한 대안을 언급하십시오.

25
Olivier Lalonde

이것들이 가장 일반적입니다 :

  • MD5-SHA512 사용
  • SHA1-SHA512를 사용하십시오 (이것은 실제로 안전하지는 않지만 나이를 보여주고 향후 몇 년 동안 더 골치 아픈 사람이 될 것입니다.)
  • DES/3DES-AES 사용
21
AviD

2010 년 말 현재 미국 정부는 NIST의 정통한 사람들의 권고에 따라 이러한 알고리즘을 폐기합니다.

  • SHA-1
  • 1024 비트 RSA 또는 DSA
  • 160 비트 ECDSA (타원 곡선)
  • 80/112 비트 2TDEA (2 개의 주요 3 중 DES)

MD5는 다른 많은 오래된 알고리즘과 함께 정부에서 사용하기에 적합한 알고리즘이 아닙니다.

2030 년까지 보안을 유지하려면 최소 SHA-224, RSA 또는 DSA의 경우 2048 비트, 224 비트 EDCSA 및 AES-128 또는 3 키 3 중 DES를 사용하는 것이 좋습니다.

이것은 몇 년 동안 일해 왔습니다. 이 게시물과 참조하는 NIST 문서를 참조하십시오. http://securitymusings.com/article/1587/algorithm-and-key-length-deprecation

Update : 또 다른 간결하고 유용한 조언은 Colin Percival의 Cryptographic Right Answers 입니다.

15
nealmcb

안전하지 않지만 널리 사용되는 암호화 알고리즘은 다음과 같습니다.

  • 해시 함수 : MD4, MD5, (SHA-1) (MD2는 안전하지 않지만 널리 사용되지는 않음; SHA-1은 "약화 됨"; MD4 및 MD5는 암호화 저항이 필요하지 않은 상황에서도 널리 사용되므로 그렇지 않습니다. 문제)

  • 대칭 암호화 : DES (56 비트 키), RC4 (비 랜덤 성)-RC4의 보안 문제는 알고리즘 자체가 아니라 사용 방식에 있습니다.) Zip 아카이브 형식의 암호 (최신 Zip 유틸리티는 AES를 사용함)

  • 비대칭 암호화 : 키가 너무 짧은 RSA (예 : 768 비트 이하), 부적절한 패딩이있는 RSA (예 : ISO 9796-1), Diffie-Hellman 모듈러스가 너무 작은 소수 (768 비트 이하) (Diffie-Hellman은 실제로는 비대칭 암호화 알고리즘이지만 주요 계약 알고리즘이지만 대부분의 비대칭 암호화 사용법은 실제로 가장 중요한 키 계약입니다.)

  • 디지털 서명 : 키가 너무 짧은 RSA (예 : 768 비트 이하)

  • 자신을 과장되게 만든 사람들의 많은 (너무 많은) 수제 알고리즘; DVD를 암호화하는 CSS 인 주요 사례

안전한 대안 : 해싱 용 SHA-256 (미군과 크기가 동일한 페티쉬를 갖고 있거나 32 비트 시스템에서 성능을 저하시키려는 경우 SHA-512), 대칭 암호화 용 AES. 주요 계약의 경우 표준 NIST 곡선 중 하나 (예 : P-224, K-233 또는 B-233)와 ECDH (타원 곡선 위의 Diffie-Hellman)를 고려하십시오 (P-256은 더 광범위하게 지원됨). 비대칭 암호화의 경우 충분한 키 (단기 보안의 경우 1024 비트, 바람직하게는 1536 또는 2048 비트)와 함께 RSA를 사용하고 PKCS # 1 패딩 (v1.5 "이전 스타일"은 양호하지만 OAEP가 더 좋습니다). 서명의 경우 키가 충분히 크고 PKCS # 1 패딩 (v1.5 또는 PSS)이있는 ECDSA (ECDH와 동일한 곡선) 또는 RSA를 고려하십시오. Never 자신 만의 알고리즘을 설계하지 마십시오. 그렇지 않으면 never 믿지 마십시오. 안전합니다).

그러나 대부분의 보안 문제는 알고리즘을 선택하는 것이 아니라 사용 방식에 있습니다. WEP는 RC4를 사용하지만 RC4는 WEP의 수많은 약점 중 하나가 아닙니다. 소니는 안전한 ECDSA로 PlayStation 3을 보호했지만 무작위 생성기를 손상시켜 치명적인 오류 (개인 키 노출 ...)를 초래했습니다.

12
Thomas Pornin

상황이 중요합니다. 무엇 ? 어떻게 사용되고 있습니까 ?

예를 들면 다음과 같습니다.

  • AES-256은 "안전하다". AES-256 ECB 모드에서 로 블록 구조화 된 데이터 스트림을 암호화하기로 결정할 때까지.
  • AES-256은 "안전하다". CBC 모드에서 여러 키를 암호화하지만 동일한 키 및 동일한 IV 를 사용할 때까지.
  • AES-256은 "안전하다". 구현을 사용할 때까지 타이밍 키 또는 데이터의 비트에 따라 가 다릅니다.
6
yfeldblum

이 질문은 이미 답변되었지만 많은 답변이 없습니다.

  • RC2, RC4
  • MD4 (일부 라이브러리에서는 여전히 사용 가능)

또한 알고리즘의 사용 및 목적에 따라 다릅니다. 침입 DES 어렵지는 않지만 꽤 비쌉니다. 공격자가 누구이며 보안을 해제하기 위해 얼마나 많은 돈과 노력을 소비 할 수 있습니까?

5
Henri

아래 링크를 통해 보안 요구 사항에 적합한 방법과 키 길이를 신속하게 선택할 수 있습니다 (따라서 안전하지 않은 방법은 피함).

"이 웹 사이트는 수학 공식을 구현하고 잘 알려진 조직의 보고서를 요약하여 시스템의 최소 보안 요구 사항을 신속하게 평가할 수 있습니다. 이러한 모든 기술을 쉽게 비교하고 원하는 보호 수준에 적합한 키 길이를 찾을 수 있습니다."

4
Tate Hansen

분명히 집에서 만든 암호화 시스템을 작성하는 프로그래머만큼 많은 깨진 알고리즘이 있지만, 대부분 주어진 소프트웨어 패키지로 제한됩니다. 문서 및 아카이브에 대한 몇 가지 "암호 보호"체계가 예로 떠 오릅니다.

그러나 키 길이가 아닌 알고리즘의 결함으로 인해 정상적인 사용을 위해 "파손 된"것으로 간주되며 여전히 널리 배포되고 수용되는 유일한 범용 암호화 알고리즘 (해시 알고리즘이 아님) .

알려진 결함에도 불구하고 RC4가 고집하는 주된 이유는 처음 몇 개의 K 출력을 버림으로써 취약점을 완화 할 수 있다는 것입니다. 또한 널리 배포되는 유일한 스트림 암호이며 많은 프로그래머는 적절한 블록 체인 모드를 사용하여 블록 암호를 스트림 암호로 바꿀 수 있다는 것을 인식하지 못합니다.

2
tylerl

RC4는 피하는 것이 가장 좋습니다. 잘못 사용하면 WEP 문제의 원인이 되었기 때문에 전문가조차도 제대로 이해하기가 쉽지 않습니다. 올바르게 사용하려면 충분히 큰 키 (최소 128 비트)를 선택하고 키와 IV를 안전한 방식으로 혼합 (예 : 연결과 반대되는 해싱)하고 키 스트림의 초기 부분을 버려 약한 키 공격으로부터 완화하십시오 (256 최소 옥텟).

1
stiabhan

ECB (Electronic Code Book) 모드에서 작동 할 때 Blowfish 또는 AES와 같은 블록 암호를 사용합니다.

0
Bradley Kreider