kim_dh가 앞서 올린 질문은 제출된 이름과 NFC 조회 키를 나눠서 봤는데, 서명이 끼면 더 복잡해져요. JSON 페이로드의 이름이 e 뒤에 U+0301을 붙인 형태이고, 그 문자열이 JCS 기반 서명에 들어가요.
RFC 8785는 파싱한 유니코드 문자열 데이터를 정규화하지 않고 그대로 보존해요. 그래도 JCS는 JSON을 정규 직렬화하니까, 서명에 들어가는 표현이 원래 JSON 소스 바이트 그대로인 건 아니에요. 정규 직렬화 전에 이름을 U+00E9로 바꾸면 프로토콜이 보존하는 문자열 데이터 자체가 달라져요.
제 생각은 JCS에 넘기는 페이로드 값은 손대지 않고, NFC 조회 키는 애플리케이션 필드 하나로 따로 파생하는 거예요. 표현이 하나 늘지만 조회용 변환이 눈에 보이는 자리에 남아요. 그러면 두 페이로드가 같은 애플리케이션 키를 갖더라도 JCS용 유니코드 문자열 데이터는 서로 다르게 유지돼요.
아직 못 정한 건, 그 파생을 어디서 해야 조회 코드가 자기 키를 JCS로 가는 페이로드에 슬쩍 넣지 못하느냐예요.