본문 바로가기

기타/공부하기

[정보보안기사] SECTION 07 키, 난수

SECTION 07 키, 난수

1. 키

대칭키, 공개키, 인증, 전자서명 등에 키가 필요

키의 크기(가능한 키의 총 개수)가 클수록 무차별 공격에 강함

세션키와 마스터키

세션키(Session Key) : 통신할 때 마다 한 번만 사용되는 키

마스터키(Master Key) : 통신할 때 마다 새롭게 만들어지지 않고 반복적으로 사용하는 키

CEK와 KEK

CEK(Contents Encrypting Key) : 사용자가 직접 이용하는 정보를 암호화 하는 키

KEK(Key Encrypting Key) : 키를 암호화 하는키(공개키 같은 것)

패스워드를 기초로한 암호(PBE)

솔트(Solt) 역할

-KEK를 생성할 때, 패스워드와 함께 난수를 솔트 역할로 해시함수에 입력

-솔트를 사용하면, 솔트의 비트 길이 많큼 사전공격이 어려워짐

2. 난수

난수의 용도

키 생성 : 대칭키나 메시지 인증 코드에 사용되는 키를 생성한다.

키 쌍 생성 : 공개키 암호나 전자서명에 사용(단, 공개키는 난수 생성후 소수임을 검증)

초기백터(IV)의 생성 : 블록암호의 CBC, CFB, OFB에 사용

비표(nonec)의 생성 : 재전송 공격 방지나 블록암호의 CTR 모드 등에 사용

솔트의 생성 : 패스워드를 기초로한 암호화(PBE) 등에 사용

일회용 패스워드 : OTP, 패딩에 사용되는 열을 생성하는데 사용

난수의 성질

무작위성 : 통계적인 편중 없이 수열이 무작위로 되어야함

예측 불가능성 : 과거의 수열로부터 다음 수를 예측할 수 없어야 함

재현 불가능성 : 같은 수열을 재현할 수 없어야 함.

의사난수 생성기

난수를 생성하는 소프트웨어

소프트웨어만으로는 진정한 난수를 생성할 수 없어서 “의사 난수”라고 부름

의사난수 생성기 구조

-input : 외부의 “종자(Seed)” 값

-내부 : 의사난수 생성하는 알고리즘

-output : “의사난수열”