ISMS-P

여러 가지 알고리즘 중 현재 취약한 알고리즘은 어떤 것이 있을지 알아보겠습니다.

forward error correction Circle 2024. 2. 17. 08:35
반응형

 여러 가지 알고리즘 중 현재 취약한 알고리즘에 대해 알아보도록 하겠습니다. 처음에는 안전한 알고리즘으로 사용되었지만, 컴퓨터(CPU, GPU, Memory 등) 의 성능이 좋아지면서 키 길이가 짧은 MD5, SHA-1 같은 알고리즘에서 서로 다른 입력에 대해 동일한 해시 값이 발생하는 이슈가 발생하면서 현재는 간단하게 파일 무결성 검증(MD5 해쉬 값 비교)에는 사용 할 수 있지만, 비밀번호 암호화 등에 사용하기엔 부적절한 취약한 알고리즘 어떤 것이 있는지 알아보도록 하겠습니다.

 

Ⅰ. MD5 (Message Digest Algorithm)

MD5는 메시지 다이제스트 알고리즘(Message Digest Algorithm)의 하나로서, 입력된 메시지나 데이터의 해시 값을 생성하는데 사용됩니다. MD5는 메시지나 데이터의 고유한 '지문'을 생성하여 데이터의 무결성을 확인하거나 비교하는 데 사용될 수 있습니다. 

 

Ⅱ. MD5 (취약한 알고리즘 ⅰ)

 현재 보안적으로 취약한 알고리즘이라고 여겨지며, 안전한 암호화나 데이터 무결성 보호에 사용해서는 안 됩니다. 컴퓨터 성능이 좋아지면서 파일에 대한  MD5 값이 충돌이 하는 현상이 발생한 일이 있었습니다.  MD5의 취약한 이유는 다음과 같습니다.
ⅰ) 충돌 가능성(Collision Vulnerabilities)

 MD5는 충돌이 발생할 가능성이 있는 알고리즘입니다. 즉, 서로 다른 입력에 대해 동일한 해시 값을 생성할 수 있습니다. 이는 보안적으로 매우 위험합니다.
ⅱ) 속도가 빠름

 MD5는 빠른 해싱 알고리즘이지만, 이러한 속도는 공격자가 해시된 값을 대량으로 생성하고 비교할 때 약점으로 작용할 수 있습니다.
ⅲ) 고도의 계산 능력 필요 없음

 MD5의 해시 함수는 현재 컴퓨터의 계산 능력으로도 비교적 쉽게 해독될 수 있습니다. 이로 인해 MD5를 사용한 암호화된 데이터는 비교적 쉽게 해독될 수 있습니다.
ⅳ) 무결성 보호에 부적합: MD5는 현재 데이터 무결성 보호를 위한 용도로는 권장되지 않습니다. 암호 해독의 위험성으로 인해 안전한 애플리케이션에서는 MD5 대신 더 안전한 알고리즘을 사용하는 것이 좋습니다.

Ⅲ. SHA-1 ( 취약한 알고리즘 ⅱ)

 해시 함수의 일종으로, 주로 데이터나 메시지의 무결성을 확인하기 위해 사용되었지만, 컴퓨터의 성능이 좋아지면서 키 값의 길이가 짧은 SHA-1 의 알고리즘은 입력 값에 대한 해시 값이 충돌하는 현상이 발생했었습니다. SHA-1의 취약한 이유는 다음과 같습니다.
ⅰ) 충돌 가능성(Collision Vulnerabilities): SHA-1은 충돌 가능성이 있는 알고리즘입니다. 즉, 서로 다른 입력에 대해 동일한 해시 값을 생성할 수 있습니다. 이는 보안적으로 매우 위험합니다.
ⅱ) 속도가 빠름: SHA-1은 상대적으로 빠른 해싱 알고리즘이지만, 이러한 속도는 공격자가 해시된 값을 대량으로 생성하고 비교할 때 약점으로 작용할 수 있습니다.
ⅲ) 계산 능력 필요성: 현재 컴퓨터의 계산 능력으로 SHA-1 해시 값을 비교적 쉽게 해독할 수 있습니다. 이로 인해 SHA-1을 사용한 암호화된 데이터는 비교적 쉽게 해독될 수 있습니다.
ⅳ) 안전하지 않은 용도: SHA-1은 현재 안전한 용도로는 권장되지 않습니다. 암호 해독의 위험성으로 인해 안전한 애플리케이션에서는 SHA-1 대신 더 안전한 알고리즘을 사용하는 것이 좋습니다.

 

Ⅳ. 결론

 MD5, SHA-1 대신 보다 안전하고 강력한 해시 함수 및 암호화 알고리즘을 사용하는 것을 권장하며, SHA-256, SHA-3, SEED, ARIA, scrypt 등을 사용하는 것이 안전합니다.

반응형