Ed25519 소개 (dkim 새 보안 알고리즘)

soyeomul@yw-1204:~/karma$ ls -l
total 12
-rw------- 1 soyeomul soyeomul 4891 Apr 14 16:38 20230415-johnl
-rw------- 1 soyeomul soyeomul 1542 Apr 28 01:27 ed25519-verify.txt
soyeomul@yw-1204:~/karma$ sudo opendkim-testmsg < 20230415-johnl
opendkim-testmsg: dkim_eom(): Bad signature
soyeomul@yw-1204:~/karma$ sudo opendkim-testmsg < ed25519-verify.txt
soyeomul@yw-1204:~/karma$ 
soyeomul@yw-1204:~/karma$ 
soyeomul@yw-1204:~/karma$ 

처럼

opendkim-testmsg 라는 명령어로 도착한 메일을 다시
검증 가능합니다

검증 성공하면 아무런 메시지 없이 셸이 떨어지고
검증 실패하면 에러 메시지를 내뱉으며 셸이 떨어집니다.

ed25519 라는 새로운 보안 알고리즘이 세상에 나오기까지
qmail 저자이신 번스타인 교수도 참여했습니다
ed25519 알고리즘 만들때요

각설하고 이걸 DKIM에서도 사용할 수 있도록 RFC에서도 소개하고 있어요

아직 순정 opendkim 2.11.0 에서 RSA/ED25519 이중 서명은 지원하지 않습니다.
단일 서명만 지원합니다. RSA만 하던지 ED25519만 하던지…
이중 서명 하려면 dkimpy-milter 라는 프로그람을 쓰면 가능하긴 합니다.

그리고 아직 구글 Gmail 에선 이 ED25519 를 지원하지 않습니다.
아무래도 테스트 기간이 무척 소요될 수 있다는 생각을 해봅니다.
Gmail 은 상상 이상으로 덩치가 엄청 크자나요~

개인적으로
테스트 삼아 ED25519 만 서명해서 테스트 해 볼 수는 있습니다.

제가 테스트 성공한걸 참고문헌으로 첨부합니다:
[1] 은 ED25519 전용 KEY 만드는 스크립트 입니다
[2] 는 ED25519 서명된 이메일 전체 헤더입니다
[3] 은 ED25519 서명된 이메일이
독일 프랑크푸르트 서버(yw-1204)에서 검증 성공 장면입니다

[1] https://gitlab.com/soyeomul/Gnus/-/raw/karma/DKIM/ed25519.sh
[2] https://gitlab.com/soyeomul/Gnus/-/raw/karma/DKIM/ed25519-verify.txt
[3] https://gitlab.com/soyeomul/Gnus/-/raw/karma/DKIM/ed25519-verify.log

2개의 좋아요

참 새 키(key)를 만들고 이것을 DNS 에다 올렸을때
내 키가 제대로 만들어졌나 안만들어졌나
또는
DNS 셋업을 제대로 햇나 안햇나
이걸 확신하기 힘들때

다음 주소에서 검증 하세요:

해당 링크는
ED25519 키도 제대로 잡아줍니다.
갱장히 현시점에서 희소성이 있는 사이트입니다.

다른곳은 아무리 둘러봐도
ED25519 키검증을 지원해주지 않아요…

@.@

관련스샷:

저는 이제까지 메일을 사용할 때 웹 클라이언트로만 사용 해와서 이런 직접 메일 서버/클라이언트를 돌려야하는 상황이나 감각을 이해하지 못하고 있어서 굉장히 새롭네요.
어떤 연유로 직접 이런 부분을 손보게 됐나요

1개의 좋아요

가장 처음 콤푸타/인터넷을 접했을때

patnom@hanmail.net
(뱃놈 한메일 넷 – 최초의 이메일이엇섬미다 지금은 안씀미다)
처럼 이런 도메인 구조가
신기햇어요

해군 첫휴가 나왓눈데 슨배를 만나서 술한잔하믄서
이바구 나누는데
(이때 대한민국 최초 이메일 서비스 다음 한메일 탄생한지 얼마되지 않앗어요)

슨배왈 이메일 보낼줄 알면 콤맹을 면한다네여
그래서 그길로 이메일 전자메일 관련 기술에
빠져들엇섬미다

@.@

1998년-1999년 …;;;

2개의 좋아요

아, 해군이요…ㅎㅎ
제가 403기 입니다…콜록~~

와~~ 이메일 전문가 셨네요~꾸벅~
3년전부터 이메일 서버 운영해 보려고 독학하고는 있는데요~~~
올려주신 글을 이해하기엔 아직 먼거 같습니다~~ㅜㅜ;;

@.@

1개의 좋아요

아이고 이메일 전문가라뇨
그냥 보통사람들보다 이메일을 좀 조아하는편이에요;

오픈소스 프로젝트 메일링에서 날라오는
해커들의 메일헤더들을 살펴보고 분석하는게
취미임미다!

소중한 정성 댓글 감사함미다!!!

1개의 좋아요

추가로 opendkim-testmsg 라는 프로그람에 대한 보충 내용입니다.

지금으로선 ED25519 키를 검증해주는 서비스가 전무합니다.

OpenDKIM 데비안 메인테이너 (David Bürgin) 에게도 메일을 보내봤지만
ED25519 키를 검증하는 수단은 현재로선 OpenDKIM 패키지를 설치하면
자동으로 딸려오는 opendkim-testmsg 를 적극 활용하라는 답변을 받았습니다.

그래서 좀 더 테스트를 해봤습니다

단일 키만 서명된것은 확인이 쉽습니다.
헤깔릴것도 없고요

하지만 복수개의 키가 서명된 메일을 검증할땐
헤깔릴 수 있습니다.

이것만 알면 됩니다
복수개의 키중에 하나라도 실패하면
opendkim-testmsg 프로그람은
에러메시지를 내뱉으며 셸이 떨어집니다.

키마다 다 이상이 없어야지만
opendkim-testmsg 는 아무 에러 없이
셸이 떨어집니다.
요게 DKIM키들의 검증 성공의 의미입니다.

해보면 알겠지만
DKIM키가 서명된 메일은
본문 내용을 수정하면
검증에 실패합니다.

이런 메카니즘이 있기에
독일 법원에서는
전자메일(이메일)을 증거 자료로 제출할때
DKIM 키 검증을 요구합니다.

갱장히 독일 법원은 과학적으로 최첨단을 달립니다.
대한민국 법원도 장래에 이런 DKIM 키 검증을 통하여
좀 더 과학적으로 나아가길 기대해봅니다…

;;;

UPDATES:
dnswl.org 메일링서버 ED25519 키 검증해주는걸 좀 전에 확인했습니다.
opendkim-testmsg 로 테스트해봐도 헤깔리는 분들은
dnswl.org 메일링에 가입하여 그곳으로 메일을 보내서
돌아오는 메일의 전체헤더를 까보면
검증 성공/실패 유무를 알 수 있습니다.

2개의 좋아요

재미있는 얘기네요. 답변 감사합니다.

1개의 좋아요