전자서명이란?
전자서명이란 드라이버, 프로그램, 홈페이지, 은행 등 서비스 제공기관에서 서비스를 안전하게 받을수 있도록 사용자의 인증을 위한 암호방식입니다. 안전한 파일이나 다운로드시 인증을 하기위해 code-signing 과 같은 작업도 전자서명이고 홈페이지가 안전하다는 것을 인증받기 위해 SSL을 적용하는것도 전자서명입니다. 즉 전자 서명은 우리가 일상생활에서 신원을 확인하거나 거래를 하려고 할 때 주민등록증이나 인감 날인 또는 서명 등이 필요하듯이, 인터넷상에서도 이를 확실히 보장해 줄 수 있는 수단이 전자 서명입니다.
전자성명이된 인증서를 확인하는 방법(홈페이지환경)
다음 이미지는 크롬 브라우저를 열고 네이버를 접속하였을때 SSL을 적용한 홈페이지의 이미지 입니다.
인증서가 유효함을 클릭하면 다음과 같은 창이 나옵니다.
세부정보를 누르면 다음과 같은 창이 나오는데 인증서 3개가 연결되어 있는 것을 확인할 수 있습니다. 이는 인증서 체인이라고 하는데 가장 상단에 있는 Root CA 로 부터 인증 받은 중간 인증기관이 있고 두번째 인증기관으로부터 인증을 받은 인증서를 확인할 수 있습니다. 이런식으로 인증서간의 인증절차를 위해 상위 CA가 전자서명을 해주는 것을 브라우저를 통해서도 확인할 수 있습니다.
전자서명의 기능
1. 서명자의 신분을 증명합니다.
2. 서명자가 서명했다는 사실에 대한 부인봉쇄를 합니다.
3. 서명한 데이터에 대한 변조되지 않았음을 증명합니다.
전자서명의 원리
전자서명이된 인증서는 다음 그림으로 먼저 보여드리겠습니다.
1. 회사M은 프로그램을 개발합니다.
2. 전자서명을 하는 과정에서 파일의 해시값을 구합니다. 해시값을 구하는 이유는 변경사항을 추적하기 위해 해시값을 구합니다. 그리고 대용량의 파일인 경우 비교하는데 오래걸리기 때문에 해시값을 이용하여 비교하게 됩니다.
3. 회사M의 개인키를 사용하여 해시값을 암호화 합니다. 이 과정에서 개인키를 이용하는데 개인키는 서명용 인증서를 이용해서 내부적으로 서명과 같은 과정을 거칩니다.
4. 파일에 전자서명한 내용을 첨부하여 인증된 파일이라는 것을 증명합니다.
5. 인터넷에 파일을 배포합니다.
6. 사용자가 파일 다운로드를 시도합니다.
7. 파일에서 전자서명의 부분을 회사M의 공개키로 복호화 해서 암호화 했던 해시값을 얻습니다. 이 과정에서 전자서명은 회사M의 개인키로 암호화한 해시값으로 회사M의 공개키로 복호화가 성공하면 회사M이 개발한 프로그램임을 증명됩니다.
8. 파일을 이전에 암호활때 사용한 똑같은 해시알고리즘을 사용하여 해시값을 얻습니다.
9. 복호화해서 얻은 해시값과 파일을 해시화 해서 얻은 값과 비교하여 동일한지 비교합니다. 이 과정을 통해 값이 동일하다는 결과가 나오면 개발~배포~다운로드 까지 아무런 변화가 없었다는 것을 증명합니다.
'cryptology' 카테고리의 다른 글
단방향 암호화란? MD5 암호화란? (0) | 2022.09.17 |
---|---|
양자암호란? (0) | 2022.09.13 |
ECC 암호화란? 타원곡선 암호란? (0) | 2022.09.11 |
ElGamal 란? 엘가말 암호란? (0) | 2022.09.04 |
RSA 란? (0) | 2022.09.03 |
댓글