지금까지 공부하면서 다양한 암호화 알고리즘을 사용하기 위해선 암호키, 세션키, ... 등등 키가 필요하다고 했다.
그렇다면 키란 무엇인가?
키
: 비유하자면 자물쇠를 여는 키같은 거다. 엄밀히 말하자면 암호화키는 자물쇠를 잠글 수 있는 열쇠, 복호화 키는 자물쇠를 열 수 있는 열쇠라고 생각하면 될 것 같다.
● 키 공간(Key-Space)의 크기 : 크면 클수록 Brute-force에 강함
→ 키 공간의 크기는 키의 비트 길이로 정해짐
● 키의 가치 = 평문의 가치 : 공격자에게 키가 넘어가는 것은 평문이 넘어가는 것을 의미한다.
· 다양한 키
① 세션키(Session Key) : 통신 때마다 한 번만 사용되는 키
→ 사용자 간에 통신 세션이 개시될 때 할당되고 종료될 때 폐기되는 동적인 대칭키
② 마스터 키(Master Key) : 반복적으로 사용되는 키
③ CEK(Contents Encrypting Key) : 실제 데이터(콘텐츠)를 암호화 하는 키
④ KEK(Key Encrypting Key) : 다른 키를 암호화하는 키
▶ 세션키나 마스터키는 CEK가 될 수도 있고 KEK가 될 수도 있다.
· 패스워드 기반 암호화(PBE)
: 난수형태가 아닌 비밀번호(문자열)을 이용하여 암호키를 만드는 것
- 솔트(Salt)
: 의사 난수 생성기로 만들어지는 랜덤한 수 → KEK를 만들 때 패스워드와 함께 해시함수에 입력됨▶ 똑같은 비밀번호라도 결과값이 다르게 나오므로 레인보우 테이블 공격 / 사전공격을 방지함
· 특징
① 사용자마다 랜덤하게 생성
② 비밀번호와 분리하여 안전한 장소에 저장
③ 서버 프로그램은 Salt를 외부에서 호출하여 사용하는 형태로 구현
- PBKDF(Password-based key derivation function)
: 패스워드 기반으로 키를 유도하는 함수
Q. 이렇게 생성된 암호키는 어떻게 저장하나요?
A. 서버나 하드웨어 토큰에 저장 → 물리적으로 분리되어 있는 서버 사용을 권고
- 하드웨어 토큰
: 저장된 정보가 노출되기 어려운 장치
난수
: 예측할 수 없는 숫자
· 난수의 용도
① 키의 생성 : 대칭키 암호 or 메시지 인증 코드
② 키쌍의 생성 : 공개키 암호 or 전자서명
③ 초기화 벡터(Ⅳ)의 생성 : CBC, CFB, OFB에서 각각 사용
④ 비표(nonce)의 생성 : CTR 모드에서 사용
⑤ 솔트의 생성 : PBE에서 사용
⑥ 일회용 패드
· 난수의 성질
① 무작위성 : 통계적인 편중 X
② 예측 불가능성 : 과거의 수열로부터 다음 수를 예측할 수 없음
③ 재현 불가능성 : 같은 수열을 재현할 수 없음
.
.
.
.
♠ 2026.04.08 / D-287 ♠
오늘은 인증서와 키&난수에 대해 공부했다. 드디어 암호학 부분이 다 끝났다. 요즘들어 공부에 집중이 너무 안 된다. 아무래도 사지방 와서 떠드는 다른 중대놈들 때문인거 같다. 내일부터 주말간 휴식을 취하고 다음주에는 4박5일동안 훈련 있어서 글을 못 쓸거 같다. 훈련 너무 많음.
그리고 공부하면서 느낀건데 교재를 완전히 1회독 하고 기출을 풀기보단 기출을 1~2회치 먼저 풀어보고 1회독 하는게 훨씬 효율적일 거 같아서 다음엔 기출을 한 번 풀어보고자 한다.
오늘은 여기까지 하고 따로 더 공부하다가 잠을 자겠다. 안녕
'정보보안산업기사 필기' 카테고리의 다른 글
| [접근통제] 사용자 인증과 지식 기반 인증(Something you know) (1) | 2026.04.21 |
|---|---|
| [접근통제] 접근통제 개요 (1) | 2026.04.19 |
| [암호학] PKI(Public-Key Infrastructure) - 인증서 (4) | 2026.04.09 |
| [암호학] PKI(Public-Key Infrastructure) (4) | 2026.04.08 |
| [암호학] 전자서명 (2) | 2026.04.07 |