티스토리 뷰

IT/IT뻘글

about 공인인증서

리쫑v 2014. 3. 20. 19:52

우리는 집에서 인터넷 뱅킹을 하기 위해 공인인증서를 발급받아 이를 사용한다.

그런데 얼마전 대통령이 이런말을 했다고 한다.


박 대통령은 없어져야 할 규제의 대표적인 예로 공인인증서를 들었다. 박 대통령은 "최근 방영된 우리나라 드라마가 중국에서 큰 인기를 끌었고 수많은 중국 시청자들이 극중 주인공들이 입고 나온 의상과 패션잡화 등을 사기 위해 한국 쇼핑몰에 접속했지만 결제하기 위해 요구하는 공인인증서 때문에 결국 구매에 실패했다고 한다"며 "우리나라에서만 요구하고 있는 공인인증서가 국내 쇼핑몰의 해외진출에 걸림돌이 되고 있는 것"이라고 지적했다


이 말을 듣고 조낸 쳐 웃다가 옆자리계신 나의 사수님과 공인인증서에 대한 이야기를 나누게 되었다.


대통령의 말을 들은 KISA는 플러그인이 없이 HTML5를 지원하는 브라우저에서 공인인증서를 사용가능하게 할 수 있는 프로젝트를 수주했다.


사수님 왈

이게 됐으면 지금까지 플러그인만든사람들은 다 병신이게?


왜 플러그인이 필요한지 생각해보다가, 내가 알고있는 상식들이 조금 틀렸다는생각을 갖게되었다.

우선 이 페이지는 팀장님이 보내주신 링크다

http://opennet.or.kr/3996

여기를 보면 우리나라 공인인증서 문제를 어떻게 풀어야 할지 포스팅 되어있다.

간략하게 내용을 요약해보면 다음과 같다.


ID/PW외에 Secure통신을 하기위해 제3자의 인증이 필요하다.

각 웹 브라우저들이 신뢰하는 인증기관 목록에 KISA를 포함한 우리나라 인증기관들은 미포함된 상태이다.

-그 이유는 KISA가 제3자의 검증절차를 거절하기 때문이다.

따라서 우리나라 인증기관들은 웹브라우저에서 인정하는 HTTPS통신을 할 수 없다.

- 이렇게되면 웹브라우저에서는 신뢰할 수 없는 기관이라는 표시를 해준다.

그래서 우리나라는 공인인증서라는 체계를 만들고, 별도의 플러그인을 반드시 포함하는 인증체계를 만들게 되었다.


글 작성자의 결론은 다음과 같다.

각 사이트가 알아서 인증을 받고 사용하도록 '공인인증서 사용'을 정부가 강제하지 말라.

KISA는 제3자 검증을 통해 웹브라우저가 신뢰할 수 있는 기관이 되어라.


이 글을 읽고 옳다옳다 생각했지만. 내 머릿속 남는 궁금증을 해결하기위해 위키를 들여다본다.

http://ko.wikipedia.org/wiki/%EA%B3%B5%EA%B0%9C_%ED%82%A4_%EC%95%94%ED%98%B8_%EB%B0%A9%EC%8B%9D

내가아는 공개키암호화 방식은 평문을 공개키로 암호화해서 상대에게 전달하면 수신자는 비밀키로 이를 복호화 해서 확인 방식이다.

결론부터 말하자면 이말은 틀린말이 아니었다.

다만 공인인증서의 작동방식은 '공개 키 서명'으로 볼수 있다는 점이 내 상식과 다른점이었다.


사수님이 걸어주신 링크는 다음과 같다.

http://rocketbox.co.kr/20130245218


이 글을 요약해보면 공인인증서를 사용하는 절차는 다음과 같다.

1. 처음 공인인증서를 발급할때 내 개인정보(인증서 비번포함)의 해시값을 만들어 인증기관(KISA)의 비밀키로 암호화한다. 이를 내 로컬PC에 저장하는데 이를 '공인인증서' 라 부른다.

2. 내가 은행과 통신할때 은행은 내가 진짜 LJ인지 궁금해한다.

3. 그래서 은행은 내 로컬에서 일련의 과정을 수행한다.

4. 나의 개인정보들(인증서 비번포함)의 해시값을 만든다.

5. 내 공인인증서를 인증기관(KISA)의 공개키로 복호화한다.

6. 4와 5의 값이 같다면 나는 LJ가 맞다고 봐도 된다.


여기서 의문점이 생겼다.

개인정보를 비밀키로 암호화했는데 이걸 공개키로 복호화가 가능한가?

이에대한 답은 다음과 같다.

공개 키 암호화 방식은 수학적인 난제를 바탕으로 구성이되었다.
해를 구하기 위해 2개의 값이 필요한 방정식으로 대충 생각해보자.
여기서 중요한 점은 2개의 값이 한 쌍으로 존재할때 의미가 있다는 점이다.

따라서 공개키/비밀키의 개념보다는 두개의 키가 Pair로 존재한다는 점이 중요하다.

그래서 하나의 키는 다른 키로 복호화가 가능하다고 볼수 있다.


여기까지 생각하는게 좀 오래걸렸다. 위에 링크된 블로그에 들어가보면 상세한 정보를 그림과함께 볼수있다.


그렇다면 플러그인이 필요한 부분은 어디인가.

바로 발급자의 공개키로 복호화 하는 부분이다.

발급자(KISA)의 root Key(공개키)가 반드시 내 로컬에 저장되어 있어야만 내가 내가 맞는지 틀린지를 알 수 있는 것이다.


내가보기엔 논리적으로 풀기 어려운 점들이 많다.

어떤답이나올지는 나도 참 궁금하다.




'IT > IT뻘글' 카테고리의 다른 글

MSSQL OUTBIND PARAM 없을때  (0) 2014.11.18
기계식키보드 입문기.  (4) 2014.08.14
2013/8/29 Java Developer Day 후기  (0) 2013.08.30
OCZ Vertex3 60g  (0) 2013.03.22
ipCAM 제작기 #4  (0) 2012.10.31
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함