본문 바로가기
Computer Security

암호를 이용한 전자상거래 - 공인인증서, 전자 봉투

by Doromi 2017. 12. 11.
728x90
반응형

공인인증서에 대해 공부해 보겠습니다~

 

 

● 공인인증서

사용자와 그 사용자의 공개키를 묶어서 이 사용자의 공개키가 이것이 맞다는 걸 문서로 정리해놓았습니다.

이 문서는 인증기관만 만들 수 있어야 합니다. 따라서 공인인증서에는 사용자+사용자 공개키+인증기관(yessign)의 전자서명이 들어가야 합니다.

결국 yessign의 비밀키를 모르면 다른 사람들이 인증서를 함부로 위조할 수 없고 yessign의 공개키만 아는 모든 은행들은 이 인증서를 검증할 수가 있습니다.  

 

▶ 공인인증서 구성

- 데이터

- 전자 서명

데이터를 SHA-1한 다음 RSA 전자 서명을 이용해서 yessign의 개인키를 가지고 서명을 생성

 

공인인증서의 문제는 인증서를 잃어버린 경우, 해킹을 당한 경우 갱신을 해야 합니다. 즉, 인증서의 유효기간이 남아있음에도 불구하고 다시 재발급을 받았을 때, 유효기간이 남아 있는 이전의 인증서는 폐기처분을 해야 합니다. 그냥 삭제한다고 폐기처분이 되는 것이 아닙니다. 폐기를 한다는 건 검증을 할 때 이 인증서는 유효기간은 비록 남아있으나 폐기된 인증서이다라는 것이 검증이 되어야 합니다. 이것이 문제입니다. 효과적으로 처리할 수가 없습니다. 폐기 목록(CRL)을 만드는 방법이 있긴 합니다. 인증기관이 CRL을 쭉 가지고 있습니다. 인증서를 검증할 때 이 인증서가 폐기 목록에 있는지를 먼저 검증합니다. 폐기 목록에 없을 경우에 인증서에 대해서 검증을 시작하는 것입니다. 이 방법이 너무너무 힘듭니다.

따라서 인증서의 사용보다 관리가 더 힘든 상황입니다. 공개키를 사용하는 이유가 키 관리를 효율적으로 하기 위해서인데 공개키를 사용하니까 키 관리는 쉬워졌는데, 인증서 관리가 매우 힘들어져서 현재 대체할 만한 것들을 생각 중이죠..

 

 

인증서를 사용할 때 어떤 과정이 필요한 지 알아보겠습니다.

▶ 인증서 사용

사용자의 공개키와 비밀키 한 쌍

 

 

u라는 사람이 어떤 사람에게 메세지에 서명을 해서 보내면 검증하는 사람은 이 서명이 u라는 사람의 것이 맞는지 검증해야 하니까 라는 공개키를 알아야 되는데 그냥 공개키만 달랑 보내면 믿지 못하기 때문에 인증서를 같이 보냅니다.

받는 사람 입장에서는 이것을 검증하려면 제일 먼저 이 인증서의 유효성 부터 검증해야 합니다.


☞ C의 유효성 검증 -> 획득(사용자가 만든 서명을 검증하기 위해서 쓰겠다)

이 서명이 맞으면 가 올바르구나(이 인증서에 들어있는 공개키가 u의 공개키가 맞네)

                             (에 대한 인증은 생략..)

 

검증 with ->결론적으로 M를 대한 신뢰

 

비로소 이 문서는 u라는 사용자가 작성한 메세지가 맞네 라는 걸 신뢰하게 됩니다.

 

 

● 전자 봉투

비대칭키를 사용하면 암복호화를 하는데 걸리는 시간이 너무 오래 걸립니다. 그래서 이전에 공부했던 것 중에 하이브리드 암호 시스템이 있었습니다. 즉 실질적인 메세지에 대한 암복호화는 서로만 아는 대칭키(공유키=비밀키)를 사용하고 이 대칭키를 비대칭키를 이용해서 암복호화를 하자는 겁니다. 이렇게 하면 암복호화는 굉장히 빨리 이루어집니다.

비밀키(임의로 만든 공유키)는 안전하게 전달을 해야 하는데 상대방의 공개키로 암호화를 해서 줍니다. 상대방은 자신의 개인키만 있으면 둘만의 비밀키가 무엇인지 복원을 할 수 있게 되고 복원된 값을 가지고 메세지의 복호화에 사용을 하게 됩니다.

 

 

 

 

 

전자봉투를 이용해서 암호화 전송하는 방식입니다.

비밀키는 대칭키로 철수와 영희만 공유하는 키입니다.

이 비밀키를 영희만 알 수 있게 하기 위해서 영희의 공개키로 비밀키를 암호화합니다. (영희의 공개키는 영희의 인증서를 검증해서 받아오게 되죠.)

 

 

 

 

 

 

 

 

 

           영희는 암호문을 복호화하기 위해서는 둘만의 비밀키를

           먼저 알아내야 하기 때문에 자신의 개인키로 전자봉투를

           복호화해서 비밀키를 알아냅니다. 비밀키를 가지고 암호

           문을 복호화 하면 원문을 바로 볼 수 있겠죠. 이것을 철수

           가 보낸 것인지 검증을 하기 위해서 철수의 인증서 검증

           을 한 뒤에 철수의 공개키를 믿게 되고 철수의 공개키로

           철수의 서명을 검증합니다.

 

 

 

 

 

 

 

 

지금까지 암복호화에 관련되어서 배운 것이 모두 포함되어 있죠~이러한 방식이 실제로 사용되고 있는게 참 신기합니다.

728x90
반응형