그는 공인인증서 없는 한국인처럼 울었다.
이걸 번역하려면 정말 상상이상의 난이도일 정도로.. 공인인증서는 한국의 갈라파고스화의 상징입니다.
공인인증서가 도대체 무엇이길래? 은행과 정부가 그렇게 목을 매는지. 한번 저의 짧은 지식을 끄적거려 보겠습니다.
먼저 공인인증서에 대해 이해를 하려면 공개키 암호화 방식에 대해 이해를 해야합니다.
원리는 이렇습니다:
상황: 영희와 철수가 서로 암호화된 이메일을 주고받아야 합니다.
1. 영희와 철수는 각각 개인키와 공개키를 만듭니다.
2. 개인키는 영희와 철수 자신만 볼 수 있게 꽁꽁 숨겨놓습니다.
3. 영희와 철수 서로 공개키만을 주고받습니다.
공개키 암호화 방식은 개인키로 암호화하면 공개키로만 풀 수 있고, 개인키로 암호화하면 공개키로만 풀 수 있습니다.
4. 영희는 자신의 개인키로 암호화하여 철수한테 이메일을 보냅니다.
5. 철수는 영희의 공개키로 이메일을 열어봅니다.
6. 철수는 자신의 개인키로 암호화하여 영희한테 답장을 보냅니다.
7. 영희는 철수의 공개키로 이메일을 열어봅니다.
이 과정에서 서로 교환하는것은 공개키 입니다. 개인키는 절대 외부에 드러나지 않습니다. 공개키만으로는 주고받는 데이터를 절대 알아볼 수 없습니다.
근데, 이 과정에서 부인방지 효과라는게 발생합니다. 영희의 개인키로 암호화된 이메일은 영희의 공개키로만 풀 수 있습니다. 그럼 영희의 공개키로만 열리는 이메일은 확실히 영희가 보냈다는 것이라고 신뢰할 수 있는거죠.
이게 공인인증서가 없어지지 않는 이유입니다.
바꿔 말하면 개인키가 유출될 경우, 이 보안 방식은 망가져버린다는 것 입니다. 한국식 공인인증서는 개인키를 안전하게 보관하지 않고 그냥 파일로 저장합니다. 이 글을 보는 여러분 컴퓨터의 NPKI폴더에요.
그러면 표준인 SSL방식은 어떨까요?
1. 웹 사이트는 인증 기관에 의뢰하여 사이트 정보를 검증하고(EV-SSL: 자물쇠가 녹색이며 관리 주체가 표시되는 인증서 입니다. 공인인증서는 EV-SSL이 대체할 수 있습니다.), 인증 기관은 웹 사이트를 철저히 검증하고, SSL인증서를 발급합니다. 인증서 안에는 사이트의 정보와, 사이트의 공개키가 들어 있습니다. 이 두 정보를 인증 기관의 개인키로 암호화한 것이 인증서 입니다.
2. 웹 브라우저 안에는 인증 기관의 공개키가 내장되어 있습니다.
그럼 공인인증서는 뭐가 다를까요?
1. 공인인증서를 받을때 우리는 공인인증 기관에 가서 우리의 신분을 증명합니다.
2. 그러면 인증 기관은 개인키와 공개키 한 쌍을 발급하고, 공개키와 개인정보를 인증 기관의 개인키로 암호화하여 인증서를 만들고 개인키와 같이 줍니다.
3. 그리고 이 공인인증서와 개인키는 컴퓨터 NPKI폴더에 허접하게 (...) 저장되어 있습니다.
공인인증서와 SSL은 서버를 인증하냐 사용자를 인증하냐 그 차이밖에 없어요.
사실상 누가 누굴 인증하냐만 뒤바꼈을 뿐, 둘의 작동 원리는 같습니다.
오히려, 서버는 개인키가 관리자 권한이 분리되어있어 엄격히 관리되는 반면, 개인 PC는 개인키 유출이 대단히 쉽기 때문에 공인인증서가 더 위험합니다.
위에서 말씀드렸듯이, 공개키 암호화 방식에서는 개인키가 유출되면 보안이 망가진다는 뜻입니다.
한국 은행 사이트를 쓰는것과 외국 은행 사이트를 비교해볼까요?
한국:
1. 공인인증서를 제시하고 비밀번호를 입력하여 로그인을 합니다.
2. 이체할때 OTP나 보안카드를 사용합니다.
외국:
1. 아이디와 비밀번호를 입력하고 로그인을 합니다.
2. 이체할때 OTP나 보안카드를 사용합니다.
단순히 SSL과 공인인증서는 "연결의 보안"을 지켜주는 역할밖에 할 수가 없습니다.
공인인증서는 추가해서 사용자의 개인키로 전자서명을 하게 하지만, 공인인증 방식이 안전하다면 보안카드와 OTP를 쓸 이유도 없습니다.
그러니까, 이체할 때 본인이 직접 거래를 했다는것을 증명하는 것은 실물로 소유하고 있는 OTP나 보안카드라는 것 입니다. (이마저도 보안카드는 유출사고가 잦죠.. 절대 사진찍거나 보안카드 어플에 적어두시거나 메모하시면 안됩니다. 1년에 한번씩 교체발급도 권해드려요.)
위에서 부인방지 효과에 대해 말씀드렸습니다.
우리가 이체할 때, 공인인증서 비밀번호를 입력함으로써 우리 개인키로 거래내역을 전자서명하여 은행에 전송하면 은행에서는 아! AAA님의 개인키로 서명하신걸로 봐서 AAA님의 거래가 틀림없습니다! 라고 면죄부를 쥐어주는 꼴이죠.
이게... 공인인증서에 목을 매다는 이유입니다.
보안프로그램이요?
간단하게만 말하겠습니다. 다 공인인증서의 개인키를 지키려고 하는 것들이지만, 다 쓸모없습니다.
요약:
1. 공인인증서가 거래자를 증명하는게 아니라, 보안카드와 OTP가 진짜 거래자를 증명합니다.
2. 쓸데없는 보안프로그램 전부 다 허술하기 짝이없는 공인인증서와 개인키를 지키기 위해서 까는겁니다.
3. 부인방지? 다 그들의 헛소리죠.
뭐 그냥 장황하게 썼는데
허...
부디 쉬운 설명이였기를 바랍니다...
질문은 댓글로 해주시면 답변해드리겠습니다..어흑 나 글 너무 못쓰는거같아...