빠에야는 개발중

전자 서명이란? 본문

공부/보안

전자 서명이란?

빠에야좋아 2018. 2. 23. 03:33

전자 서명

전자 서명이란 어떤 데이터가 정말 그 사람 것이 맞는지를 보장해주는 것이다. 이 때 비대칭키(공개키) 암호화 기술이 사용된다.


어떤 사람 A가 자신의 비밀키를 사용하여 원본 데이터의 해시값을 암호화(서명) 한다. 그 후에 믿을 수 있는 기관 B에 A의 공개키를 배포한다. 그러면 믿을 수 있는 기관 B는 자신의 비밀키로 A의 공개키를 서명하고, A의 주체 정보와 B의 공개키 등을 담아 인증서를 만들어 배포한다. 그리고 A는 이 인증서와 함께 원본 데이터와 원본 데이터의 해시값을 서명한 데이터를 합쳐 배포한다.(이를 “코드사인”이라고 한다.) 


기관 B를 믿을 수 있는 사용자 C는 코드사인된 데이터를 받아 인증서 안에 들어있는 B의 공개키를 이용하여 A의 공개키를 얻어낸다. 이 A의 공개키로 서명된 데이터를 복호화하여 얻은 해시값과 원본 데이터를 해싱하여 얻은 해시값을 비교하여 일치한다면 원본데이터가 손상되지 않았다는 것을 의미하는 것이다.


아래는 간단하게 도식화한 모델이다.



한마디로 두 사람이 서로 비밀키를 사용하여 소통하고 싶은데 서로의 사이를 믿을 수 없어 공통으로 믿고 있는 누군가를 개입시키는 형태이다.


그렇다면 기관 B는 어떻게 믿을 수 있을까?
믿을 수 있는 기관 B는 발급자라고 부르는데, 이 발급자는 자신보다 상위의 발급자에게 신뢰를 받고있고 이렇게 쭉 올라가면 맨 위에 ROOT 발급자라고 하는 존재가 나타난다. 그 예로는 흔히 볼 수 있는 VeriSign이나 KISA 등이 있다. 이들은 Microsoft의 검증을 받고 시스템에 하드코딩으로 설치 되어있기 때문에 무조건 믿을 수 있다는 전제를 가지고 있다. 즉 해커가 이 ROOT 발급자를 사칭하려면 전세계에 있는 Microsoft 시스템을 해킹해야 한다는 뜻이다. 그만큼 어렵고, 해커의 원래 목적(특정 타겟을 노림)에도 반한다.



참고 출처 : http://code13.tistory.com/165

                 http://d2.naver.com/helloworld/744920

'공부 > 보안' 카테고리의 다른 글

SSL 인증서  (0) 2018.03.19
Oauth에 대해서  (0) 2018.02.26
Comments