본문 바로가기

23년 2학기 학교공부/컴퓨터네트워크

[CN] 이메일 보안(PGP)

목차

    728x90
    반응형
    SMALL
    2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다.

     

     

     

     

    📁 E-mail Security

     

    이메일을 전송할 때 보안과 관련하여 중요한 점은 세가지가 있다.

    • 기밀성(confidential)
    • 무결성(integrity)
    • 인증(authentication)

     

     

    1. with Confidentiality

    Alice가 Bob에게 기밀성을 유지하는 이메일을 보내고 싶어한다고 하자.

     

     

     

    Alice의 입장

    1. 먼저 Alice는 Ks라는 대칭키를 제작한다. (이것을 Bob과 안전하게 나눠갖는 것이 목적)
    2. 보내려는 메세지 m 을 Alice가 제작한 대칭키 Ks로 암호화 한다. 
    3. 그 대칭키 Ks를 Bob의 공개키 Kb 로 암호화 한다. (포인트!!) -> 이 말은 Bob만이 자신의 비밀키로 저것을 열 수가 있음.
    4. 이 둘을 Bob에게 보낸다.
     
    Bob의 입장
    1. Bob은 자신의 비밀키로 Ks를 획득한다.
    2. 그리고 Ks로 잠긴 메세지박스를 Ks로 열어 m을 획득한다.

     

    대칭키 Ks는 Bob의 개인키로만 복호화하여 얻을 수 있으므로, 의도된 수신자인 Bob만 메세지를 얻을 수 있어 기밀성(confidential)이 보장된다.

     

     

     

    2. with Integrity and Authentication

    Alice가 Bob에게 무결성과 사용자 인증을 유지하는 이메일을 보내고 싶어한다고 하자.

     

    • 앨리스는 해시 함수에 원본 데이터 m을 넣어서 나온 값을 본인의 개인키로 암호화하여 보낸다.
    • 그리고 원본 데이터 m을 함께 보낸다. (그림 상에는 암호화 과정이 없지만, 여기서 다루지 않는 기본적인 암호화 과정이 있을 것으로 추측)
    • 밥은 받은 원본 데이터 m을 해시 함수에 넣어서 나온 값과, 앨리스의 공개키로 복호화하여 나온 값을 서로 비교한다.

     

    두 해시 함수 값을 비교하는 부분에서 데이터의 무결성이, 이를 앨리스로 공개키를 이용하여 복호화 가능하다는 점에서 앨리스의 개인키로 암호화했다는 사실을 알 수 있으므로 인증이 보장된다.

     

     

     

    3. with Confidentiality, message Integrity, Authentication

    최종적으로 Alice가 Bob에게 기밀성, 사용자 인증, 무결성을 모두 보장하는 이메일을 보내고 싶어한다.

    1. Alice는 메세지를 Hash하여 mac을 획득한다. H(*) 단계
    2. 그것을 자신의 private key(비밀 키)로 잠근다. (전자서명의 단계)
    3. 그리고 메세지와 잠근 mac을 (서명한) Alice가 생성한 대칭키 Ks로 잠가서 Bob에게 보낸다. 
    4. 대칭키 Ks도 Bob의 public key(공개키)로 잠가서 보낸다.
    5. 그 2개의 소포를 받은 Bob은 먼저 자신의 private key(비밀 키) 로 앨리스가 생성한 Ks를 획득한다.
    6. 그리고 획득 한 Ks로 나머지를 열어서 어떤 메세지와 누군가(Alice)가 서명한 Mac을 발견한다. (그 메세지는 아직 누가 보냈는지 모름)
    7. Alice의 public key로 열었더니 Mac이 나왔다! (Alice가 보낸 것을 확신 ! 인증단계)
    8. 그리고 메세지를 해시해서 Mac과 일치하는지 확인한다.

     

     

     

     

     

    📁 PGP(Pretty Good Privacy)

     

    PGP란 인터넷에서 사용하는 이메일 보안 기술 중 하나로 Phil Zimmermann이 개발했으며, 온라인 통신 시스템의 개인 정보 보호, 보안 및 인증 서비스를 제공하도록 설계된 암호화 소프트웨어를 말한다.

     

    AES256으로 암호화되며, 전자서명을 지원한다. (?)

     

    GnuPG란 사용자가 통신에서 데이터를 암호화하여 보낼 수 있도록 하는 OpenPGP의 구현이다. 키관리 시스템과 모듈을 사용하여 공개키 경로에 엑세스하고, 이런 공개키 경로는 다른 사용자가 인터넷에 게시한 공개키를 제공하므로, 개인키로 암호화한 메세지를 보내면 공개키 경로에 엑세스할 수 있는 모든 사람이 해당 메세지를 복호화할 수 있다.

     

     

     

     

     

    📁 S/MIME(Multi-purpose Internet Main Exchange)

     

    이메일 확장 표준.

    암호화+디지털 서명. 기밀성, 인증, 무결성

     

     

     

     

    더보기

    참고

    https://velog.io/@dltmdrl1244/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-8-4.-e-mail-Security

     

    [네트워크] 8-4. e-mail Security

    [네트워크] 8-4. e-mail Security

    velog.io

    https://pjh3749.tistory.com/223

     

    [컴퓨터 보안] PGP (Pretty Good Privacy)와 Kerberos (커버로스)

    PGP (Pretty Good Privacy)PGP는 인터넷 전자우편을 암호화하고 복호화하는데 사용된다. Phil Zimmermann이라는 사람이 개발을 했는데 개발 후에 이 사람이 수출을 시도하려다 미국에 저지 당하게 된다. 하

    pjh3749.tistory.com

    https://itnovice1.blogspot.com/2019/10/pgppretty-good-privacy.html

     

    [정보보안] PGP(Pretty Good Privacy)란?

    [정보보안] PGP(Pretty Good Privacy)란? 온라인 통신 시스템의 개인 정보 보호, 보안 및 인증 서비스를 제공하도록 설계된 암호화 소프트웨어 PGP는 공개 키 암호 방식 을 구현하기 위해 널리 사용되는

    itnovice1.blogspot.com

    https://velog.io/@seunghwanly/%EC%BB%B4%ED%93%A8%ED%84%B0%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-Network-Security

     

    컴퓨터네트워크 - Network Security

    컴퓨터 네트워크 보안관련 포스팅

    velog.io

    https://daily.from-my-daily.com/entry/frommydaily-Twofish-%EC%95%94%ED%98%B8%ED%99%94%EB%9E%80

     

    Twofish 암호화란?

    Twofish 암호화란? 암혹학에서 투피시(Twofish)는 블록크기가 128비트, 키 크기가 최대 256비트인 대칭키 블록암호시스템중에 하나입니다. 이 암호 시스템은 표준화 대상으로 선정되지 못하였고 초기

    daily.from-my-daily.com

     

    728x90
    반응형
    LIST