암호학 기초
5장 1절부터는 네 번째 과목인 정보보안일반을 다룹니다.
5장 1절부터는 네 번째 과목인 정보보안일반을 다룹니다.
정보보안일반은 보안의 기본 원리를 다루는 과목입니다.
그중 가장 중요한 축이 바로 암호학입니다.
암호학은 처음 보면 어렵게 느껴질 수 있지만, 정보보안기사 수준에서는 먼저 아래 구조를 확실히 잡으면 됩니다.
왜 암호를 쓰는가?
무엇을 보호하는가?
어떤 암호 방식이 있는가?
각 방식은 어디에 쓰이는가?이번 절은 세부 알고리즘을 깊게 파기보다, 암호학 전체 지도를 만드는 데 목적이 있습니다.
학습 목표
이번 절가 끝나면 다음 질문에 답할 수 있어야 합니다.
| 질문 | 목표 |
|---|---|
| 암호학의 목적은 무엇인가? | 기밀성, 무결성, 인증, 부인방지를 제공한다고 설명 |
| 기밀성이란 무엇인가? | 허가받은 사람만 정보를 볼 수 있게 하는 것이라고 설명 |
| 무결성이란 무엇인가? | 정보가 위변조되지 않았음을 보장하는 것이라고 설명 |
| 인증이란 무엇인가? | 사용자나 시스템의 신원을 확인하는 것이라고 설명 |
| 부인방지란 무엇인가? | 행위자가 나중에 자신의 행위를 부인하지 못하게 하는 것이라고 설명 |
| 대칭키 암호란 무엇인가? | 암호화와 복호화에 같은 키를 사용하는 방식이라고 설명 |
| 공개키 암호란 무엇인가? | 공개키와 개인키 한 쌍을 사용하는 방식이라고 설명 |
| 해시 함수란 무엇인가? | 임의 길이 데이터를 고정 길이 값으로 변환하는 일방향 함수라고 설명 |
| 전자서명이란 무엇인가? | 개인키로 서명하고 공개키로 검증하여 인증·무결성·부인방지를 제공한다고 설명 |
| 암호화와 해시의 차이는? | 암호화는 복호화 가능, 해시는 원칙적으로 복원 불가라고 설명 |
암호학의 큰 그림
암호학은 정보를 안전하게 보호하기 위한 수학적·기술적 방법입니다.
시험식 정의는 다음입니다.
암호학은 정보를 권한 없는 사람이 이해하거나 변조하지 못하도록 암호화, 해시, 전자서명, 키 관리 등의 기술을 이용하여 기밀성, 무결성, 인증, 부인방지를 제공하는 학문과 기술이다.암호학 = 정보를 숨기고, 바뀌지 않았는지 확인하고, 누가 보냈는지 증명하는 기술암호학은 다음 보안 목표와 연결됩니다.
| 보안 목표 | 의미 | 대표 기술 |
|---|---|---|
| 기밀성 | 허가받은 사람만 내용을 볼 수 있음 | 암호화 |
| 무결성 | 데이터가 위변조되지 않았음 | 해시, MAC, 전자서명 |
| 인증 | 사용자나 시스템의 신원 확인 | 인증서, 전자서명, MAC |
| 부인방지 | 행위자가 나중에 부인하지 못함 | 전자서명 |
CIA와 암호학
정보보안의 기본 3요소는 CIA입니다.
| 요소 | 영어 | 의미 |
|---|---|---|
| 기밀성 | Confidentiality | 허가받은 사람만 정보에 접근 |
| 무결성 | Integrity | 정보가 위변조되지 않음 |
| 가용성 | Availability | 필요할 때 서비스를 사용할 수 있음 |
암호학은 주로 기밀성과 무결성, 그리고 인증·부인방지와 관련됩니다.
| 상황 | 침해 요소 |
|---|---|
| 개인정보가 외부로 유출됨 | 기밀성 침해 |
| 계좌 금액이 조작됨 | 무결성 침해 |
| DDoS로 서비스 접속 불가 | 가용성 침해 |
| 거래 당사자가 “내가 한 거래가 아니다”라고 주장 | 부인방지 필요 |
암호학이 직접 가용성을 보장하는 것은 아닙니다.
가용성은 백업, 이중화, DDoS 방어, 장애 대응 같은 기술과 더 직접적으로 연결됩니다.
암호학에서 자주 나오는 용어
주요 용어는 다음과 같다.
| 용어 | 의미 |
|---|---|
| 평문 | 암호화되기 전의 원래 데이터 |
| 암호문 | 암호화된 데이터 |
| 암호화 | 평문을 암호문으로 변환 |
| 복호화 | 암호문을 평문으로 변환 |
| 키 | 암호화·복호화에 사용하는 비밀값 |
| 알고리즘 | 암호화·복호화 방법 |
| 대칭키 | 암호화와 복호화에 같은 키를 사용 |
| 공개키 | 외부에 공개할 수 있는 키 |
| 개인키 | 본인만 안전하게 보관해야 하는 키 |
| 해시값 | 해시 함수의 결과값 |
| 전자서명 | 개인키로 생성한 서명값 |
| 인증서 | 공개키와 신원 정보를 인증기관이 보증한 문서 |
예를 들어 암호화 흐름은 다음과 같습니다.
평문 + 키 + 암호 알고리즘 → 암호문
암호문 + 키 + 복호 알고리즘 → 평문암호화와 복호화
암호화
암호화는 평문을 알아볼 수 없는 형태인 암호문으로 바꾸는 과정입니다.
암호화는 권한 없는 사용자가 내용을 이해할 수 없도록 평문을 암호문으로 변환하는 과정이다.평문: 정보보안기사 합격
암호문: A8x#91kP...암호화의 주된 목적은 기밀성입니다.
복호화
복호화는 암호문을 다시 평문으로 되돌리는 과정입니다.
복호화는 암호화된 데이터를 올바른 키를 이용해 원래의 평문으로 복원하는 과정이다.암호화는 복호화가 가능하다.
해시는 원칙적으로 복호화가 불가능하다.이 차이는 시험에서 자주 나옵니다.
인코딩, 암호화, 해시의 차이
초보자가 자주 헷갈리는 부분입니다.
| 구분 | 목적 | 되돌릴 수 있는가? | 예시 |
|---|---|---|---|
| 인코딩 | 표현 형식 변환 | 가능 | Base64, URL Encoding |
| 암호화 | 기밀성 보호 | 키가 있으면 가능 | AES, RSA |
| 해시 | 무결성 확인, 비밀번호 저장 | 원칙적으로 불가 | SHA-256 |
인코딩
인코딩은 데이터를 다른 표현 형식으로 바꾸는 것입니다.
보안 목적의 비밀 보호가 아닙니다.
Hello → SGVsbG8=이것은 Base64 인코딩입니다.
누구나 다시 디코딩할 수 있으므로 암호화가 아닙니다.
인코딩은 보안 기능이 아니라 표현 방식 변환이다.암호화
암호화는 키가 있어야 원래 내용을 볼 수 있게 하는 것입니다.
암호화 = 기밀성 보호해시
해시는 데이터를 고정 길이 값으로 변환하는 일방향 함수입니다.
해시 = 무결성 확인, 비밀번호 저장 등에 사용인코딩은 데이터 표현 형식을 바꾸는 것으로 보안 목적의 암호화가 아니며, 암호화는 키를 이용해 평문을 암호문으로 변환하고 복호화가 가능하다. 해시는 임의 길이 데이터를 고정 길이 값으로 변환하는 일방향 함수로, 원칙적으로 원문 복원이 불가능하다.대칭키 암호
대칭키 암호란?
대칭키 암호는 암호화와 복호화에 같은 키를 사용하는 방식입니다.
대칭키 암호는 암호화와 복호화에 동일한 비밀키를 사용하는 암호 방식이다.대칭키 = 같은 키로 잠그고 같은 키로 푼다A와 B가 같은 비밀키를 공유한다.
A가 비밀키로 암호화한다.
B가 같은 비밀키로 복호화한다.대칭키 암호의 특징
| 특징 | 설명 |
|---|---|
| 속도 | 빠름 |
| 용도 | 대량 데이터 암호화에 적합 |
| 키 구조 | 송신자와 수신자가 같은 키 공유 |
| 장점 | 처리 속도가 빠르고 효율적 |
| 단점 | 키를 안전하게 공유하기 어려움 |
| 대표 알고리즘 | AES, SEED, ARIA, DES, 3DES |
대표 알고리즘은 우선 이렇게 기억하면 됩니다.
AES = 대표적인 대칭키 암호DES는 오래된 알고리즘이고, 현대 보안에서는 안전하지 않은 것으로 봅니다.
시험에서는 DES, 3DES, AES의 비교가 나올 수 있지만, 이번 절에서는 기초만 잡습니다.
대칭키 암호의 장점과 단점
장점
빠르다.
대량 데이터 암호화에 적합하다.
구현이 비교적 효율적이다.단점
키를 안전하게 전달해야 한다.
사용자가 많아지면 키 관리가 복잡하다.
키가 유출되면 암호화와 복호화가 모두 위험해진다.대칭키 암호는 암호화와 복호화에 같은 키를 사용하므로 속도가 빠르고 대량 데이터 암호화에 적합하다. 그러나 송신자와 수신자가 동일한 키를 안전하게 공유해야 하므로 키 분배와 키 관리가 어렵다.공개키 암호
공개키 암호란?
공개키 암호는 공개키와 개인키라는 서로 다른 키 한 쌍을 사용하는 방식입니다.
공개키 암호는 공개키와 개인키 한 쌍을 사용하여 암호화, 복호화, 전자서명, 키 교환 등에 활용되는 암호 방식이다.공개키 = 남에게 공개 가능
개인키 = 본인만 보관공개키 암호의 기본 구조
공개키와 개인키는 한 쌍입니다.
| 키 | 설명 |
|---|---|
| 공개키 | 다른 사람에게 공개 가능 |
| 개인키 | 본인만 안전하게 보관 |
| 관계 | 공개키로 암호화한 것은 대응되는 개인키로 복호화 가능 |
| 관계 | 개인키로 서명한 것은 대응되는 공개키로 검증 가능 |
RSA
ECC우선은 이렇게 기억하면 됩니다.
RSA = 대표적인 공개키 암호
ECC = 타원곡선 기반 공개키 암호공개키 암호의 특징
| 특징 | 설명 |
|---|---|
| 키 구조 | 공개키와 개인키 쌍 |
| 장점 | 키 분배 문제 완화 |
| 단점 | 대칭키보다 느림 |
| 용도 | 키 교환, 전자서명, 인증서 |
| 대표 알고리즘 | RSA, ECC |
공개키 암호는 대량 데이터 암호화에는 잘 쓰지 않습니다.
속도가 느리기 때문입니다.
보통은 이렇게 사용합니다.
공개키 암호로 대칭키를 안전하게 교환한다.
실제 데이터는 대칭키로 빠르게 암호화한다.이것을 하이브리드 방식이라고 볼 수 있습니다.
대칭키와 공개키 비교
| 구분 | 대칭키 암호 | 공개키 암호 |
|---|---|---|
| 키 | 같은 비밀키 사용 | 공개키·개인키 쌍 사용 |
| 속도 | 빠름 | 상대적으로 느림 |
| 키 분배 | 어려움 | 상대적으로 쉬움 |
| 용도 | 대량 데이터 암호화 | 키 교환, 전자서명, 인증 |
| 대표 알고리즘 | AES, SEED, ARIA | RSA, ECC |
| 주요 문제 | 키 공유와 관리 | 속도와 개인키 보호 |
대칭키 암호는 암호화와 복호화에 같은 키를 사용하여 속도가 빠르고 대량 데이터 암호화에 적합하지만 키 분배가 어렵다. 공개키 암호는 공개키와 개인키 쌍을 사용하여 키 분배 문제를 완화하고 전자서명과 인증에 활용되지만 대칭키 방식보다 속도가 느리다.해시 함수
해시 함수란?
해시 함수는 임의 길이의 데이터를 고정 길이의 해시값으로 변환하는 일방향 함수입니다.
해시 함수는 임의 길이의 입력 데이터를 고정 길이의 해시값으로 변환하는 일방향 함수로, 데이터 무결성 검증과 비밀번호 저장 등에 사용된다.해시 = 데이터의 지문예를 들어 파일 내용이 조금만 바뀌어도 해시값이 크게 달라집니다.
해시 함수의 특징
| 특징 | 의미 |
|---|---|
| 일방향성 | 해시값으로 원문을 알아내기 어려움 |
| 고정 길이 출력 | 입력 길이와 관계없이 결과 길이가 일정 |
| 충돌 저항성 | 서로 다른 입력이 같은 해시값을 갖기 어려움 |
| 빠른 계산 | 해시값을 빠르게 계산 가능 |
| 눈사태 효과 | 입력이 조금 바뀌면 해시값이 크게 달라짐 |
시험에서 특히 중요한 것은 다음입니다.
일방향성
고정 길이 출력
충돌 저항성
무결성 검증해시의 용도
| 용도 | 설명 |
|---|---|
| 파일 무결성 검증 | 파일이 변조되었는지 확인 |
| 비밀번호 저장 | 원문 대신 해시값 저장 |
| 전자서명 | 메시지 전체 대신 해시값에 서명 |
| 메시지 인증 | MAC, HMAC 등에 활용 |
| 블록체인 등 | 데이터 연결과 검증에 활용 |
비밀번호는 단순 해시만으로는 부족하다.
솔트와 적절한 비밀번호 해시 방식을 적용해야 한다.해시 함수는 임의 길이 데이터를 고정 길이 해시값으로 변환하는 일방향 함수이다. 원본 데이터가 변경되면 해시값도 달라지므로 파일이나 메시지의 무결성 검증에 활용되며, 비밀번호 저장 시에는 솔트를 함께 적용해야 한다.암호화와 해시의 차이
이 차이는 반드시 알아야 합니다.
| 구분 | 암호화 | 해시 |
|---|---|---|
| 목적 | 기밀성 보호 | 무결성 검증, 비밀번호 저장 |
| 복원 가능성 | 키가 있으면 복호화 가능 | 원칙적으로 복원 불가 |
| 입력과 출력 | 평문 → 암호문 | 데이터 → 해시값 |
| 키 사용 | 일반적으로 키 사용 | 일반 해시는 키 없음 |
| 예시 | AES, RSA | SHA-256, SHA-3 |
암호화는 기밀성 보호를 위해 평문을 암호문으로 변환하고 올바른 키로 복호화할 수 있는 방식이다. 반면 해시는 임의 길이 데이터를 고정 길이 해시값으로 변환하는 일방향 함수로, 원칙적으로 원문 복원이 불가능하며 무결성 검증에 사용된다.MAC과 HMAC 기초
이번 절에서는 깊게 들어가지 않고 개념만 잡겠습니다.
MAC이란?
MAC은 Message Authentication Code입니다.
메시지 인증 코드라고 합니다.
MAC은 메시지와 비밀키를 이용해 생성하며, 메시지가 변조되지 않았고 같은 키를 가진 주체가 생성했음을 확인하는 데 사용됩니다.
MAC은 메시지와 비밀키를 이용해 생성되는 값으로, 메시지의 무결성과 송신자 인증을 확인하는 데 사용된다.HMAC이란?
HMAC은 해시 함수와 비밀키를 결합한 MAC 방식입니다.
HMAC은 해시 함수와 비밀키를 이용하여 메시지의 무결성과 인증을 제공하는 메시지 인증 코드 방식이다.MAC은 전자서명과 비슷해 보이지만, 부인방지는 제공하기 어렵습니다.
왜냐하면 같은 비밀키를 공유한 양쪽이 모두 MAC을 생성할 수 있기 때문입니다.
| 구분 | MAC/HMAC | 전자서명 |
|---|---|---|
| 키 | 공유 비밀키 | 개인키·공개키 |
| 제공 | 무결성, 인증 | 무결성, 인증, 부인방지 |
| 부인방지 | 어려움 | 가능 |
| 속도 | 빠름 | 상대적으로 느림 |
전자서명
전자서명이란?
전자서명은 개인키로 서명하고 공개키로 검증하는 기술입니다.
전자서명은 송신자가 자신의 개인키로 메시지 또는 메시지 해시값에 서명하고, 수신자가 송신자의 공개키로 이를 검증하여 인증, 무결성, 부인방지를 제공하는 기술이다.전자서명 = 이 문서를 누가 만들었고, 바뀌지 않았는지 증명하는 기술전자서명의 보안 속성
전자서명은 다음 세 가지를 제공합니다.
| 보안 속성 | 의미 |
|---|---|
| 인증 | 서명자가 누구인지 확인 |
| 무결성 | 서명 후 데이터가 변경되지 않았는지 확인 |
| 부인방지 | 서명자가 나중에 서명 사실을 부인하지 못함 |
시험에서 특히 중요합니다.
전자서명 = 인증 + 무결성 + 부인방지전자서명 과정
전자서명은 보통 메시지 전체에 직접 서명하기보다, 메시지의 해시값에 서명합니다.
흐름은 다음입니다.
1. 송신자가 메시지를 작성한다.
2. 메시지의 해시값을 계산한다.
3. 송신자의 개인키로 해시값에 서명한다.
4. 메시지와 서명값을 수신자에게 보낸다.
5. 수신자는 메시지의 해시값을 다시 계산한다.
6. 송신자의 공개키로 서명값을 검증한다.
7. 두 해시값이 일치하면 무결성과 서명자를 확인할 수 있다.개인키로 서명
공개키로 검증전자서명과 암호화의 차이
많이 헷갈립니다.
| 구분 | 암호화 | 전자서명 |
|---|---|---|
| 목적 | 내용을 숨김 | 서명자와 무결성 증명 |
| 주요 보안 속성 | 기밀성 | 인증, 무결성, 부인방지 |
| 공개키 방식 | 수신자의 공개키로 암호화, 수신자의 개인키로 복호화 | 송신자의 개인키로 서명, 송신자의 공개키로 검증 |
| 질문 | 누가 볼 수 있는가? | 누가 보냈고 바뀌지 않았는가? |
암호화는 기밀성을 제공하기 위해 데이터를 알아볼 수 없게 변환하는 기술이고, 전자서명은 송신자의 개인키로 서명하여 서명자 인증, 데이터 무결성, 부인방지를 제공하는 기술이다.키 관리
암호기술에서 알고리즘만큼 중요한 것이 키 관리입니다.
아무리 강한 알고리즘을 사용해도 키가 유출되면 보안은 무너집니다.
키 관리에서 중요한 항목은 다음입니다.
| 항목 | 설명 |
|---|---|
| 키 생성 | 안전한 난수 기반으로 생성 |
| 키 분배 | 안전한 방식으로 전달 |
| 키 저장 | 접근통제, 암호화, HSM 등 사용 |
| 키 사용 | 용도별 키 분리 |
| 키 교체 | 주기적 변경 또는 유출 시 즉시 교체 |
| 키 폐기 | 사용 종료 키 안전 삭제 |
| 개인키 보호 | 개인키는 절대 외부 노출 금지 |
| 백업 | 복구 가능하되 안전하게 보호 |
암호키는 안전한 난수로 생성하고, 안전하게 분배·저장해야 하며, 용도별로 분리하고 주기적으로 교체해야 한다. 특히 개인키와 대칭키가 유출되면 복호화나 서명 위조가 가능하므로 접근통제와 안전한 보관이 필요하다.키가 유출되면 어떤 문제가 생기는가?
| 유출 대상 | 위험 |
|---|---|
| 대칭키 | 암호문 복호화 가능, 데이터 기밀성 침해 |
| 개인키 | 전자서명 위조, 복호화 가능성, 신원 위조 |
| 세션키 | 해당 세션 통신 내용 노출 가능 |
| API Key | API 무단 호출 가능 |
| 인증서 개인키 | 서버 위장, MITM 가능성 |
| 비밀번호 해시 | 오프라인 추측 공격 가능 |
따라서 암호학에서 키 보호는 핵심입니다.
인증서와 PKI 기초
이번 절에서는 맛보기만 봅니다. 5장 3절에서 더 자세히 다룰 예정입니다.
인증서란?
인증서는 공개키와 신원 정보를 인증기관이 보증한 전자 문서입니다.
인증서는 공개키와 소유자의 신원 정보를 인증기관이 전자서명하여 보증한 전자 문서이다.인증서에는 보통 다음 정보가 포함됩니다.
소유자 정보
공개키
발급자 정보
유효기간
서명 알고리즘
인증기관의 전자서명PKI란?
PKI는 Public Key Infrastructure입니다.
한국어로는 공개키 기반 구조입니다.
PKI는 공개키 암호 기술을 안전하게 사용하기 위해 인증기관, 인증서, 등록기관, 인증서 폐지 목록 등을 통해 공개키와 사용자 신원을 관리하는 기반 구조이다.PKI = 공개키가 진짜 누구의 것인지 믿을 수 있게 해주는 체계하이브리드 암호 방식
실제 보안 통신에서는 대칭키와 공개키를 함께 사용합니다.
왜 그럴까요?
대칭키는 빠르지만 키 분배가 어렵다.
공개키는 키 분배에 유리하지만 느리다.그래서 실제로는 다음처럼 씁니다.
공개키 암호로 대칭키를 안전하게 교환한다.
이후 실제 데이터는 빠른 대칭키 암호로 암호화한다.이 방식이 HTTPS/TLS 같은 보안 통신에서 사용되는 기본 아이디어입니다.
하이브리드 암호 방식은 공개키 암호로 대칭키를 안전하게 교환하고, 실제 데이터는 속도가 빠른 대칭키 암호로 암호화하는 방식이다. 이를 통해 공개키 암호의 키 분배 장점과 대칭키 암호의 속도 장점을 함께 활용할 수 있다.암호기술별 용도 정리
| 기술 | 주요 목적 | 대표 용도 |
|---|---|---|
| 대칭키 암호 | 기밀성 | 대량 데이터 암호화 |
| 공개키 암호 | 키 교환, 인증, 전자서명 | 인증서, 키 교환, 전자서명 |
| 해시 함수 | 무결성 | 파일 검증, 비밀번호 저장 |
| MAC/HMAC | 무결성, 메시지 인증 | API 요청 검증, 메시지 인증 |
| 전자서명 | 인증, 무결성, 부인방지 | 계약, 인증서, 문서 서명 |
| 인증서 | 공개키 신뢰 보증 | HTTPS 서버 인증 |
| PKI | 공개키 관리 체계 | 인증기관, 인증서 발급·검증 |
대칭키 = 빠른 암호화
공개키 = 키 교환과 전자서명
해시 = 무결성
전자서명 = 인증·무결성·부인방지
인증서 = 공개키 신뢰 보증내용 연결 정리
사용자가 HTTPS 웹사이트에 접속한다고 가정해봅시다.
1. 브라우저가 서버에 접속한다.
2. 서버는 인증서를 제시한다.
3. 브라우저는 인증서를 검증해 서버 신원을 확인한다.
4. 공개키 암호 또는 키 교환 방식으로 대칭키를 안전하게 만든다.
5. 이후 실제 웹 데이터는 대칭키로 빠르게 암호화된다.
6. 메시지 무결성 검증으로 데이터 변조 여부를 확인한다.이 흐름 안에 이번 절에서 다룬 내용이 들어 있습니다.
| 단계 | 관련 암호기술 |
|---|---|
| 서버 신원 확인 | 인증서, PKI |
| 키 교환 | 공개키 암호 또는 키 교환 |
| 데이터 암호화 | 대칭키 암호 |
| 데이터 변조 확인 | 해시, MAC |
| 서명 검증 | 전자서명 |
즉, 실제 보안 통신은 여러 암호기술이 함께 동작합니다.
시험에 나오는 포인트
| 주제 | 시험 포인트 |
|---|---|
| 기밀성 | 허가받은 사람만 정보 접근 |
| 무결성 | 데이터 위변조 방지 |
| 인증 | 신원 확인 |
| 부인방지 | 행위 부인 방지 |
| 암호화 | 평문을 암호문으로 변환 |
| 복호화 | 암호문을 평문으로 복원 |
| 대칭키 | 같은 키 사용, 빠름, 키 분배 어려움 |
| 공개키 | 공개키·개인키 쌍, 느림, 키 분배 문제 완화 |
| 해시 | 일방향, 고정 길이, 무결성 |
| 전자서명 | 인증, 무결성, 부인방지 |
| MAC/HMAC | 무결성, 메시지 인증 |
| 인코딩 | 보안 목적 암호화가 아님 |
| 비밀번호 저장 | 암호화보다 솔트 해시가 적절 |
| 키 관리 | 키 생성, 저장, 분배, 폐기 중요 |
| 인증서 | 공개키와 신원 정보 보증 |
| PKI | 공개키 신뢰 관리 체계 |
| 하이브리드 암호 | 공개키로 키 교환, 대칭키로 데이터 암호화 |
필기형 문제풀이
문제 1
암호화의 주된 목적과 가장 관련 깊은 보안 속성은?
A. 기밀성
B. 가용성
C. 삭제성
D. 압축성
암호화는 권한 없는 사용자가 내용을 이해하지 못하도록 하므로 기밀성과 가장 관련이 깊습니다.
문제 2
해시 함수의 특징으로 적절한 것은?
A. 암호문을 평문으로 되돌릴 수 있어야 한다
B. 임의 길이 데이터를 고정 길이 값으로 변환한다
C. 송수신자가 같은 비밀키로만 처리한다
D. 접근 권한을 자동으로 부여한다
해시 함수는 임의 길이 입력을 고정 길이 해시값으로 변환하는 일방향 함수입니다.
정답 이유: 해시는 원문을 복원하기 위한 암호화가 아니라, 입력 데이터의 고정 길이 대표값을 만드는 함수이다. 오답 이유: A는 복호화 가능한 암호화의 설명이고, C는 대칭키 암호의 설명이다. 해시와 암호화는 복원 가능성에서 구분한다.
문제 3
대칭키 암호의 설명으로 적절한 것은?
A. 공개키와 개인키 쌍을 사용한다
B. 해시값만 생성하고 원문 복원은 불가능하다
C. 암호화와 복호화에 같은 키를 사용한다
D. 서명자 부인방지만 단독으로 제공한다
대칭키 암호는 같은 비밀키를 사용합니다.
정답 이유: 암호화와 복호화에 동일한 비밀키를 쓰는 방식이 대칭키 암호이다. 오답 이유: A는 공개키 암호, B는 해시, D는 전자서명에 가까운 설명이다. 대칭키와 공개키는 사용하는 키의 구조로 구분한다.
문제 4
공개키 암호의 설명으로 적절한 것은?
A. 같은 비밀키만으로 암호화와 복호화를 수행한다
B. 메시지를 고정 길이 해시값으로만 변환한다
C. 세션 로그를 자동으로 삭제하는 방식이다
D. 공개키와 개인키 한 쌍을 사용한다
공개키 암호는 공개키와 개인키 한 쌍을 사용합니다.
정답 이유: 공개키 암호는 공개키와 개인키를 분리해 키 분배, 암호화, 전자서명 등에 활용한다. 오답 이유: A는 대칭키 암호, B는 해시 함수의 특징이다. 공개키 암호는 해시처럼 일방향 대표값만 만드는 방식이 아니다.
문제 5
대칭키 암호의 장점으로 적절한 것은?
A. 속도가 빠르고 대량 데이터 암호화에 적합하다
B. 키 분배가 항상 필요 없다
C. 개인키가 절대 필요 없다
D. 복호화가 불가능하다
대칭키 암호는 빠르고 효율적이지만 키 분배가 어렵습니다.
문제 6
공개키 암호의 단점으로 적절한 것은?
A. 대량 데이터 암호화에 항상 대칭키보다 효율적이다
B. 대칭키 암호에 비해 상대적으로 느리다
C. 공개키와 개인키의 구분이 없다
D. 해시 함수처럼 원문 복원이 불가능하다
공개키 암호는 대칭키 암호보다 연산이 무겁고 느립니다.
문제 7
전자서명이 제공하는 보안 속성으로 적절한 것은?
A. 기밀성만 단독으로 제공
B. 압축, 라우팅, 백업
C. 인증, 무결성, 부인방지
D. 키 분배 없이 대량 암호화만 수행
전자서명은 서명자 인증, 데이터 무결성, 부인방지를 제공합니다.
정답 이유: 전자서명은 서명자의 개인키로 생성되므로 서명자 확인과 변경 여부 확인, 부인방지에 연결된다. 오답 이유: A는 암호화의 기밀성에 가깝고, D는 하이브리드 암호나 키 교환의 설명이다. 전자서명은 대량 데이터 암호화 자체가 목적이 아니다.
문제 8
전자서명에서 서명 생성에 사용하는 키는?
A. 송신자의 개인키
B. 송신자의 공개키
C. 수신자의 공개키만
D. 아무 키도 사용하지 않음
전자서명은 송신자의 개인키로 생성하고, 송신자의 공개키로 검증합니다.
문제 9
인코딩에 대한 설명으로 적절한 것은?
A. 키가 있어야만 원문으로 되돌릴 수 있는 암호화 방식이다
B. 전자서명처럼 부인방지를 제공한다
C. 해시 함수와 같이 원칙적으로 복원할 수 없다
D. 데이터 표현 형식을 변환하는 것이며 보안 목적의 암호화가 아니다
Base64 같은 인코딩은 표현 방식 변환일 뿐 암호화가 아닙니다.
문제 10
비밀번호 저장 방식으로 가장 적절한 것은?
A. 평문 저장
B. 단순 인코딩 저장
C. 사용자별 솔트를 적용한 해시값 저장
D. URL에 저장
비밀번호는 평문이나 인코딩이 아니라 솔트를 적용한 해시값으로 저장해야 합니다.
문제 11
MAC/HMAC이 제공하는 보안 속성으로 가장 적절한 것은?
A. 데이터 기밀성과 부인방지만 제공
B. 메시지 무결성과 인증
C. 공개키 기반 인증서 발급
D. 시스템 복구 시점 자동 생성
MAC/HMAC은 비밀키를 이용해 메시지 무결성과 인증을 확인합니다.
정답 이유: MAC/HMAC은 공유 비밀키를 가진 당사자 사이에서 메시지가 변조되지 않았고 올바른 송신자가 만든 값인지 확인한다. 오답 이유: 전자서명과 달리 MAC/HMAC은 공개키 기반 부인방지를 제공하기 어렵다. C는 PKI 인증서 발급의 영역이다.
문제 12
하이브리드 암호 방식의 설명으로 적절한 것은?
A. 모든 데이터를 해시값으로만 변환한다
B. 암호화 없이 인코딩만 사용한다
C. 공개키를 전혀 사용하지 않고 비밀번호만 공유한다
D. 공개키 암호로 대칭키를 교환하고 실제 데이터는 대칭키로 암호화한다
하이브리드 방식은 공개키 암호의 키 분배 장점과 대칭키 암호의 속도 장점을 결합합니다.
실기형 답안 훈련
실기 예제 1
문제: 암호학이 제공하는 주요 보안 속성을 설명하시오.
좋은 답안
암호학은 기밀성, 무결성, 인증, 부인방지 등의 보안 속성을 제공한다. 기밀성은 허가받은 사람만 정보를 볼 수 있게 하는 것이고, 무결성은 데이터가 위변조되지 않았음을 보장하며, 인증은 신원을 확인하고 부인방지는 행위자가 나중에 자신의 행위를 부인하지 못하게 하는 것이다.채점 포인트
| 요소 | 포함 여부 |
|---|---|
| 기밀성 | 필수 |
| 무결성 | 필수 |
| 인증 | 필수 |
| 부인방지 | 필수 |
| 각 의미 설명 | 중요 |
실기 예제 2
문제: 대칭키 암호와 공개키 암호의 차이를 설명하시오.
좋은 답안
대칭키 암호는 암호화와 복호화에 같은 비밀키를 사용하는 방식으로 속도가 빠르고 대량 데이터 암호화에 적합하지만 키 분배가 어렵다. 공개키 암호는 공개키와 개인키 한 쌍을 사용하는 방식으로 키 분배 문제를 완화하고 전자서명과 인증에 활용될 수 있으나 대칭키 방식보다 속도가 느리다.채점 포인트
| 요소 | 포함 여부 |
|---|---|
| 대칭키 = 같은 키 | 필수 |
| 공개키 = 키 쌍 | 필수 |
| 대칭키 빠름 | 중요 |
| 공개키 느림 | 중요 |
| 키 분배 문제 | 중요 |
실기 예제 3
문제: 암호화와 해시의 차이를 설명하시오.
좋은 답안
암호화는 기밀성 보호를 위해 평문을 암호문으로 변환하고, 올바른 키를 이용해 다시 복호화할 수 있는 방식이다. 해시는 임의 길이 데이터를 고정 길이 해시값으로 변환하는 일방향 함수로, 원칙적으로 원문 복원이 불가능하며 데이터 무결성 검증과 비밀번호 저장에 활용된다.채점 포인트
| 요소 | 포함 여부 |
|---|---|
| 암호화 = 복호화 가능 | 필수 |
| 암호화 = 기밀성 | 중요 |
| 해시 = 일방향 | 필수 |
| 해시 = 고정 길이 | 중요 |
| 해시 = 무결성 | 중요 |
실기 예제 4
문제: 전자서명의 개념과 제공하는 보안 속성을 설명하시오.
좋은 답안
전자서명은 송신자가 자신의 개인키로 메시지 또는 메시지 해시값에 서명하고, 수신자가 송신자의 공개키로 이를 검증하는 기술이다. 전자서명은 서명자 인증, 데이터 무결성, 부인방지를 제공한다.채점 포인트
| 요소 | 포함 여부 |
|---|---|
| 개인키로 서명 | 필수 |
| 공개키로 검증 | 필수 |
| 인증 | 필수 |
| 무결성 | 필수 |
| 부인방지 | 필수 |
실기 예제 5
문제: 해시 함수의 특징과 용도를 설명하시오.
좋은 답안
해시 함수는 임의 길이 데이터를 고정 길이의 해시값으로 변환하는 일방향 함수이다. 원문이 조금만 변경되어도 해시값이 달라지므로 데이터 무결성 검증에 활용되며, 비밀번호 저장 시에는 원문 대신 솔트를 적용한 해시값을 저장하는 데 사용된다.채점 포인트
| 요소 | 포함 여부 |
|---|---|
| 임의 길이 입력 | 필요 |
| 고정 길이 출력 | 필수 |
| 일방향성 | 필수 |
| 무결성 검증 | 중요 |
| 비밀번호 저장 | 좋음 |
| 솔트 | 좋음 |
실기 예제 6
문제: 하이브리드 암호 방식의 필요성을 설명하시오.
좋은 답안
대칭키 암호는 속도가 빨라 대량 데이터 암호화에 적합하지만 키 분배가 어렵고, 공개키 암호는 키 분배에 유리하지만 연산 속도가 느리다. 하이브리드 암호 방식은 공개키 암호로 대칭키를 안전하게 교환하고 실제 데이터는 대칭키로 암호화하여 두 방식의 장점을 함께 활용한다.채점 포인트
| 요소 | 포함 여부 |
|---|---|
| 대칭키 빠름 | 필수 |
| 대칭키 키 분배 어려움 | 중요 |
| 공개키 키 분배 유리 | 중요 |
| 공개키 느림 | 중요 |
| 공개키로 대칭키 교환 | 필수 |
| 실제 데이터는 대칭키 | 필수 |
핵심 요약
| 개념 | 한 줄 요약 |
|---|---|
| 암호학 | 기밀성, 무결성, 인증, 부인방지를 제공하는 기술 |
| 기밀성 | 허가받은 사람만 정보 접근 |
| 무결성 | 데이터가 위변조되지 않음 |
| 인증 | 신원 확인 |
| 부인방지 | 행위 부인 방지 |
| 평문 | 암호화 전 원래 데이터 |
| 암호문 | 암호화된 데이터 |
| 암호화 | 평문을 암호문으로 변환 |
| 복호화 | 암호문을 평문으로 복원 |
| 인코딩 | 표현 형식 변환, 보안 목적 암호화 아님 |
| 대칭키 암호 | 같은 키 사용, 빠름, 키 분배 어려움 |
| 공개키 암호 | 공개키·개인키 사용, 느림, 키 분배 유리 |
| 해시 함수 | 일방향, 고정 길이, 무결성 검증 |
| MAC/HMAC | 비밀키 기반 메시지 무결성·인증 |
| 전자서명 | 개인키로 서명, 공개키로 검증 |
| 전자서명 속성 | 인증, 무결성, 부인방지 |
| 인증서 | 공개키와 신원 정보를 인증기관이 보증 |
| PKI | 공개키 신뢰 관리 체계 |
| 키 관리 | 키 생성, 저장, 분배, 교체, 폐기 관리 |
| 하이브리드 암호 | 공개키로 키 교환, 대칭키로 데이터 암호화 |
필수 암기 문장
아래 문장들은 필기와 실기 모두 중요합니다.
암호학은 기밀성, 무결성, 인증, 부인방지 등의 보안 속성을 제공한다.
암호화는 평문을 암호문으로 변환하는 과정이고, 복호화는 암호문을 다시 평문으로 복원하는 과정이다.
인코딩은 데이터 표현 형식을 변환하는 것이며, 기밀성을 제공하는 암호화가 아니다.
대칭키 암호는 암호화와 복호화에 같은 키를 사용하여 속도가 빠르지만 키 분배가 어렵다.
공개키 암호는 공개키와 개인키 한 쌍을 사용하여 키 분배 문제를 완화하지만 대칭키보다 속도가 느리다.
해시 함수는 임의 길이 데이터를 고정 길이 해시값으로 변환하는 일방향 함수이며, 무결성 검증에 사용된다.
암호화는 키가 있으면 복호화가 가능하지만, 해시는 원칙적으로 원문 복원이 불가능하다.
전자서명은 송신자의 개인키로 서명하고 송신자의 공개키로 검증하며, 인증·무결성·부인방지를 제공한다.
MAC/HMAC은 비밀키를 이용해 메시지의 무결성과 인증을 제공하지만, 전자서명처럼 강한 부인방지를 제공하기는 어렵다.
암호키는 안전하게 생성, 분배, 저장, 교체, 폐기해야 하며 키가 유출되면 암호 시스템 전체가 위험해질 수 있다.
인증서는 공개키와 소유자의 신원 정보를 인증기관이 보증한 전자 문서이다.
하이브리드 암호 방식은 공개키 암호로 대칭키를 안전하게 교환하고, 실제 데이터는 대칭키 암호로 암호화하는 방식이다.연습 과제
다음 문제를 풀고 정답 및 해설과 대조한다.
A. 단답형
1. 암호학이 제공하는 주요 보안 속성 4가지를 쓰시오.
2. 기밀성이란 무엇인가?
3. 무결성이란 무엇인가?
4. 인증이란 무엇인가?
5. 부인방지란 무엇인가?
6. 평문과 암호문의 차이를 쓰시오.
7. 암호화와 복호화의 차이를 쓰시오.
8. 인코딩과 암호화의 차이를 쓰시오.
9. 대칭키 암호란 무엇인가?
10. 공개키 암호란 무엇인가?
11. 대칭키 암호의 장점과 단점을 쓰시오.
12. 공개키 암호의 장점과 단점을 쓰시오.
13. 대칭키 암호와 공개키 암호의 차이를 쓰시오.
14. 해시 함수란 무엇인가?
15. 해시 함수의 주요 특징 3가지를 쓰시오.
16. 암호화와 해시의 차이를 쓰시오.
17. MAC 또는 HMAC은 무엇인가?
18. 전자서명이란 무엇인가?
19. 전자서명이 제공하는 보안 속성 3가지를 쓰시오.
20. 전자서명에서 개인키와 공개키는 각각 어떻게 사용되는가?
21. 키 관리가 중요한 이유는 무엇인가?
22. 인증서란 무엇인가?
23. PKI란 무엇인가?
24. 하이브리드 암호 방식이 필요한 이유는 무엇인가?B. 상황 매칭 문제
아래 상황에 적합한 암호 기술이나 보안 속성을 쓴다.
25. 허가받지 않은 사람이 문서 내용을 볼 수 없게 하고 싶다.
26. 파일이 다운로드 중 변조되었는지 확인하고 싶다.
27. 계약서 작성자가 나중에 작성 사실을 부인하지 못하게 하고 싶다.
28. 대용량 파일을 빠르게 암호화하고 싶다.
29. 상대방과 안전하게 대칭키를 교환하고 싶다.
30. 비밀번호 원문을 저장하지 않고 검증하고 싶다.
31. Base64로 변환했지만 누구나 다시 원문을 확인할 수 있다.
32. 송신자의 개인키로 서명하고 수신자가 공개키로 검증한다.
33. 공개키가 실제 서버의 것인지 신뢰할 수 있게 확인하고 싶다.
34. 공개키 암호와 대칭키 암호의 장점을 함께 활용하고 싶다.C. 실기형 답안 작성
다음 6문제는 2~3문장으로 답안을 작성한다.
35. 암호학이 제공하는 주요 보안 속성을 설명하시오.
36. 대칭키 암호와 공개키 암호의 차이를 설명하시오.
37. 암호화와 해시의 차이를 설명하시오.
38. 전자서명의 개념과 제공하는 보안 속성을 설명하시오.
39. 해시 함수의 특징과 용도를 설명하시오.
40. 하이브리드 암호 방식의 필요성을 설명하시오.보완 학습 및 연습 과제 정답
암호, 해시, 서명, MAC 비교와 키 생명주기
| 구분 | 사용하는 키 | 주요 속성 | 대표 용도 | 주의점 |
|---|---|---|---|---|
| 암호화 | 대칭키 또는 수신자 공개키 | 기밀성 | 데이터 저장·전송 보호 | 키 유출 시 복호화 가능 |
| 해시 | 키 없음 | 무결성 보조, 일방향성 | 파일 무결성, 비밀번호 저장 기초 | 비밀번호에는 느린 해시와 솔트 필요 |
| 전자서명 | 송신자 개인키·공개키 | 인증, 무결성, 부인방지 | 계약, 인증서, 코드서명 | 개인키 보호 필수 |
| MAC/HMAC | 공유 비밀키 | 무결성, 메시지 인증 | API 요청 검증 | 공유키 방식이라 부인방지 한계 |
키 생명주기는 생성, 배포, 저장, 사용, 교체, 폐기, 감사 단계로 관리한다. 키는 안전한 난수로 생성하고, 용도별로 분리하며, 저장 시 암호화 또는 HSM을 사용하고, 만료·교체·폐기 이력을 남긴다.
정답 및 해설
A. 단답형 예시 정답: 1 읽을 수 없게 변환하는 기술. 2 원래 형태로 되돌림. 3 문자 표현 변환. 4 암호화는 복호화 가능, 해시는 일방향. 5 같은 키 사용. 6 빠르고 대용량에 적합. 7 키 공유 문제. 8 공개키와 개인키 사용. 9 키 분배에 유리하고 느림. 10 대칭키로 데이터 암호화, 공개키로 대칭키 보호. 11 일방향 고정길이 값. 12 무결성, 비밀번호 저장, 식별. 13 공유키 기반 인증값. 14 송신자 개인키로 서명. 15 인증, 무결성, 부인방지. 16 암호화는 기밀성, 서명은 인증·무결성. 17 키 생성·보관·교체·폐기. 18 유출 피해 최소화. 19 공개키와 신원 결합. 20 공개키 신뢰 기반 구조.
B. 상황 매칭 정답: 파일 변조 확인은 해시, API 요청 검증은 HMAC, 계약 부인은 전자서명, 대용량 데이터 보호는 대칭키, 키 교환과 인증서 기반 신뢰는 공개키·PKI를 적용한다.
C. 실기형 채점 기준: 핵심 키워드는 기밀성, 무결성, 인증, 부인방지, 대칭키, 공개키, 해시, 전자서명, MAC, 키 생명주기이다. 부분점은 비교 40%, 용도 25%, 키 관리 25%, 금지 사례 10%로 부여한다. 해시를 암호화처럼 복호화 가능하다고 쓰거나 MAC이 전자서명과 동일한 부인방지를 제공한다고 쓰면 감점한다.