본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
안녕하세요 :)
오늘은 챌린지 14일차로, 챌린지 시작 후 벌써 2주가 지났다는 것에 놀랐어요.. 시간 정말 빠르다ㅠ
오늘 배울 내용은,
Part A. 로그인, 로그아웃, 회원가입으로 배워보는 스프링 시큐리티 기초
Ch 4. PasswordEncoder 와 암호 처리
"03. 암호학 맛보기" 입니다.

오늘은 암호학 관련 기본 개념에 대해 알아보았다. 암호학 관련 용어들에 대해 살펴보면, 암호학, 인코딩과 디코딩, 해싱, 단방향 암호화, 양방향 암호화, 공개키와 비밀키, 대칭 키 암호화, 비대칭 키 암호화 가 있다.
암호의 중요성에 대해 살펴보면,
아이디와 비밀번호를 입력하면 아이디에 해당하는 네이버 계정에 접근할 수 있다. 로그인이 성공되는 순간 해당 계정에서 발생하는 행위는 모두 "내"가 하는 행위가 된다. 따라서 타인이 아이디와 비밀번호를 알게 된다면 개인정보가 탈취당할수 있다. 따라서 비밀번호를 알기 어렵게 만들거나 주기적인 변경이 필요하다.
암호의 시작은 전쟁에서 군사기밀을 숨겨 전달하기 위해 시작되었다고 한다. 제2차 세계대전에서 독일은 애니그마(Enigma) 암호기를 이용하여 교신 내용을 암호화하여 풀어낼 수 없도록 만들었지만 앨런 튜링이 애니그마를 해독할 수 있는 해독기를 만들어 독일의 전략을 알아내는데 큰 기여를 했다고 한다. 또 인터넷의 발전에 따라 암호학도 함께 발전했다고 한다.
암호란 무엇일까?
정보를 이해할 수 없도록 변경하거나 변경한 값을 다시 해독하기 위한 일련의 단계를 정의한 알고리즘이다. 하지만 모든 사람이 이해할 수 없도록 만드는 것은 아니고 해당 암호에 권한이 있는 사람은 해독이 가능해야 한다. 즉 "신뢰할 수 있는 사람과 기밀 정보를 공유할 방법" 이다.
암호의 특성으로는 다음과 같다.
- 기밀성(Confildentiallty): 암호화된 내용이 무엇인지 알 수 없어야 한다는 점이다.
- 무결성(Integrity): 원본 데이터라는 점(변경이 없어야 함)이다.
- 인증(Authentication): 권한이 있는 사람은 접근/해독 가능해야 한다는 점이다.
단방향 암호화는 암호화는 가능하지만 복호화는 불가능한 특징을 가지고 있다. 복호화가 불가능하기 때문에 무결성에 초점을 두고 있다(원본 데이터가 변경되거나훼손되지 않았는지를 확인하는데 초점을 둠). 다른 말로는 해시(hash)라고 부르기도 한다. 해시알고리즘으로는 MD5, SHA1, SHA256, SHA512 등이 있다.
양방향 암호화는 암호화와 복호화가 가능한 특징을 가지고 있는데, 복호화가 가능하기 때문에 원래 데이터를 얻을 수 있다는 특징이 있으며, 대칭 키 암호화 방식과 비대칭 키 암호화 방식이 있다.
대칭 키 암호화 방식은 암호화할 때 사용한 키(key)를 복호화할 때도 동일하게 사용된다. 그 중 가장 유명한 대칭키 암호화 방식은 AES가 있다는 것을 알 수 있었다.