제7조(개인정보의 암호화) ①
개인정보처리자는 고유식별정보, 비밀번호, 바이오정보를 정보통신망을 통하여 송신하거나 보조저장매체 등을 통하여 전달하는 경우에는 이를 암호화하여야 한다.
유저의 개인정보를 전송하는 방법
유저의 패스워드나 민감정보등을 보낼때, 평문으로 보내면 굉장히 위험할 것이다. 가로채기 공격의 위험 등, 그래서 개발자는 유저들의 정보를 전송할때 암호화를 통해서 보내야한다.
유저들의 개인 정보를 전송하는 방법은 몇가지 방법이 있다.
Hash ( 해시 )
첫번째는 Hash 를 통한 단방향 암호화이다.
단방향 암호화는 암호화를 시키면 복호화는 불가능한 방식으로 Hash 알고리즘을 통해 데이터를 매핑 시켜 완전 다른 데이터로 변환 시키는 것을 의미한다. 이런 과정을 다이제스트라고 한다.
암호화를 시키면 개발자도 복호화가 불가능하기 때문에 보안적인 측면에서 좋은편이라고 할 수 있다.
대표적인 Hash는 SHA, MD, HAS 등이 있다. 또 이 사이트에서 평문을 Hash로 변환 해볼수도 있다.
https://www.convertstring.com/ko/Hash/SHA256
하지만, 해시는 동일한 메세지는 동일한 다이제스트를 갖는 단점이 있어서 이런 다이제스트를 기록해놓은 레인보우 테이블을 사용한 브루트포스 라는 공격에 취약하다.
이 무식하게 대입하는 방식인 브루트 포스를 무력화 하기 위해 Hash는 salt 값이라는 다른 값을 추가하거나, 아니면 그냥 해시 함수를 여러번 돌리는 방법 등이 있다.
Encryption ( 암호화 )
양방향 암호화 기법으로, 평문을 암호화 데이터로 매핑이 가능할 뿐만 아니라 암호화된 데이터를 평문으로 복호화도 가능하다.
옛날 사이트에서는 비밀번호 찾기를 누르면 전화번호 입력후 비밀번호를 찾아줬었는데 이런 복호화가 가능한 알고리즘을 통해서 암호화를 거쳤기 때문에 가능하다.
대표적인 암호화는 RSA256 이 있다.
'Computer Science' 카테고리의 다른 글
[NETWORK] HTTP 의 State Code 설명 (0) | 2023.01.10 |
---|---|
[NETWORK] HTTP 의 GET, POST 비교 (0) | 2023.01.10 |
[NETWORK] HTTP 와 HTTPS (1) | 2023.01.10 |
[NETWORK] 쿠키와 세션, 그리고 브라우저 스토리지 ( Web Storage ) (0) | 2023.01.10 |
[Network] CORS 란 무엇이고, 어떻게 해결하는가 (0) | 2023.01.09 |