개인정보는 암호화를 진행하려 한다.
패스워드 같은 경우에는 암호화된 정보가 복호화시킬 필요가 없기 때문에 단방향 암호화 알고리즘을 이용하는 PasswordEncoder의 도움을 통해 쉽게 암호화를 진행하였다.
이메일이나, 사용자 이름, 전화번호, 주소등 사용자 개인정보에 해당하는 정보들은 나중에 복호화할 수 있어야 하므로 양방향 알고리즘을 이용해 암호화를 진행하기로 했다
단방향 알고리즘
암호화 가능, 복호화 불가능
패스워드 암호화시 사용
양방향 알고리즘
암호화, 복호화 가능
1. 대칭키(비공개키)
- 암호화 복호화시 모두 동일한 키를 사용
- 키를 비공개
- 장점 : 속도가 빠르다
- 단점 : 키를 전달하는 과정에서 노출의 우려가 있음
- DES, AES
2. 비대칭키(공개키)
- 암호화 복호화에 서로 다른 키를 사용
- 하나의 키는 공개키로 사용, 개인키를 통해 전송받은 데이터를 복호화할 수 있음
- 장점 : 안전성이 높다
- 단점 : 대칭키(비공개키) 방식에 비해 느리다
- RSA
RSA는 연산이 복잡하고, 길이가 길어질수록 성능이 저하된다.
DES는 64비트의 길이를 가진 키를 사용하므로 공격에 취약하다.
반면 AES는,
대용량 데이터를 빠르게 암호화 할수 있고, 키 관리도 단순하기 때문에 개인정보 암호화 작업 시 적합하다고 판단했다.
성능과 효율성 측면에서 AES 를 사용하기로 했다.
'프로젝트 > Springboot-MSA- PreOrder' 카테고리의 다른 글
[Project] Spring Batch란? (0) | 2024.08.18 |
---|---|
[Project] Service Discovery (0) | 2024.08.18 |
[Project] MSA란? (1) | 2024.08.18 |
[Project] Google SMTP (0) | 2024.08.11 |
[Project] JWT인증 스프링 시큐리티 동작 (0) | 2024.08.11 |