대규모 iOS attestation 토큰 회전: 계정별 구분 어떻게 하고 계세요?
iOS 인증된 설정을 운용하고 있어요: 기기 프로파일(모델, OS, 빌드, 스크린 메트릭이 모두 내부적으로 일관된), 계정별 스티키/풀링이 적용된 회전 모바일 프록시 전용 풀, 그리고 자동화 측에서의 행동 모델링과 ML 기반 리버스 엔지니어링까지요. 이 레이어는 끝까지 안정적이고 일관적이었어요.
확장 시 가장 큰 문제점은 DCAppAttest예요. 키 생성은 Secure Enclave에 묶여 있어서, attestation 발행은 실제 Apple 하드웨어에서만 가능해요. 한 기기에서 generateKey를 루프로 돌려 distinct keyId를 만들 수는 있지만, 모두 같은 물리적 Enclave를 기준으로 추적되죠. JWT 레이어에서는 독립적으로 보이지만요. 그러니 진짜 질문은 distinct 토큰을 만들 수 있느냐가 아니라, 타겟이 실제로 검사하는 레이어에서 서로 distinct한지, 그리고 그 정도까지 깊게 검사하는지 여부예요.
플릿 전체에서 하나의 토큰을 공유하는 건 간단한 상관관계 차단이에요. 왜냐하면 많은 서로 다른 디바이스 ID에 같은 jti가 있으면 기본 그룹화에서 벗어나거든요. 진정한 계정별 distinctness은 한 기기에서 여러 키를 쓰는 게 타겟이 receipt-level 검증을 하지 않을 때만 유효하다고 받아들이는 걸 의미하는 것 같아요.
그렇다면みんな 실제로 이건 대규모에서 어떻게 다루고 계신가요? 보이는 옵션으로는 작은 민트 풀에서 multi-key를 사용하고 위에 헤더 레이어 지문 변형을 더하는 방법, persona 수에 맞춘 회전 풀, 혹은 전용 민트 서비스가 있어요. 더 중요한 질문은 타겟이 receipt-level 디바이스 카운트 검증을 하는 증거를 보신 분이 계신지, 아니면 실제에 얕은 JWT 시그니처만 확인하는지예요.