11. Security
TL;DR
이 글은 2025년도 봄학기 KAIST 전산학부 대학원 면접을 준비하며, 면접 참고자료(Security)에 대한 대답을 정리한 글입니다.
문제에 대한 정답이 아니며, 제가 공부하며 생각한 바들을 정리한 것입니다.
후에 같은 목표로 면접을 준비하는 학우분들께 도움이 되기를 바랍니다.
이 풀이노트는 질문만 본 상태에서 답변한 내용에 대한 채점, 그리고 이 면접을 준비하며 이전에 한번 LLM과 함께 작성해본 답안이 이어져 있습니다.
문제
Confidentiality
암호 운영 모드에서 IV 또는 넌스를 사용하는 이유를 설명하시오.
Nonce는 동일한 평문에 대해 무작위의 암호문을 생성하기 위해 사용됩니다. CBC 모드에서 IV는 암호화 과정의 첫 블록을 무작위로 만들어 동일한 평문에 대해 다른 암호문을 생성합니다. 데이터베이스에 비밀번호를 저장할 떄, salt와 해시를 이용하는 것도 비슷한 취지입니다.
Integrity
해시함수의 중요한 안전성 요구 조건을 세가지 설명하시오.
collision immuntability가 있어야 합니다.
Preimage resistance: 역원을 찾는것이 거의 불가능해야 합니다. second preimage resistance: 입력 x에 대해 동일한 해시를 가지는 x’을 찾는 것이 거의 불가능해야 합니다. collision resistance: 같은 해시값을 가지는 두 개의 입력 x, y를 찾는 것이 거의 불가능해야 합니다.
웹서버에서 사용자 패스워드를 안전하게 저장하고 사용하는 방법에 대해 설명하시오. 이에 필요한 암호학적 특성에 대해 논하시오
해시와 salt를 이용합니다. 이는 해시 함수의 second-preimage resistance에 의존하고 있습니다. 해시로부터 비밀번호를 찾기 어려운 점은 역원을 찾기 어려운 특성도 이용합니다.
Availability
SYN Cookie 에 대해서 설명하시오.
syn cookie는 syn flooding 공격을 막는 기법 중 하나입니다. 연결 정보를 서버가 저장하는것이 아닌, 시크릿키와 함께 해시하여 클라이언트에세 쿠키로 제공합니다.