2025-12-27의 v1.29.0과 2026-01-02의 v1.30.0 사이에, SSP는 변경 로그에서는 작아 보이지만 아키텍처 다이어그램에서는 크게 보이는 두 개의 릴리스를 출시했습니다. v1.29.0은 요청 인증을 추가했습니다 — 지갑이 받는 모든 dApp 요청의 출처와 무결성을 검증합니다. v1.30.0은 SSP Identity Signing을 추가했습니다 — 지갑이 트랜잭션에 서명할 뿐 아니라 원격 서비스에 자신의 신원을 증명할 수 있습니다. 둘은 함께 WalletConnect와 함께 열린 dApp 요청 표면을 강화하고, 원래의 Identity 기능을 서비스가 도전할 수 있는 일급 원시 요소로 바꿉니다.
요청 인증이 착륙(v1.29.0)
dApp 요청 — 이것을 서명하라, 저것을 승인하라, 이 체인으로 전환하라 — 은 전송 계층을 통해 지갑에 도착합니다. WalletConnect에서 그 전송은 릴레이를 거친 세션이며, inpage 프로바이더에서는 Chrome 확장 메시지입니다. 각각은 적어도 하나의 신뢰 공백이 있습니다: 릴레이가 가장될 수 있고, 페이지가 피싱 복제본일 수 있으며, 메시지가 위조될 수 있습니다.
요청 인증은 그 공백들을 지갑 쪽에서 닫습니다. SSP가 확인 화면을 그리기 전에, 누가 묻고 무엇을 묻는지 검증합니다. 요청이 주장하는 출처는 요청을 전달한 전송과 대조됩니다. 페이로드는 무결성에 대해 점검되며 — 지갑은 전송 중에 수정된 요청에는 서명하지 않습니다. 그리고 요청은 지갑이 이미 보유한 세션 상태와 대조되어, 다른 세션에서 재생된 요청이 다른 사람의 페어링을 가지고 슬쩍 들어가지 못하게 합니다.
이 중 어떤 것도 합법적인 dApp이 서명을 요청할 때 보이는 것은 변경하지 않습니다. 확인 화면은 똑같이 보입니다. 변하는 것은 dApp과 그 화면 사이의 경로가 이제 전송이 누구를 위해 배달하는지에 대해 정직하다고 신뢰하는 대신, 지갑 자신이 강제하는 가드레일을 갖게 되었다는 점입니다.
Identity Signing이 뒤따름(v1.30.0)
일주일 뒤, v1.30.0은 반대 방향으로 갔습니다. 그때까지 SSP Identity는 메시지 — 사용자가 키를 통제함을 증명하는 문자열 — 에 서명할 수 있었습니다. v1.30.0은 신원으로서 서명하는 능력을 추가합니다: 원격 서비스는 자신이 기대하는 SSP Identity의 이름을 명시한 챌린지를 발급할 수 있고, 지갑은 서비스가 검증할 수 있는 방식으로 응답을 그 신원에 묶는 서명을 반환합니다.
차이는 미묘하지만 하중을 짊어집니다. 메시지에 서명하는 것은 키가 무언가를 통제함을 증명합니다. 신원 서명은 키가 이름이 붙은 신원을 통제함을 증명합니다 — 서비스가 이미 권한, 잔액 또는 구독과 연결한 안정적인 핸들. "사용자가 있는가"뿐 아니라 "이 계정을 설정한 동일한 사용자인가"도 알아야 하는 서비스에게 신원 서명은 루프를 닫습니다. v1.30.0은 또한 요청 팝업 처리를 다듬었습니다 — 깜박임이 줄고, 사라진 팝업이 줄고, 포커스로 더 빨리 복귀합니다.
이것이 dApp에 왜 중요한가
dApp 위협 모델은 작은 근본 원인 집합을 공유합니다. 출처 스푸핑 — 악성 페이지가 신뢰된 페이지인 척합니다. 재생된 요청 — 한 세션에서 서명된 페이로드가 캡처되어 다른 세션에서 제출됩니다. 피싱 표면 — 확인 화면에서 합법적으로 보이는 요청이 실제로는 공격자의 컨트랙트로 갑니다.
요청 인증은 셋 모두를 좁힙니다. 왜냐하면 지갑이 전송을 권위로 취급하기를 멈추기 때문입니다. 출처는 전송과 일치해야 하고, 페이로드는 보낸 것과 일치해야 하며, 세션은 페어링된 것과 일치해야 합니다. 각 점검은 그 자체로는 작지만, 함께라면 확인 화면을 사용자가 현실을 반영한다고 신뢰할 수 있는 것으로 만듭니다. 신원 서명은 다른 공격 — 재페어링을 통한 계정 탈취 — 을 좁힙니다. 왜냐하면 지갑에 이름이 붙은 신원으로서 서명을 요청하는 서비스는 "지갑이 로그인했다"를 검증 가능한 결속으로 바꾸기 때문입니다.
WalletConnect와 어떻게 어울리는가
WalletConnect는 수천 개의 dApp으로 가는 문을 열었습니다. v1.29.0은 그 문에 잠금을 더했고, v1.30.0은 초인종을 더했습니다. 둘 다 같은 표면에 떨어집니다: 요청 흐름. 요청 인증은 지갑이 보는 요청이 dApp이 보낸 요청임을 보장합니다. 신원 서명은 dApp이 보는 응답이 당신의 지갑이 보낸 응답이며, dApp이 기대하던 신원에 의해 서명되었음을 보장합니다. 이 쌍은 WalletConnect 세션을 "블롭을 교환하는 두 엔드포인트"에서 "서로에게 자신이 누구인지 증명할 수 있는 두 엔드포인트"로 바꿉니다.
Identity에서 Identity-Signing으로
원래의 SSP Identity 기능은 지갑에 안정적인 신원 표면을 주었습니다 — 당신이 소비하는 트랜잭션 주소와는 별개로, 메시징과 증명을 위해 파생된 주소. 그것은 소개편이었습니다. v1.30.0은 후속편입니다: 같은 신원이 이제 서비스가 이름으로 요청하고 자신의 쪽에서 검증할 수 있는 자격 증명으로 사용 가능합니다.
이것이 지갑이 단순한 키 보관자가 아니라 일급 신원 원시 요소가 된다는 모습입니다. v1.29.0은 입력을 신뢰할 수 있게 만들고, v1.30.0은 출력을 검증할 수 있게 만듭니다. 대부분의 사용자는 차이를 직접 보지 못할 것입니다. 그러나 이 표면에 통합하는 dApp과 서비스들은 SSP가 이제 매번 자신이 누구인지 증명하고 누가 묻는지 검증할 수 있음을 발견하게 될 것입니다.