소개
회전 바코드는 일반 바코드처럼 보이지만 주기적으로 변경되므로 단말기/판독기는 표시됩니다. 이 보안 조치는 바코드 스크린샷, 특히 티켓 도난 또는 승인되지 않은 티켓 재판매와 관련된 위험을 줄입니다. 회전 바코드는 NFC를 지원하지 않기 때문에 (하드웨어 장치 부족, 사용하지 않습니다.
API 참조
바코드 회전에 대한 기술적 자세한 내용은
RotatingBarcode
유형.
페이로드 예시
JSON | |
---|---|
{ "rotatingBarcode": { "type": "QR_CODE", "valuePattern": "MyRotatingBarcode-{totp_timestamp_seconds}-{totp_value_0}", "alternateText": "Ticket#: 1234567890", "totpDetails": { "algorithm": "TOTP_SHA1", "periodMillis": "3000", "parameters": [ { "key": "3132333435363738393031323334353637383930", "valueLength": "8" } ] } } } |
대체 메커니즘
사용자 기기에서는 패스 구성 방식과 기기 기능에 따라 특정 시점에 하나의 사용 메커니즘만 사용됩니다. 우선순위에 따라 다음과 같은 사용 유형이 사용됩니다.
-
스마트 탭: 스마트 탭 페이로드가 지정되고 기기가 NFC/HCE를 지원하는 경우
- 사용자는 '코드 표시'를 클릭하여 이 설정을 재정의할 수 있으며, 이 경우 회전 바코드/정적 바코드가 강제로 표시됩니다.
- 회전 바코드: 회전 바코드 페이로드가 지정된 경우
- 정적 바코드: 바코드 페이로드가 지정된 경우
여러 개의 쿠폰 사용 페이로드를 지정하면 모든 사용자를 지원할 수 있지만 보안에 영향을 미칠 수 있습니다. 특히 회전 바코드의 대체로 정적 바코드를 사용하면 회전 바코드 사용의 대부분의 보안 이점이 사라집니다. 정적 바코드 대체 옵션은 웹 뷰 또는 회전 바코드를 지원하지 않는 클라이언트에만 표시됩니다. 현재 모든 Google 지갑 클라이언트에서 순환 바코드를 지원할 수 있습니다.
흐름 저장
Google Wallet API는 다음과 같은 몇 가지 흐름을 제공합니다.
- 시간 절약 시 또는 미리 기프트 카드 클래스 만들기
- JWT에서 전체 객체를 전송하거나 다음 객체 이전에 객체를 저장 JWT에서 ID로 참조하기만 하면 됩니다.
- 객체가 저장된 후 업데이트
제안된 rotatingBarcode 필드는 이러한 모든 흐름과 호환되지만 보안을 개선하기 위해 다음을 권장합니다.
-
object:insert
API를 호출하여 Google 월렛 서버에 추가 버튼을 구성하여 JWT에서 ID로 특정 객체를 참조합니다. 이렇게 하면 결과 JWT에 회전 바코드의 보안 비밀 키가 포함되지 않습니다. - 단일 패스로 범위가 지정된 OTP 비밀번호 키 사용
- 키는 업데이트되지 않는 한 있습니다. 다음 기간 중에 이 키가 자주 업데이트되지는 않습니다. 작동한다는 것입니다.
다음 시퀀스 다이어그램은 일반적인 통합의 다양한 행위자 간의 흐름을 보여줍니다.
