IT 기초/Security

[Security] [보안 매커니즘] 암호화(Cryptography)

데이터 세상 2022. 5. 2. 17:41

암호화(Cryptography)

암호화: 암호화키와 암호 알고리즘을 사용하여, 평문(Plaintext)을 암호문(Ciphertext)으로 바꾸는 과정

  • 암호화된 메시지는 이해할 수 없음 -> 기밀성이 유지

복호화: 복호화키와 복호화 알고리즘을 사용하여, 암호문(Ciphertext)을 평문(Plaintext)으로 바꾸는 과정

 

안전한 암호화 알고리즘

키를 모르면 암호문으로부터 평문을 계산하기 어려워야 함

안전한 암호화 알고리즘의 종류, 운영모드, 키 길이 선택

 

암호화키 길이에 보안 강도는 비례

보안강도: 암호 알고리즘/암호키의 취약성을 찾아내는데 소요되는 작업량을 수치화한 것

  • 112비트의 보안강도? 2112번의 계산을 해야 암호알고리즘/암호키의 취약성을 알아낼 수 있음

암호화키 길이가 길수록 무차별 대입 공격으로 키를 알아내기 어려워져 보안 강도를 높일 수 있음

 

 

암호화 방식

암호화 방식

 

양방향 암호화

암호화된 암호문을 복호화 할 수 있는 알고리즘

 

대칭키 암호화

비밀키 사용 ( 암호화키와 복호화 키 동일)

비대칭키 암호화 방식 보다 속도가 빠름

키 생성 및 교환에 어려움이 있음(키분배문제)

  • 공개키 암호화 기능을 통해 해결

※ 공개키 암호화

비밀키로 암호화한 메시지(A) + 비밀키를 공개키로 암호화한 암호문(B)”을 전송, 수신자는 자신에게 있는 개인키로 B를 복호화 하여 비밀키를 얻고, 해당 비밀키로 A를 복호화함

 

비대칭키 암호화

공개키 + 개인키 사용 (암호화키와 복호화키가 다름)

대칭키 방식보다 속도가 느림

공개키 암호화, 전자서명에서 활용

  • 공개키 암호화 : 공개키로 암호화, 개인키로 복호화
  • 전자서명 : 개인키로 암호화, 공개키로 복호화

 

단방향 암호화

암호화된 암호문을 복호화 할 수 없는 알고리즘

 

해쉬 함수 (Hash Function)

임의의 데이터를 고정된 길이의 데이터로 바꿔주는 함수

동일한 값이 입력되면 언제나 동일한 출력값을 보장

복호화 되지 않는 특성 : 패스워드 암호화 저장에 활용

입력 데이터가 바뀌면 결과값이 바뀌는 특성 : 무결성 검증에 활용

  • MAC(Message Authentication Code), 전자서명(Digital signitures)

보안성을 높이기 위해 salting, key strentching 과 같은 방법을 추가로 사용

 

※ 해쉬함수의 특성

주어진 출력에 대하여 입력값을 구하는 것이 계산상 불가능하다 (역상 저항성)

주어진 입력에 대하여 같은 출력을 내는 또다른 입력을 찾아내는 것이 계산상 불가능하다(제2 역상 저항성)

같은 출력을 내는 임의의 서로 다른 두 입력 메시지를 찾는 것이 계산상 불가능 하다(충돌저항성)

 

 

반응형