바코드 회전

소개

회전 바코드는 일반 바코드처럼 보이지만 주기적으로 변경되므로 단말기/판독기는 표시됩니다. 이 보안 조치는 Tresite와 관련된 위험을 바코드 스크린샷, 특히 티켓 도용 또는 무단 티켓 재판매. 회전 바코드는 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"
        }
      ]
    }
  }
}

대체 메커니즘

사용자 기기에서 한 번에 하나의 쿠폰 사용 메커니즘만 사용됩니다. 패스 구성 방식과 기기의 기능에 따라 다릅니다. 우선순위에 따라 다음과 같은 사용 유형이 사용됩니다.

  1. 스마트 탭: 스마트 탭 페이로드가 지정되어 있고 기기에서 NFC/HCE <ph type="x-smartling-placeholder">
      </ph>
    • 이 작업은 사용자가 '코드 표시'를 클릭하여 재정의할 수 있습니다. 를 누르면 회전하는 바코드/정적 바코드가 강제로 표시됩니다.
  2. 회전 바코드: 순환 바코드 페이로드가 지정된 경우
  3. 정적 바코드: 바코드 페이로드가 지정된 경우

여러 개의 쿠폰 사용 페이로드를 지정하면 모든 사용자를 지원할 수 있지만 보안에 영향을 미칠 수 있습니다. 특히 정적 바코드를 교체 바코드를 대체하는 대신 기존 시스템 사용 시 얻을 수 있는 대부분의 보안 이점은 회전시킬 수 있습니다. 정적 바코드 대체는 웹 보기에만 표시됩니다. 클라이언트와 상호작용할 수 있습니다. 현재 모든 Google 지갑 클라이언트에서 순환 바코드를 지원할 수 있습니다.

흐름 저장

Google Wallet API는 다음과 같은 몇 가지 흐름을 제공합니다.

  • 탑승 클래스 생성(시간 절약 시 또는 미리 생성)
  • JWT에서 전체 객체를 전송하거나 다음 객체 이전에 객체를 저장 JWT에서 ID로 참조하기만 하면 됩니다.
  • 저장된 후 객체 업데이트

제안된 회전Barcode 필드는 이러한 모든 흐름과 호환됩니다. 하지만 보안을 강화하기 위해 다음과 같은 조치를 취할 것을 권장합니다.

  • object:insert API를 호출하여 Google 월렛 서버에 추가 버튼을 구성하여 JWT에서 ID로 특정 객체를 참조합니다. 이렇게 하면 결과 JWT에는 순환 바코드의 보안 키가 포함되지 않습니다.
  • 단일 패스로 범위가 지정된 OTP 보안 비밀 키를 사용하세요.
  • 키는 업데이트되지 않는 한 있습니다. 다음 기간 중에 이 키가 자주 업데이트되지는 않습니다. 작동한다는 것입니다.

다음 시퀀스 다이어그램은 다양한 행위자 간의 흐름을 보여줍니다. 일반적인 통합의 경우는 다음과 같습니다.

회전 바코드 사용 시퀀스 다이어그램