암호 도구는 서로 다른 보안 문제를 해결합니다. 인코딩은 표현 방식을 바꾸고, 해싱은 변경을 감지하며, 대칭 암호화는 공유 비밀로 데이터를 보호하고, 비대칭 암호화는 공개 키와 개인 키를 분리합니다. 이 실습형 과정에서는 각 방식의 경계를 이해하고 Linux 터미널에서 직접 적용합니다.
Base64, URL 인코딩, 16진수 데이터를 변환하고, 파일 해시를 생성·검증하며, 비밀번호 해시의 후보 형식을 식별하고, OpenSSL과 GPG로 파일을 암호화합니다. 마지막 조사 챌린지에서는 Base64 디코딩, 분리 서명 검증, 알고리즘 식별, AES 복호화를 하나의 증거 중심 작업 흐름으로 결합합니다.
학습 내용
- 명령줄 도구로 Base64, 퍼센트 인코딩 URL, 16진수 데이터 인코딩 및 디코딩하기
- 인코딩이 기밀성이 아니라 호환성을 제공하는 이유 설명하기
- MD5, SHA-1, SHA-256 다이제스트를 생성하고 입력 변경이 결과에 미치는 영향 관찰하기
- SHA-256 체크섬 파일을 만들고 검증하여 파일 변경 탐지하기
- 구조화된 데이터에서 해시를 추출하고 길이, 문자 집합,
hashid로 알고리즘 가설 세우기 - 비밀번호 복구를 시도하지 않고 후보 해시 유형을 Hashcat 모드와 연결하기
- OpenSSL AES-256-CBC와 PBKDF2 비밀번호 기반 키 유도로 파일 암호화 및 복호화하기
- GPG 키 쌍을 생성하고 공개 키 암호화를 사용하며 분리된 디지털 서명 검증하기
추천 대상
이 중급 과정은 인코딩, 해싱, 암호화된 데이터를 다루는 실무 기초가 필요한 사이버 보안 학습자와 분석가, 시스템 관리자, 개발자를 대상으로 합니다. 수학적 증명이나 암호 알고리즘 구현보다 명령줄 실험과 보안 의미 해석에 집중합니다.
선수 지식: Linux 터미널에서 파일을 읽고, 파이프로 명령을 연결하며, 출력을 리디렉션할 수 있어야 합니다. 파일, 비밀번호, 공개 키와 개인 키에 대한 기본 이해가 있으면 도움이 되며 프로그래밍이나 고급 수학은 필요하지 않습니다.
학습 환경: 준비된 샘플 파일이 있는 대화형 Ubuntu 22.04 터미널에서 Python, Base64, xxd, OpenSSL, GPG, 체크섬 유틸리티, hashid를 사용합니다. 키, 비밀번호, 데이터는 모두 실습 전용입니다.
자주 묻는 질문
Base64는 암호화 방식인가요?
아닙니다. Base64, URL 인코딩, 16진수 표현은 비밀 키 없이 되돌릴 수 있는 표현 방식입니다. 과정에서는 얼마나 쉽게 디코딩되는지 확인하고 키 기반 암호화와 비교합니다.
해시 길이만으로 어떤 알고리즘이 만들었는지 확정할 수 있나요?
아닙니다. 길이와 문자 집합은 유용한 단서이고 hashid도 후보 형식을 제시하지만 여러 알고리즘의 모양이 비슷할 수 있습니다. 신뢰할 수 있는 식별에는 원본 애플리케이션과 저장 형식 같은 맥락도 필요합니다.
이 과정에서 비밀번호 해시를 크래킹하나요?
아닙니다. 해시를 추출하고 후보 알고리즘을 평가하며 해당 Hashcat 모드를 기록해 승인된 감사 작업을 준비합니다. 비밀번호 추측과 복구는 과정 범위에 포함되지 않습니다.
실습의 암호 설정을 운영 환경의 키 관리 지침으로 사용할 수 있나요?
아닙니다. 작업 방식에 집중할 수 있도록 간단한 비밀번호, 보호되지 않은 교육용 개인 키, 자동 신뢰 설정을 사용하며 이러한 편의 설정을 명시합니다. 실제 키와 비밀에는 더 강한 보호, 신원 검증, 조직 차원의 키 관리가 필요합니다.





