javascript & jQuery

암호화

k9e4h 2018. 2. 13. 17:39

암호화에는 크게 세 가지 방법이 있습니다. 단방향 암호화와 양방향 암호화인데요. 양방향 암호화에 비대칭형 암호화와 대칭형 암호화가 있기 때문에 크게 세 가지라고 말씀드렸습니다. 단방향 암호화는 복호화할 수 없는 암호화 방법입니다. 복호화란 암호화된 문자열을 다시 원래 문자열로 돌려놓는 것을 의미합니다. 단방향 암호화는 한 번 암호화하면 복호화할 수 없습니다. (다만 몇 가지 암호화 알고리즘은 뚤렸습니다. MD5나 SHA1 방식은 절대 써서는 안 됩니다.)


복호화할 수 없다면 그게 왜 필요한지 의문이 들 수도 있습니다. 하지만 잘 생각해보면 홈페이지 비밀번호같은 경우는 복호화할 필요가 없습니다. 비밀번호를 암호화해서 DB에 저장해둔 후, 나중에 로그인할 때, 다시 입력받은 비밀번호를 같은 알고리즘으로 암호화해서 DB에 저장된 문자열과 비교하면 됩니다. 즉 원래 비밀번호는 어디에도 저장되지 않고, 암호화된 문자열로만 비교하게 되는 것이죠.



이번에는 간단하게 양방향 암호화를 하는 방법을 알아봅시다. 먼저 대칭형 암호화인데요. 키가 있으면 그 키로 암호환된 문자열을 다시 복호화할 수 있습니다. 하지만 웹에서는 이 방식을 사용하기가 힘듭니다. 특정 키로 암호화한 문자열을 서버에서 클라이언트로 보냈을 때, 그 문자열을 복호화하려면 그 키도 같이 보내주어야하는데요. 클라이언트에서는 무슨 일이 일어날 지 모르기때문에 키를 클라이언트로 보내서는 안 됩니다. 해결 방법은 비대칭형 암호화입니다. 이건 훨씬 복잡하기 때문에 나중에 알아보고 대칭형 암호화부터 알아봅시다.


https://okky.kr/article/296089


https://www.zerocho.com/category/NodeJS/post/593a487c2ed1da0018cff95d


http://woowabros.github.io/experience/2017/02/06/aws-kms.html


https://okky.kr/article/296089


개인정보의_암호화_조치_안내서2017-1-개정.pdf


반응형

'javascript & jQuery' 카테고리의 다른 글

.SVG (Scalable Vector Graphics)  (0) 2018.03.29
What is “.el” in relationship to JavaScript/HTML/jQuery?  (0) 2018.03.14
XMLHttpRequest()  (0) 2018.02.02
실시간웹  (0) 2018.01.25
Chrome Content Security Policy (CSP) & XSS  (0) 2018.01.24