암호화 키 생성은 강력한 매개 변수를 기반으로 해야 합니다.

 

암호화 키(또는 키 쌍)를 생성할 때는 강력한 매개변수를 사용하는 것이 중요합니다. 예를 들어 키 길이는 무차별 암호 대입 공격에 대해 충분한 엔트로피를 제공해야 합니다.

  • RSA 및 DSA 알고리즘의 경우 키 크기는 2048비트 이상이어야 합니다.
  • ECC(타원 곡선 암호화) 알고리즘의 경우 키 크기는 224비트 이상이어야 합니다.
  • RSA 공개 키의 경우 공개 키 지수는 65537 이상이어야 합니다.

이 규칙은 약한 매개변수를 사용하여 RSA, DSA 또는 ECC 키 쌍 생성기를 초기화할 때 문제가 발생합니다.

다음 라이브러리를 지원합니다:

규칙을 어긴 코드

from cryptography.hazmat.primitives.asymmetric import rsa, ec, dsa

dsa.generate_private_key(key_size=1024, backend=backend) # 규칙을 어긴 코드
rsa.generate_private_key(public_exponent=999, key_size=2048, backend=backend) # 규칙을 어긴 코드
ec.generate_private_key(curve=ec.SECT163R2, backend=backend)  # 규칙을 어긴 코드

규칙을 준수한 해결책

from cryptography.hazmat.primitives.asymmetric import rsa, ec, dsa

dsa.generate_private_key(key_size=2048, backend=backend) # 규칙을 준수한 코드
rsa.generate_private_key(public_exponent=65537, key_size=2048, backend=backend) # 규칙을 준수한 코드
ec.generate_private_key(curve=ec.SECT409R1, backend=backend) # 규칙을 준수한 코드

같이보면 좋은 자료드

If you like SONARKUBE, don’t forget to give me a star. :star2:

원문으로 바로가기

Star This Project