REST Resource: hashList

리소스: HashList

이름으로 식별되는 해시 목록입니다.

JSON 표현
{
  "name": string,
  "version": string,
  "partialUpdate": boolean,
  "compressedRemovals": {
    object (RiceDeltaEncoded32Bit)
  },
  "minimumWaitDuration": string,
  "sha256Checksum": string,
  "metadata": {
    object (HashListMetadata)
  },

  // Union field compressed_additions can be only one of the following:
  "additionsFourBytes": {
    object (RiceDeltaEncoded32Bit)
  },
  "additionsEightBytes": {
    object (RiceDeltaEncoded64Bit)
  },
  "additionsSixteenBytes": {
    object (RiceDeltaEncoded128Bit)
  },
  "additionsThirtyTwoBytes": {
    object (RiceDeltaEncoded256Bit)
  }
  // End of list of possible types for union field compressed_additions.
}
필드
name

string

해시 목록의 이름입니다. 전역 캐시도 해시 목록일 뿐이며 여기에서 참조할 수 있습니다.

version

string (bytes format)

해시 목록의 버전입니다. 클라이언트는 이러한 바이트를 조작하면 안 됩니다.

base64 인코딩 문자열입니다.

partialUpdate

boolean

true인 경우 클라이언트에 이미 있는 항목을 기반으로 추가 및 삭제가 포함된 부분 디프입니다. false인 경우 전체 해시 목록입니다.

false인 경우 클라이언트는 이 해시 목록의 로컬 저장 버전을 모두 삭제해야 합니다. 즉, 클라이언트가 보유한 버전이 심각하게 오래되었거나 클라이언트 데이터가 손상된 것으로 간주됩니다. compressedRemovals 필드는 비어 있습니다.

이 속성이 true인 경우 클라이언트는 삭제 후 추가를 적용하여 증분 업데이트를 적용해야 합니다.

compressedRemovals

object (RiceDeltaEncoded32Bit)

삭제 색인의 Rice-델타 인코딩 버전입니다. 각 해시 목록에는 2^32개 미만의 항목이 있으므로 색인은 32비트 정수로 취급되고 인코딩됩니다.

minimumWaitDuration

string (Duration format)

클라이언트는 해시 목록을 다시 가져오기 위해 이보다 더 오래 기다려야 합니다. 생략되거나 0인 경우 클라이언트는 즉시 가져와야 합니다. 서버에 클라이언트에게 전송할 추가 업데이트가 있지만 클라이언트가 지정한 제약조건으로 인해 전송할 수 없음을 나타내기 때문입니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

sha256Checksum

string (bytes format)

SHA256으로 다시 해싱된 모든 해시의 정렬된 목록입니다. 제공된 업데이트를 적용한 후 데이터베이스에 있는 모든 해시의 정렬된 목록의 체크섬입니다. 업데이트가 제공되지 않은 경우 서버는 이 필드를 생략하여 클라이언트가 기존 체크섬을 사용해야 함을 나타냅니다.

base64 인코딩 문자열입니다.

metadata

object (HashListMetadata)

해시 목록에 관한 메타데이터입니다. hashList.get 메서드가 아니라 ListHashLists 메서드에 의해 채워집니다.

통합 필드 compressed_additions. 추가 항목의 Rice-delta 인코딩 버전입니다. 추가의 해시 접두사 길이는 목록의 모든 추가에 대해 동일합니다. 클라이언트가 전송한 desired_hash_length 또는 클라이언트가 해당 필드를 생략한 경우 서버에서 선택한 값입니다. compressed_additions은 다음 중 하나일 수 있습니다.
additionsFourBytes

object (RiceDeltaEncoded32Bit)

4바이트 추가

additionsEightBytes

object (RiceDeltaEncoded64Bit)

8바이트 추가

additionsSixteenBytes

object (RiceDeltaEncoded128Bit)

16바이트 추가

additionsThirtyTwoBytes

object (RiceDeltaEncoded256Bit)

32바이트 추가

RiceDeltaEncoded32Bit

Rice-Golomb로 인코딩된 데이터입니다. 해시 또는 삭제 색인에 사용됩니다. 여기의 모든 해시 또는 색인은 길이가 동일하며 이 길이는 정확히 32비트입니다.

일반적으로 모든 항목을 사전순으로 정렬하면 상위 비트가 하위 비트만큼 자주 변경되지 않는 경향이 있습니다. 즉, 항목 간의 인접한 차이도 고려하면 상위 비트가 0일 가능성이 높습니다. 이는 기본적으로 특정 비트 수를 선택하여 0이 될 확률이 높은 것을 활용합니다. 이보다 더 큰 비트는 모두 0일 가능성이 높으므로 단항 인코딩을 사용합니다. riceParameter 필드를 참고하세요.

이전 참고사항: Rice-delta 인코딩은 이 API의 V4에서 처음 사용되었습니다. V5에서는 두 가지 중요한 개선사항이 적용되었습니다. 첫째, 이제 4바이트보다 긴 해시 접두사로 Rice-델타 인코딩을 사용할 수 있습니다. 둘째, 비용이 많이 드는 정렬 단계를 피하기 위해 인코딩된 데이터가 이제 big-endian으로 취급됩니다.

JSON 표현
{
  "firstValue": integer,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
필드
firstValue

integer (uint32 format)

인코딩된 데이터의 첫 번째 항목 (해시 또는 색인) 또는 단일 해시 접두사 또는 색인만 인코딩된 경우 해당 항목의 값입니다. 필드가 비어 있으면 항목은 0입니다.

riceParameter

integer

Golomb-Rice 매개변수 이 매개변수는 3~30 사이(양 끝값 포함)입니다.

entriesCount

integer

인코딩된 데이터에서 델타 인코딩된 항목의 수입니다. 정수가 하나만 인코딩된 경우 이 값은 0이 되고 단일 값이 firstValue에 저장됩니다.

encodedData

string (bytes format)

Golomb-Rice 코더를 사용하여 인코딩된 인코딩된 델타입니다.

base64 인코딩 문자열입니다.

RiceDeltaEncoded64Bit

64비트 숫자를 인코딩한다는 점을 제외하고 RiceDeltaEncoded32Bit와 동일합니다.

JSON 표현
{
  "firstValue": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
필드
firstValue

string

인코딩된 데이터 (해시)의 첫 번째 항목 또는 해시 접두사 하나만 인코딩된 경우 해당 항목의 값입니다. 필드가 비어 있으면 항목은 0입니다.

riceParameter

integer

Golomb-Rice 매개변수 이 매개변수는 35~62(양 끝값 포함) 사이여야 합니다.

entriesCount

integer

인코딩된 데이터에서 델타 인코딩된 항목의 수입니다. 정수가 하나만 인코딩된 경우 이 값은 0이 되고 단일 값이 firstValue에 저장됩니다.

encodedData

string (bytes format)

Golomb-Rice 코더를 사용하여 인코딩된 인코딩된 델타입니다.

base64 인코딩 문자열입니다.

RiceDeltaEncoded128Bit

128비트 숫자를 인코딩한다는 점을 제외하면 RiceDeltaEncoded32Bit와 동일합니다.

JSON 표현
{
  "firstValueHi": string,
  "firstValueLo": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
필드
firstValueHi

string

인코딩된 데이터의 첫 번째 항목의 상위 64비트 (해시)입니다. 필드가 비어 있으면 상위 64비트는 모두 0입니다.

firstValueLo

string (uint64 format)

인코딩된 데이터의 첫 번째 항목의 하위 64비트 (해시)입니다. 필드가 비어 있으면 하위 64비트가 모두 0입니다.

riceParameter

integer

Golomb-Rice 매개변수 이 매개변수는 99~126(양 끝값 포함) 사이여야 합니다.

entriesCount

integer

인코딩된 데이터에서 델타 인코딩된 항목의 수입니다. 정수가 하나만 인코딩된 경우 이 값은 0이 되고 단일 값이 firstValue에 저장됩니다.

encodedData

string (bytes format)

Golomb-Rice 코더를 사용하여 인코딩된 인코딩된 델타입니다.

base64 인코딩 문자열입니다.

RiceDeltaEncoded256Bit

256비트 숫자를 인코딩한다는 점을 제외하고 RiceDeltaEncoded32Bit와 동일합니다.

JSON 표현
{
  "firstValueFirstPart": string,
  "firstValueSecondPart": string,
  "firstValueThirdPart": string,
  "firstValueFourthPart": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
필드
firstValueFirstPart

string

인코딩된 데이터의 첫 번째 항목의 처음 64비트 (해시)입니다. 필드가 비어 있으면 처음 64비트는 모두 0입니다.

firstValueSecondPart

string (uint64 format)

인코딩된 데이터의 첫 번째 항목의 65~128비트 (해시)입니다. 필드가 비어 있으면 65~128비트가 모두 0입니다.

firstValueThirdPart

string (uint64 format)

인코딩된 데이터의 첫 번째 항목의 129~192비트 (해시)입니다. 필드가 비어 있으면 129~192비트가 모두 0입니다.

firstValueFourthPart

string (uint64 format)

인코딩된 데이터의 첫 번째 항목의 마지막 64비트 (해시)입니다. 필드가 비어 있으면 마지막 64비트는 모두 0입니다.

riceParameter

integer

Golomb-Rice 매개변수 이 매개변수는 227과 254 사이(양 끝값 포함)여야 합니다.

entriesCount

integer

인코딩된 데이터에서 델타 인코딩된 항목의 수입니다. 정수가 하나만 인코딩된 경우 이 값은 0이 되고 단일 값이 firstValue에 저장됩니다.

encodedData

string (bytes format)

Golomb-Rice 코더를 사용하여 인코딩된 인코딩된 델타입니다.

base64 인코딩 문자열입니다.

HashListMetadata

특정 해시 목록에 대한 메타데이터입니다.

JSON 표현
{
  "threatTypes": [
    enum (ThreatType)
  ],
  "likelySafeTypes": [
    enum (LikelySafeType)
  ],
  "description": string,
  "supportedHashLengths": [
    enum (HashLength)
  ],
  "hashLength": enum (HashLength)
}
필드
threatTypes[]

enum (ThreatType)

순서가 지정되지 않은 목록 해시 목록이 비어 있지 않으면 해시 목록이 일종의 위협 목록임을 지정하고 이 해시 목록의 해시 또는 해시 접두사와 연결된 위협의 종류를 열거합니다. 항목이 위협을 나타내지 않는 경우(예: 안전할 가능성이 높은 유형을 나타내는 경우) 비어 있을 수 있습니다.

likelySafeTypes[]

enum (LikelySafeType)

순서가 지정되지 않은 목록 비어 있지 않으면 해시 목록이 안전할 가능성이 높은 해시 목록을 나타내며 안전할 가능성이 높은 것으로 간주되는 방법을 열거합니다. 이 필드는 threatTypes 필드와 상호 배타적입니다.

description

string

이 목록에 대한 인간이 읽을 수 있는 설명입니다. 영어로 작성합니다.

supportedHashLengths[]
(deprecated)

enum (HashLength)

이 해시 목록에 지원되는 해시 길이입니다. 각 해시 목록은 하나 이상의 길이를 지원합니다. 따라서 이 필드는 비어 있지 않습니다.

hashLength

enum (HashLength)

이 해시 목록에 지원되는 해시 길이입니다. 각 해시 목록은 정확히 하나의 길이를 지원합니다. 동일한 위협 유형 또는 안전 유형 집합에 다른 해시 길이가 도입되면 고유한 이름과 각 해시 길이 집합이 있는 별도의 목록으로 도입됩니다.

ThreatType

위협 유형

열거형
THREAT_TYPE_UNSPECIFIED 알 수 없는 위협 유형입니다. 서버에서 이를 반환하면 클라이언트는 괄호로 묶인 FullHashDetail를 완전히 무시해야 합니다.
MALWARE

멀웨어 위협 유형입니다. 멀웨어란 컴퓨터, 휴대기기, 실행 중인 소프트웨어 또는 사용자에게 해를 끼치기 위해 설계된 소프트웨어 또는 모바일 애플리케이션입니다. 멀웨어는 사용자의 동의 없이 소프트웨어를 설치하거나 바이러스와 같은 유해한 소프트웨어를 설치하는 등 악의적인 방식으로 작동합니다.

자세한 정보는 여기를 참조하세요.

SOCIAL_ENGINEERING

소셜 엔지니어링 위협 유형입니다. 소셜 엔지니어링 페이지는 시청자를 혼동시켜 해당 서드 파티의 실제 상담사만 신뢰할 수 있는 작업을 수행하도록 유도하기 위해 서드 파티를 대신한다고 허위로 주장합니다. 피싱은 시청자를 속여 로그인 사용자 인증 정보와 같은 정보를 제공하는 특정 작업을 실행하게 하는 소셜 엔지니어링의 한 유형입니다.

자세한 정보는 여기를 참조하세요.

UNWANTED_SOFTWARE 원치 않는 소프트웨어 위협 유형입니다. 원치 않는 소프트웨어는 Google의 소프트웨어 원칙을 준수하지 않지만 멀웨어가 아닌 소프트웨어를 말합니다.
POTENTIALLY_HARMFUL_APPLICATION Google Play 프로텍트에서 Play 스토어에 사용하는 잠재적으로 위험한 애플리케이션 위협 유형입니다.

LikelySafeType

안전할 가능성이 높은 사이트 유형

SearchHashesResponse에는 의도적으로 LikelySafeType가 포함되어 있지 않습니다.

열거형
LIKELY_SAFE_TYPE_UNSPECIFIED 알 수 없음
GENERAL_BROWSING 이 사이트는 일반적인 탐색에는 충분히 안전할 수 있습니다. 이를 글로벌 캐시라고도 합니다.
CSD 이 사이트는 클라이언트 측 감지 모델이나 비밀번호 보호 검사를 실행할 필요가 없을 만큼 안전할 가능성이 높습니다.
DOWNLOAD 이 사이트는 안전하므로 사이트에서 다운로드한 파일을 확인할 필요가 없습니다.

HashLength

해시 목록의 해시 길이입니다.

열거형
HASH_LENGTH_UNSPECIFIED 지정되지 않은 길이입니다. 서버는 클라이언트 (supportedHashLengths 필드)에 대한 응답에서 이 값을 반환하지 않지만 클라이언트는 이 값을 서버 (desiredHashLength 필드)에 전송할 수 있습니다. 이 경우 서버는 값을 자동으로 선택합니다. 클라이언트는 서버가 값을 선택하도록 허용해야 합니다.
FOUR_BYTES 각 해시는 4바이트 접두사입니다.
EIGHT_BYTES 각 해시는 8바이트 접두사입니다.
SIXTEEN_BYTES 각 해시는 16바이트 접두사입니다.
THIRTY_TWO_BYTES 각 해시는 32바이트 전체 해시입니다.

메서드

get

해시 목록의 최신 콘텐츠를 가져옵니다.