Summary

  • Structured Email 본문 초안은 application/ld+json으로 기계가 읽을 수 있는 내용을 제안한다. 신뢰 초안 02판은 메일 앱이 그 내용을 언제 표시하고 처리할지 정한다.
  • 4.1절에는 일곱 가지 대안적 표시 조건이 있다. 신뢰하는 서명자, 이미 이어지는 신뢰 관계, 앞서 신뢰한 메시지와의 연결이 포함된다.
  • DKIM은 메일 전체를, JWS는 구조화된 부분만을 서명할 수 있다. 서명자를 믿을지는 수신 앱이 판단한다.

한 통의 메일 안에는 서로 다른 세 겹의 설명이 놓인다. 일반 텍스트는 출발 시각을 알리고, HTML은 보기 좋은 여행 일정을 그린다. 구조화된 부분은 예약과 장소, 가능한 행동을 소프트웨어에 전달한다. 본문 초안은 세 번째 형식을 마련한다. 11월 2일자 신뢰 초안은 앱이 언제 그것을 화면의 조작으로 바꿔도 되는지 묻는다. 데이터의 존재와 버튼의 등장은 별개의 사건이다.

초안은 스팸, 일반 메일, 신뢰할 수 있는 메일을 구별한다. 제안된 모델에서 구조화 데이터 처리는 마지막 범주에 연결된다. 암호학적 검사는 내용과 서명자의 관계를 보여준다. 앱은 그 서명자가 이 수신자의 화면에 행동을 요청할 자격이 있는지 고른다. 사용자는 앱의 판단 과정을 보지 못한 채 깔끔한 버튼을 만난다.

4.1절은 버튼까지 이르는 일곱 경로를 제시한다. HTML보다 공격 표면을 늘리지 않는 경우, 기존 일정 초대나 변경과 같은 대우를 받는 경우가 있다. 신뢰하는 발신자와 유효한 개인·도메인 서명, 같은 발신자와 DKIM, 신뢰하는 JWS 서명자도 경로다. 나머지는 신뢰하는 발신자와 이어지는 대화, 과거에 신뢰한 메시지와의 연결이다. 일곱 항목을 모두 통과해야 하는 절차가 아니라 선택 가능한 조건이다. 같은 MIME을 받아도 앱마다 저장한 대화와 정책이 달라 다른 화면이 나올 수 있다.

오래된 대화가 새 버튼에 힘을 준다

대화 기록은 편리한 지름길이자 공격자가 노릴 자산이다. 이미 대화에 참여한 계정이 탈취되면 새 메시지는 오래된 친숙함을 빌려 행동 버튼을 얻을 수 있다. 운영자는 어느 과거 메시지를 근거로 삼았고 그 신뢰가 언제 끝나는지 알아야 한다. 서명 검사가 성공했다는 기록만으로는 버튼이 생긴 이유를 설명하지 못한다.

서명의 범위도 다르다. DKIM은 메일을 대상으로 하고 JWS는 구조화 데이터에만 적용할 수 있다. 초안에는 분리된 JWS 페이로드와 원본 바이트 대 정규화 JSON 비교 문제가 남아 있다. 스팸 필터가 일반 본문을 읽고 앱은 JSON-LD에서 행동을 만들면, 심사한 여행 정보와 화면에 그린 정보가 어긋날 수 있다. 텍스트, HTML, 구조화 데이터, 서명 범위와 실제 버튼을 한 줄에 놓고 확인해야 한다.

외부 참조는 수신함 밖으로 나가는 통로다. 앱이 원격 자료를 불러오면 열람 사실이 상대에게 전해지고 서명된 내용 밖의 정보가 들어올 수 있다. 4.3절은 의미 있는 상호작용에 웹 요청이 필요한 경우 자료를 자체 완결적으로 담으라고 권고한다. 같은 서명된 MIME, 이어진 답장, 외부 참조를 여러 메일 앱에서 비교한 공개 시험은 아직 부족하다. 화면과 네트워크 기록을 함께 남기면 실제 경계를 볼 수 있다.

신뢰 초안 이력 · 본문 초안 · DKIM · JWS