전자서명과 공개키 기법의 초보적 설명

in kr •  7 years ago 


서명의 기본적 원리는 비교입니다
자신만이 할 수 있는 유니크한 표식을 남기고
후에 그 표식을 직접 재현해보이는 것이죠

유명한 서명쟁이로써


쾌걸 조로를 들수 있습니다

이 미치광이 서명마니아는 가정집, 관공서,

심지어 사람의 뱃대지에도 Z 라는 서명을 하고 댕겼는데
서명 마니아이면서도
참 불성실하기 짝이 없는 서명질을 했죠

이런식이면 쾌걸 조또쾌걸 조루 같은 이들이 나타난다면
속수무책입니다

하지만 사실 흉내내기도 힘들거나

흉내내기도 싫어지는

그런류 사인이 아니면 얼마든지 조작이 가능한 것도
사실이죠.
그래서 서양에서도 사인할때 공증인이 서거나

이런식의 밀랍도장으로 밀봉하거나 하기도 했습니다

뭐 어쨌든간에 별로 사회적 문제가 될 정도로
조작이 심하거나 할 일은 없었습니다

하지만 이게 전자쪽으로 넘어오면서 상황은 달라집니다
공증인도 없고 도장도 소용없으며
기술은 커녕 Ctrl+C, Ctrl+V 만 할 줄 알면
디지털로 된 자기 증명서따윈 순식간에 복사가능하니까요
심지어 진품과 똑같이..
또한 아이디랑 비번 같은 걸로 해결할려해도
워낙에 털리기 쉽습니다. 우리 주민번호 같은 건
이미 탈탈 털려서 전세계 공용이되었고..

그래서 그걸 해결하려고 나온 것이

전자서명 기술 이 되겠습니다

이 전자서명은 우리랑 아주 밀접합니다
당장 망할 공인인증서가 전자서명이며
코인에 관련된 것은 모조리 전자서명이라고 보면되죠

그럼 이 전자서명은
네트워크상에서 어떻게 자신을 증명할 수 있을까요

게임서버 같은 곳에서야 아이디랑 비번을 넣으면 됩니다
그럼 어디 회사 깊숙히 숨겨논 창고에서 목록 꺼내서
아디찾고 비번 맞으면 통과~
이러면 되지만

블록체인 같은 곳에다가 내가 홍길동이다
라고 하면 증명하라고 합니다
그럼 아이디를 줍니다
그걸로 증명이 안되죠. 비번도 줍니다
증명은 됩니다. 대신 탈탈 털리죠
아이디랑 비번 다주고 증명하면 뭔소용이랍니까

중앙에서 관리하는 곳에는 날 증명하는 방식으로
나의 모든 것을 보여줘도 걔네들이 퍼뜨리지 않는 이상
상관 없습니다. 하지만 다른 곳에선 다 보고 있는데
그런게 안되죠


예를들어 치질을 증명하려 의사쌤한테 나의 똥꼬를
보여주는 것은 당당합니다. 물론 쬐끔은 부끄럽죠

하지만 TV 생방송에서 치질 증명을 위해
내 똥꼬를 개방하는건 인생 종치는거죠

그럼에도 불구하고 모르는 사람들이 모인 장소에서
엉덩이치기 게임을 해야할 상황이 오면
바지를 벗지 않고 내 똥꼬가 헐었다는 것을
증명해야만 합니다

그게 가능한 것이 공개키 기법의 전자서명입니다

이를 위해서 수학적으로 연관되며 암호화되어
절대로 해독이 불가능한 한쌍의 키를 생성합니다
페르마씬가 하는 유명인이 관련되었다던데
어차피 알고 싶지 않은 사실이니 덮어둡시다


이 한쌍의 커플키는 공개키와 개인키라고 합니다
개인키는 많이 들어보셨죠
절대적 패스워드라고 보면됩니다

공개키는 말그대로 공개하며 모두에게
청첩장처럼 나눠줍니다

이 두 키는 수수께끼 같은 재밌는 작용을 하는데

공개키로 잠구면 개인키로만 열리고
개인키로 잠구면 공개키로만 열리는 것입니다

예를들면 진단서를 자신의 똥꼬로... 도장을..
아...
..
글이 너무 지저분해지니 이제 공중변소 같은 얘기는
그만둡시다 그냥 정상적 예를들어서

작은 상자가 돌아댕깁니다
상자는 잠겨 있군요
많은 사람들이 A씨가 뿌린 공개키
B씨가 뿌린 공개키를 가지고 있습니다

A씨의 공개키로는 열리지 않았습니다
B씨의 공개키로는 열렸습니다
그렇다면 그 상자는 누구것일까요

B씨의 것이 됩니다
왜냐면 B씨가 잠궜으니까 B씨가 뿌린 키로만 열리는 거죠
이때 B씨는 상자를 잠군 자신의 개인키를 아무에게도
보여주지 않았지만
모두에게 상자를 잠군 당사자라고 인정받게 됩니다

이로써 네트워크상에서 '자신'이 복사나 가짜가
아닌 진품이라는 것을 증명하게 되는 것이죠

이것으로 모두에게 인정을 받았습니다
그럼 반대로 원하는 정보를 인터넷상에서 전송할때
해커가 중간에 열어서 조작할 위험이 없이
상대방만이 열수 있도록 할 수 있을까요

그건 말그대로 반대로 하면됩니다
다만 조금 생각해야되는 반대죠

자신의 공개키로 잠구면 자신의 개인키로 열어야됩니다
그럼 아무짝에도 소용없습니다
하지만 상대의 키로 잠군다면?
상대의 개인키는 요구할 수 없지만 요구할 수 있는 키가
있습니다. 바로 상대의 공개키

상대의 공개키를 받아서 상자를 잠군다면
이 상자는 누가 열수 있을까요?

그 공개키의 쌍인 개인키를 가진 사람만이
열 수 있게 되는데 개인키는 단 한사람만이 가질 수 있죠
그래서 거래할 사람이 있으면 그 사람의
공개키만 가져오면 되는 겁니다
그리고 그 공개키란...

어디서 많이 봤죠?

참 재밌죠.. 재미없으면 어쩔수 없구.. ㅠㅠ;

그래서 종합하면

  • 개인키로 잠궈서 사방에 뿌리는 것은
    모두에게 자신이 진짜라는 것을 증명할때 씁니다

  • 상대방 공개키로 잠궈서 상대방에게 넘기는 것은
    이 내용을 네트워크상에서 누군가 조작하는 것을
    방지하기 위해서 하는 것입니다
    이건 상대방 개인키로만 열수 있으니
    절대 조작이 불가능하죠

그럼으로써 자신의 증명거래의 조작방지
모두 할 수 있게되는 것이 바로
공개키 기법의 전자서명이 됩니다

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

비유가 귀에 쏙쏙 들어오는 군요 ^^

어려운 내용은 역시 비유가 최고죠+_+
댓글 감사합니다

좋은 글 감사합니다

항상 댓글 감사드려요 +_+/

✈ 아직 코인에 대해서 잘 모르는 뉴비이지만 설명이 정말 재미있게 되어 있네요. 조금만 더 공부하면 될 것 같다는 생각이 들면서도 약간은 아리송하기도 하고 그러네요 ㅎㅎ 열심히 공부하겠습니다 ㅎㅎ 오늘도 초보코인 시리즈 감사해요! ㅎㅎ

저도 깡통이었습니다. 하지만 수학적인 부분을 빼고 개념적인 부분만
잘 설명할 수 있다면 그리 어려울 것도 없다는 생각입니다.
단지 이런걸 설명하는 사람이 너무 많이 알기에 설명해야 할부분을
건너뛰는 경향이 있어 어렵게 느껴지는게 아닐까 합니다

오 뭔가 엑스칼리버도 생각나네요. 헌데 참 비유가 찰지십니다 ㅋㅋㅋㅋㅋ 보다 웃었어요.

감사합니다. 비몽사몽이라 제대로 쓴거지 모르겠네요 ㅎㅎ
이제 자야죵.. 굿나잇입니당+_+/

안녕히 주무십시오...

유용한 정보를 정말 쉽게 설명해 주셨네요..^^
감사합니다.

댓글 감사합니다 +_+/

항상 좋은글들 감사합니다~ 보팅하구갑니다~!^^

감사합니다 굽신굽신~

이런 구성의 글을 작성을 하실 수 있다는것에 놀라울 따름입니다.
너무 재밌게 잘봤습니다 :)

반쯤 정신나간 상태에서 쓴거라 걱정했는데
재밌게 보셔서 다행입니다

사실상 넷상의 표준 암호화 기법, 진짜 위대한 발명은 이거인듯

그러게요. 어떻게 저런걸 생각하는지..

적절한 짤방들 때문에 글이 너무 재미있어요 ㅋㅋㅋ 좋은 글 써 주셔서 감사합니다 :)

감사합니다 +_+/

서명을 꼭 남겼던 조로 이야기가 웃기면서 옛기억나게하네요 ㅎ

옛기억이라.. 역시 아재들 끼리는 통하는 감성이+_+

옛날에 IT공부할때 배운 단어들이 나와 신선하네요~ 적절한 짤들도 활용해 주셔서 이해하기 쉬운거 같아요 ㅎㅎㅎ 자주 구경올게요~~

감사합니다 😃

좋은 예시덕에 이해가 잘 됬습니다 ㅎㅎ 그런데 지갑주소를 통해 코인을 받는 것이 은행 계좌번호와 동일한 역할을 하는 것 같은데 둘이 다른 개념인가요? 공인인증서도 전자서명이고 계좌번호도 공개키이니 코인지갑주소와 은행계좌번호 둘이 완전히 같은 메커니즘을 따르는 것이겠죠?

어 그건 아닐겁니다. 이해하기 쉽게 말한땐 공개키를 계좌번호에 빗대기도 하지만.. 일단 계좌번호는 그냥 번호를 매긴것에 불과하고 공개키는 처음 생성시부터 개인키와 수학적으로 동시 생성됩니다.
그래서 이 둘은 지갑프로그램에 의해서 서로 잠구고 열고가 가능하죠.
공인인증서의 경우는 인증서 만들때 그게 개인키고 공개키는 공인인증서쪽에서 뭐 어떻게 할겁니다. 그걸로 은행에 개인키로 잠군 정보를 전달하여 본인인증받고 은행에서 준 공개키로 거래정보 잠궈서 보내겠죠

아아.. 그럼 가장 큰 차이는 공개키와 개인키를 모두 가지고 있느냐, 개인키만 가지고 있느냐 이것인건가요? 제가 이해력이 부족해 질문이 많네요 ㅎㅎ..

아니요. 앞에 제가 지갑들에 관해 포스팅한 곳에 보면 공개키에 대해선 아무말이 없습니다. 왜냐면 개인키를 넣으면 거기에 맞춰서 공개키가 자동 계산되어 나오거든요. 역산은 안되지만 개인키만 있으면 공개키를 알아낼 수 있습니다. 지갑프로그램에 넣으면 툭튀어나오죠
공인인증서도 개인키를 넣으면 공개키 툭 튀어나올겁니다. 굳이 보여줄 이유가 없어서 안보여줄 뿐이죠.
그러니 사실 매커니즘의 차이는 크게 없을겁니다. 공인인증서도 일종의 지갑프로그램이라 볼수 있겠죠. 단지 앞서 말했듯이 계좌번호가 상관없다는 것뿐입니다
다시 첫질문으로 돌아가서
계좌번호는 공개키가 아니라서 지갑주소(공개키)와 은행계좌번호는 완전히 다르죠. 하지만 공인인증서는 지갑이랑 유사한 역할을 합니다. 다만 은행쪽은 블록체인이 아니니까 받을때마다 다른 공개키로 받지 않나 생각됩니다. 어차피 확인이랑 조작없이 받는게 목적이니까요. 그렇게 받기만 하면 이제 그냥 계좌로 따로 넣겠죠

그래서 재정리하면 블록체인은 장부자체니까 공개키를 계좌번호 같은 걸로 이용해야됩니다.
하지만 은행은 자신들 장부가 따로있습니다. 그러니 공인인증서는 단순히 상대확인이랑 조작방지로써 전자인증만 하는건데 거기서 공개키로 확인이랑 데이터를 받고나면 그 공개키는 어따 쓸까요? 그냥 버리지 않을까요?. 어차피 거래내역 같은건 자기네 장부에 계좌번호 쓰여진 거기에 쓸텐데. 공개키로 계좌번호를 할 이유가 없죠

아아 그렇군요 이제야 구조가 이해가 갑니다. 애초에 블록체인과 기존 시스템과 동일선상에 두고 생각한 것이 이해를 돕는데 방해가 됬던 것 같습니다.. 자세한 설명 정말 감사드립니다^^ 또 다른 궁금증이 생기면 조심스레 여쭤보도록 하겠습니다.. ㅎㅎ 고맙습니다!

보팅항상잘보고갑니다 ^^

상류층님이시다..;ㅁ; 감사합니다

스팀엔 재주꾼 분들이 참 많은 것 같습니다ㅎㅎ^^

ㅎ 과분한 칭찬 감사합니다 😆

예시가 정말 적절하군요... ㅋㅋㅋ
저도 암호학 수업시간에 전자서명 및 RSA 알고리즘에
대해서 공부하는데 전 완전히 이해는 못하겠더군요.
아 정말 어렵습니다 콤퓨타...

무슨 소수에다가 나누기하고 쌩쑈를 하던데
현대미술을 보는 기분. 막 사방에 선이 난무한 그림 같은거..

리베스트,샤미드,압둘라였나? 이 트리오가 가져온 복잡한 공식때문에
제가 아주 머리털이 빠지게 생겼습니다 아우우 ...ㅋㅋㅋ

관련지식이 없으니 이해를 했는지 자체를 모르겠네요.
얼마전에 양자컴퓨터를 사용하면
기존의 유사난수방식을 사용한 거의 모든 암호가 뚫린다고 해서
관련 주식이 갑자기 급등을 하고 시끌벅적 했는데요.ㅎㅎ
암호학...머리 아프네요..

양자컴터를 사용하면 그냥 다 뚫릴걸요.
오버테크놀러지인데 그거..
쉽게 말해 우린 스타워즈 제국군을 못이겨요
그리고 저건 그냥 수수께끼 같이 이해하시면 되요
두개의 재밌는 키가 있습니다~ 그런데~ 이런식으로..
아니면 지금은 이해가 안되더라도
후에 이해가 되는 시점이 와요. 어려운건 아니니까요

그렇군요..
다스베이더경이 생각나네요..
답글 감사합니다.

대박 .. 이해가 팍팍 되네여 .. 정말 감사합니다 ..
예시에 감정이입할만한 사정이 있어서 그런지 몰입해서 잘 본 것 같습니다.

그렇군요. 그 사정은 물으면 안되겠군요!
댓글 감사드립니다+_+

알고 있던 것인데도 이렇게는 설명을 못하겠습니다. 놀랍네요 ^^

이해를 위해서는 여러번 읽어야 겠네요 ㅜㅜ

와우와우!
완전 이해하기 쉽게 설명해주셨네요.!!
좋은 내용 감사합니다.

왜 여기엔 리스팀 버튼이 없지..!

진짜 쉽게 설명해주셔서 이걸 드디어 이해했어요..