일단 난 개발자 아니고 마케터고,
오늘 밥먹다가
어떤 사이트 비번 까먹어서
비밀번호 찾기했는데
사이트가 내 비번을 그냥 알려주면 될 것을,
왜 매번 비번 바꾸기로 넘어가는지
짜증나서 관련 지식 검색해보다가
서버에는 암호화 되어 저장되기에
온라인 사이트에서도
내 비번 자체를 알 수는 없다는 것을
배우게 되었고
비번찾기랑 무관하게,
그냥
의식의 흐름에 따라 암호학 나무위키를
보다가
공개키 개인키 개념에 대해
30분동안 이해해보려고 노력했음
비개발자에 수포자 입장에서
도저히 너무 어렵고 뭔 말인지 모르겠어서
내가 이해한 바를 적어볼테니
대충 맥락은 맞는건지 누가 판단좀 해줘
이해가 잘 안되니까 찝찝하고 짜증난다.
음...
예를들어 내가 디시에 회원가입을 한다고 가정해.
내 패스워드를 생성했다 치자.
그러면 디시의 서버가 공개키랑
개인키를 생성하는데,
예를들어,
공개키는 '나루토', 개인키는 '성별' 이야.
다시 돌아가서,
내가 아까 설정했던 패스워드가
ABCD 라는 텍스트라고 치자.
그럼 ABCD는
디시에서 누구에게나 공개한 공개키인
'나루토'를 통해 암호화 되어서
ABCD 에 나루토를 결합한
어떠한 일련의 복잡한 계산을 통해
ejdoa 라는 암호로 암호화가 돼
그리고 이 ejdoa 라는 암호는
아무리 나루토라는 공개키를 알고 있는
해커라도,
공개키만 안다고 해서
다시 ABCD 로 복호화 할 수는 없어.
공개키는 암호화에만 사용되는거지
복호화에는 사용할 수 없기 때문이야.
나루토 라는 단어를 토대로
아무리 역계산을 하려해도
역으로 ABCD 라는 답이 나오지는 않아.
그런데 이 ejdoa 라는 암호가
디시의 서버까지 도착하면
디시에서는
'나루토' 라는 공개키와
디시 스스로만 알고 있는 '성별' 이라는
개인키를 조합하고 계산해서
'남자' 라는 결과값을 도출하고
이 '남자'라는 결과값을
ejdoa 라는 암호에 적용해서
또 이러쿵 저러쿵 계산하면
그제서야 'ABCD' 라는 내 비밀번호 텍스트가
결과값으로 나오고
이 ABCD 라는 유저 개인 비번을
서버에 그대로 저장하는게 아니라
암호화만 가능하고
복호화는 절대 안되는
단방향 프로세스를 통해
fjruidpdl 막 이렇게 바꿔서
서버에 저장한다.
그래서 디시도 내 비밀번호가 뭔지 절대 모르고
그래서 비번찾기를 하더라도
내 비번을 순순히 뱉지 않고
비번을 바꾸는 메뉴가 나오는거다.
이게 대충 맞게 이해한건가?
- dc official App
일단 패스워드 암호화늠 단방향이라 (복호화 불가능) 니가 열심히 설명한 공개키 비밀키 방식이랑 관계없음. 그건 https 프로토콜에서 패킷암 복호화 할때 사용되는거임
내가 가입할때 쓴 패스워드를 디시까지 전달하는 과정에서는 공개키로 암호화해서 이동하는게 아니야? 저장만 복호화 불가능한 방식으로 서버에 저장하는거고. - dc App
사용자가 입력한 패스워드를 전송하는 과정은 패스워드를 암호화 하는게 아니라 통신패킷 자체를 암호화함(https) 그건 패스워드 암호화라 볼슈없틈. https암호화지..
그렇구나! 고마워 고마워 아 나 일하는 분야랑 아무 관계업ㅆ는데 갑자기 글 읽다보니까 궁금해졌는데 물어볼데가 없어서 여기 물어봤다 ㅜ - dc App
공개키 개인키 개념은 이해한게 맞는데 일반적으로 패스워드는 단방향 암호화 혹은 해싱해서 저장함
고마워! 좀더 잘 알게 되었음! - dc App
비밀번호 암호화는 그냥 해싱해서 저장하는 것이고 공개키 암호화 방식이랑은 전혀 다른 것임. 완전히 다른 것임.
그리고 공개키 암호화 방식도 그거 아님
내가 설정한 비밀번호가 디시까지 전달 되는 그 통신 과정에서는 공개키로 암호화되고, 그게 디시에 도착하면 복호화된 뒤에 해싱되어 저장되는거 아니야? ㅜ 내가 잘못 알고있는건가보다 ㅜ 미안 - dc App
그렇군. 포기다! ㅜ - dc App
아니 미안할 건 없고 ㅋㅋㅋ 개발자 중에서도 모르는 사람 많아. 그냥 가져다 쓰기만 하면서 ㅇㅇ 비전문가가 나무위키만 봐서 이해하기 좀 힘든게 당연한 부분임
우와 따뜻한 격려 고마워! - dc App
이 댓글은 게시물 작성자가 삭제하였습니다.
개발자가 아닌데 저정도로 아는게 대단한거임. 개발자중에도 모르는사람 널리고 널렷음
ㅇㅇ 반대로 개인키로 암호화하는 게 서명이고 공개키로 누구나 풀어서 이 공개키랑 짝꿍인 개인키로 서명했다는 사실을 검증할 수 있게됨