본문 바로가기

교육/암호학

Day 49 (암호학)

반응형

<목차>

1. 서명통신과 전자봉투를 이용한 통신의 프로그램 통합

2. 공개키를 이용한 암호화 과정

3. 개인키를 이용한 복호화 과정

 


1. 서명통신과 전자봉투를 이용한 통신의 프로그램 통합

 

비밀키를 이용해 키를 분배하는 경우에는 상면이 반드시 필요하다. 또한 문제 발생시 근원지 증명 불가하다.

이를 해소하기 위해 키쌍(개인키, 공개키)을 생성하여 이용한다. 공개키로 암호화 하는 것은 개인키를 알 수 없다면 평문 확인이 불가능 하다. 기밀통신은 수신자의 공개키로 암호화 한다. 서명문 통신은 송신자의 개인키로 암호화한다. 누구나 다 내용을 알 수 있지만 암호문 생성이 가능하다.

문서에 서명을 추가하게되면 message를 인증하는 것이다. 결과를 해시함수를 이용해 다이제스트를 생성한 값과 수신한 다이제스트를 비교하여 일치하는 지를 이용해 근원지 증명과 위변조 여부를 알수있다. 만약 다르다면 서명이 가짜이거나 위변조 된 메시지이다. 하지만 어떤것이 문제인지는 알 수 없다.

 

① 메시지를 위변조 확인을 위해 해시함수를 이용해 다이제스트를 생성한다. 근원지 증명을 위해 송신측의 개인키로 서명을 생성한다. 메시지와 서명이 합쳐진 메시지 M을 생성한다.

② 비밀키를 세션키로 사용하기 위해 난수를 발생시켜 기밀성을 위해 메시지 M을 암호화한다. 비밀키를 수신측만 알 수 있게 수신측의 공개키로 암호화하여 전자봉투를 생성한다. 발생된 암호문을 수신측에 전송한다.

③ 수신한 암호문에서 전자봉투를 수신측의 개인키로 복호화 하여 비밀키를 얻는다. 비밀키를 이용해 암호화된 메시지를 복호화 하여 메시지 M을 얻는다.

④ 메시지 M에서 얻은 메시지를 해시함수에 넣어 위변조 확인을 위해 다이제스트를 생성한다. 서명을 송신측의 개인키로 복호화 하여 근원지 증명을 하고 다이제스트를 얻는다. 메시지에서 얻은 다이제스트와 서명의 다이제스트를 비교하여 위변조 여부를 확인한다.


2. 공개키를 이용한 암호화 과정

 

① 다른사람의 공개키를 가져온다.

② Imported Certificates에 추가 된다.

③ 클립보드를 이용해 암호화 되기 때문에 텍스트를 작성하고 클립보드로 복사한다.

④ 작업표시줄 아이콘에서 Kleopatra아이콘을 찾아 clipboard에 Encrypt를 선택한다.

⑤ 암호문을 만들 공개키를 선택한다.

⑥ 수신자의 공개키 인지 확인한다.

⑦ 암호문을 생성하여 클립보드에 저장되었다. 창을 닫게 되면 암호문의 클립보드가 사라지기 때문에 창을 유지한 상태로 복사해야 한다.

⑧ 메모장에 붙여넣기하면 암호문 확인이 가능하다. 암호문은 반드시 암호문 전체를 보내야 한다.

실습과정1
다른 사람의 공개키를 입력한다.
다른 사람의 공개키 파일을 선택한다.
1개씩 따로 추가해 주어야 오류가 적다.
추가된 공개키 값들의 목록
원문 메시지
작업표시줄에서 클립보드에 있는 내용을 암호화한다. 암호화 할 내용은 반드시 클립보드에 있어야 한다.
암호화할 수신자의 공개키를 선택한다.
수신자의 공개키를 확인한다.
암호화가 완료되었다. 창을 닫게되면 클립보드가 지워지기 때문에 붙여넣기를 하고 창을 닫아야 한다.
암호화된 내용



 

3. 개인키를 이용한 복호화 과정

 

① 사용자의 공개키로 암호화된 암호문을 가져온다.

② 암호문 전체를 클립보드에 복사한다.

작업표시줄 아이콘에서 Kleopatra아이콘을 찾아 clipboard에 Dencrypt를 선택한다.

④ 사용자의 개인키를 입력한다. 개인키가 다르다면 아무것도 저장되지 않는다.

⑤ 복호화가 진행된고 완료되면 자동으로 클립보드에 복사한다.

⑥ 메모장에 붙여넣기하여 원문을 확인한다.

실습과정2
수신한 암호문을 클립보드에 복사한다.
클립보드에 있는 내용을 복호화 한다.
개인키를 입력한다.
복호화를 완료하였다.
암호문과 원문을 출력한다.

 

반응형

'교육 > 암호학' 카테고리의 다른 글

Day 50 (암호문 + 네트워크)  (0) 2020.01.30
Day 48 (암호학)  (0) 2020.01.28
Day 46 (암호학_인증서)  (0) 2020.01.22
Day 46 (암호학_Kerboros)  (0) 2020.01.22
Day 45 (암호학)  (0) 2020.01.21