Study
[ SJCE 스터디 / 6주차 ] 암호화기법
HUIcode
2025. 5. 7. 15:16
2024.11.02(토)
이번 주차에는 서버 파트에서 암호화 기법들에 대해 다뤘다.
암호화 기법: AES, SHA, RSA
현대 보안 시스템에서 널리 사용되는 세 가지 주요 암호화 기법인 AES, SHA, RSA에 대해 알아보았다.
1. AES(Advanced Encryption Standard) 암호화 기법
AES는 대칭키 암호화 방식으로, 암호화와 복호화에 동일한 키를 사용하는 양방향 암호화 기법이다.
주요 특징:
- 대칭키(Symmetric) 암호화: 암호화와 복호화에 동일한 키 1개 사용
- AES-256: 가장 강력한 버전으로, 32바이트(256비트) 키 값을 사용하며 키 값은 32글자로 맞춰주어야 한다
- 용도: 서버와 클라이언트 간 통신 데이터 보호
작동 방식:
- 암호화(Encrypt): 원본 데이터 + 비밀키 → 암호문
- 복호화(Decrypt): 암호문 + 동일한 비밀키 → 원본 데이터
2. SHA(Secure Hash Algorithm) 암호화 기법
SHA는 단방향 암호화 방식으로, 한번 암호화하면 다시 복호화할 수 없는 해시 함수이다.
주요 특징:
- 단방향 암호화: 원본 데이터 → 해시 값 (역방향 불가능)
- SHA-256: 32바이트(256비트) 길이의 해시 값 생성
- 일관성: 동일한 입력에 대해 항상 같은 해시 값 출력
- 용도: 데이터 무결성 검증, 비밀번호 저장
활용 방식:
- 전송 데이터 검증: JSON 데이터나 파일을 해시화하여 서버에서 생성한 해시와 비교해 데이터 조작 여부 확인
- 비밀번호 저장: 모든 로그인 시스템에서 사용
- Salt 활용: 보안 강화를 위해 추가하는 임의의 값
- 시스템마다 고유한 salt 값을 사용해 동일한 입력이라도 다른 해시 값 생성
- 사용자별 salt: 비밀번호가 같더라도 사용자마다 다른 해시 값 생성 가능 (예: salt = sjce$(username))
3. RSA(Rivest-Shamir-Adleman) 암호화 기법
RSA는 소수의 특성을 이용한 비대칭 키 암호화 방식으로, 현재 가장 많이 사용되는 공개키 암호화 기법이다.
주요 특징:
- 비대칭 키 암호화: 암호화와 복호화에 서로 다른 키 사용 (공개키-비밀키 쌍)
- 키 관리: 공개키와 비밀키 쌍은 보통 Redis와 같은 저장소에 보관
- 높은 보안성: 공개키로 암호화한 데이터는 비밀키로만 복호화 가능
작동 방식:
- 암호화: 원본 데이터 × 공개키 → 암호문
- 복호화: 암호문 × 비밀키 → 원본 데이터
활용 사례:
- 금융권 보안 통신에 널리 사용
- 회원가입 시 민감 정보 전송: 클라이언트가 서버의 공개키로 데이터 암호화 → 서버만 복호화 가능
- 보안 강화: 일정 시간 후 비밀키 폐기로 해킹 위험 감소
제한점:
- 연산 속도가 느려 짧은 데이터 암호화에 적합
- 특정 중요 정보에만 사용 권장