정보처리기사/정보 시스템 구축 관리
암호 기술 1
RangA
2023. 6. 2. 20:38
01. 암호 기술
01. 암호 기술
1) 암호의 개념
- 암호(Cipher)의 정의
- 비밀 정보 교환의 수단
- 문서의 내용을 원하지 않는 제 3자가 판독할 수 없도록 글자, 숫자, 부호 등을 변경하는 것
- 암호학(Cryptography)의 정의
- 암호는 누구나 알아볼 수 있는 문서를 해독 불가능한 형태인 암호문으로 변형하거나, 암호화된 문서를 해독 가능한 형태로 변환하기 위한 원리, 수단, 방법 등을 취급하는 기술
- 중요한 정보나 메시지 또는 신호를 지정된 사람 외에는 알아보지 못하도록 표현하는 방법의 개발과 암호화된 정보를 해독하는 방법의 개발을 포함함
- 암호학은 암호화와 암호 분석으로 구분됨
2) 암호 관련 용어
- 평문(Plaintext)
- 송신 측과 수신 측 사이에서 주고 받고자 하는 일반적인 문장으로 누구나 알아볼 수 있는 문장을 말함
- 평문은 암호화의 대상이 되는 문장
- 평문은 한글, 영어, 숫자 등의 일반 언어로 작성된 문장
- 암호문(Ciphertext)
- 송신 측과 수신 측 사이에서 평문의 내용을 허가 받지 않은 제 3자가 이해할 수 없도록 변형한 형태
- 암호화(Encryption)
- 평문을 암호문으로 만드는 과정
- 암호화는 송신 측에서 수행함
- 복호화(Decryption)
- 암호문을 누구나 이해할 수 있는 평문으로 변환하는 과정
- 복호화는 수신 측에서 수행함
- 키(Key)
- 평문을 암호화하거나 복호화하는 과정에서 사용하는 파라미터
- 평문을 암호문으로 만들기 위해 사용하는 값이나 데이터를 암호화 키라고 함
- 암호문을 평문으로 만들기 위해 사용하는 값이나 데이터를 복호화 키라고 함
- 암호화/복호화 알고리즘
- 암호화 과정에서 사용하는 수학적인 기능이나 규칙을 암호화 알고리즘이라고 함
- 복호화 과정에서 사용하는 수학적인 기능이나 규칙을 복호화 알고리즘이라고 함
- 암호 공격 및 공격자
- 암호 공격은 허가 받은 사용자가 아닌 제 3자가 불법적으로 암호문을 평문으로 변경하려는 시도
- 암호 해독은 암호화에 사용된 암호화 키를 찾기 위해 사용자의 관련 정보를 이용하여 평문을 찾는 과정
- 공격자는 송수신 측 사이에서 네트워크 상의 정보를 불법적으로 관찰하는 사람 혹은 공격하는 도청자라 함
- 인증(Authentication)
- 수신 측에서 받은 정보가 원래의 송신 측에서 전달된 것임을 확인하는 과정으로 공격자가 송신 측으로 가장할 수 없도록 하는 과정
- 송신 측에서 제시한 신분이 타당한지 확인하는 것
- 인증은 정보의 기밀성, 무결성, 부인방지를 보장함
- 인가(Authorization)
- 송수신 측을 식별하는 인증을 통하여 어떤 권한을 가지고 있으며, 어떠한 자원에 접근할 수 있는지 지정하는 것
- 사용자의 권한 부여 방법으로 특정 시스템의 사용 권한을 부여하는 것
- 암호화 프로토콜(Encryption Protocol)
- 믿을 수 없는 두 개체 간의 정보를 정확하고 안전하게 전달하기 위한 통신 규약, 규칙 및 절차를 말함
3) 정보가 갖추어야 할 기능
- 기밀성(Secrecy, Confidentiality)
- 권한이 없는 사람이 저장 또는 전송 중인 정보를 불법적으로 취득하더라도 정보의 내용을 알 수 없도록 해야 함
- 암호는 정당한 권한이 부여된 사용자만이 데이터의 내용을 파악할 수 있는 데이터의 기밀성을 보장해줌
- 무결성(Integrity)
- 수신된 정보다 전송 과정에서 변경되지 않았는지 확인할 수 있어야 함
- 암호는 수신된 메시지가 불법적으로 재생된 것인지 또는 전송 과정에서 변조, 재구성되었는지 등을 확인할 수 있는 무결성을 보장함
- 가용성(Availability)
- 적절한 방법으로 권한이 있는 사용자에게 정보를 사용할 수 있도록 해야 함
- 암호는 주어진 기간 동안 주어진 데이터를 사용할 수 있도록 하는 가용성을 보장함
- 부인봉쇄(Non-repudiation)
- 정상적으로 송수신된 정보를 송수신하지 않았다고 부인하지 못하도록 하는 것
- 암호는 메시지를 특정 수신자에게 전송할 때 송신자는 그 메시지의 발송을 나중에 부인할 수가 없고 또한 송신자에 의해서 발송되지 않은 메시지를 받았다고 수신자가 주장할 수 없도록 하는 부인봉쇄를 보장함
02. 암호 시스템의 분류
1) 고대 암호, 기계 암호, 현대 암호
- 고대 암호
- 1차 세계대전 이전에 사용된 암호
- 전치, 치환, 대입(대치)의 원리를 이용하여 직접 계산하거나 암호화 표를 이용하는 암호 방식
- 종류에는 Scytale, Caesar 등이 있음
- 기계 암호
- 1차 세계대전 말부터 2차 세계대전까지 사용된 암호
- 기계 장치를 이용하는 암호 방식
- 종류에는 Enigma, Hegelin 등이 있음
- 근대 암호
- 2차 세계대전 이후에 사용된 암호
- 컴퓨터를 이용한 암호 방식
- 종류에는 Vigenere, Shannon, Polybius 등이 있음
- 현대 암호
- 현재 사용하고 있는 암호
- 복잡한 계산량을 요구하는 컴퓨터를 이용한 방식
- 종류에는 DES, AES, RSA 등이 있음
2) 에러 전달 암호화 비 에러 전달 암호
- 에러 전달 암호(Error Propagation Cipher)
- 암호화 과정에서 발생한 에러가 다음 암호화 과정에 영향을 주는 암호
- 비 에러 전달 암호
- 암호화 과정에서 발생한 에러가 다음 암호화 과정에 영향을 주지 않는 암호
3) 블록 암호화 스트림 암호
- 블록 암호(Block Cipher)
- 평문을 여러 개의 비트 단위로 암호화하는 방식
- 평문을 일정한 크기의 블록으로 나누어 암호화하는 방식
- 스트림 암호(Stream Cipher)
- 평문을 하나의 비트 단위로 암호화하는 방식
- 평문을 1비트씩 혹은 바이트씩 암호화하는 방식
4) 대칭 암호화 비대칭 암호
- 대칭 암호(Symmetric Cipher)
- 암호화 키와 복호화 키가 같은 암호 방식
- 비대칭 암호(Asymmentric Cipher)
- 암호화 키와 복호화 키가 다른 암호 방식
5) 전치 암호, 치환 암호, 대입 암호
- 전치 암호(Transposition Cipher) - 확산 개념
- 평문에 나타난 문자들의 나열 순서를 바꾸는 방법
- 평문에서 사용하는 문자 집합과 암호문에서 사용하는 문자 집합이 동일함
- 문자 집합 내에서 자리를 바꾸는 규칙
- 평문에서 사용된 문자와 암호문에서 사용한 문자가 일대일 대응
- 치환 암호(Permutation Cipher) - 혼돈 개념
- 평문에 나타난 문자들을 다른 문자로 바꾸는 방법
- 평문에 사용하는 문자 집합과 암호문에서 사용하는 문자 집합이 다를 수 있음
- 평문에서 사용된 문자와 암호문에서 사용한 문자가 일대일 대응이 아니어도 됨
- 모든 전치 암호는 치환 암호에 포함됨
- 대입 암호(Substitution Cipher, 대치 암호)
- 평문에 나타난 문자들을 다른 문자 또는 기호로 대치하는 방법으로 주로 함수를 이용함
6) 대입(대치) 암호의 종류
- 아핀 암호(Affine Cipher)
- 암호화 함수를 f(x) = ax + b (mod 26) (a ≠ 0)로 사용하는 암호 방식
- 카이사르 암호(Caesar Cipher, 쉬프트 암호)
- 암호화 함수를 f(x) = ax + b (mod 26) (a = 1)로 사용하는 암호 방식
- 선형 암호(Linear Cipher)
- 암호화 함수를 f(x) = ax + b (mod 26) (b = 0)로 사용하는 암호 방식
- 단순 대입(대치) 암호(Simple Substitution Cipher)
- 암호화 함수를 아핀 암호 함수 f(x) = ax + b (mod 26) (a ≠ 0) 으로 사용함
- y = ax + b의 역함수를 구하여 복호화 함수로 사용함
- 복호화 함수는 f-1(x) = a-1(x - b) (mod 26)