REST Resource: hashList

Risorsa: HashList

Un elenco di hash identificati dal nome.

Rappresentazione 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.
}
Campi
name

string

Il nome dell'elenco di hash. Tieni presente che anche la cache globale è solo un elenco di hash e può essere richiamata qui.

version

string (bytes format)

La versione dell'elenco di hash. Il client NON DEVE manipolare questi byte.

Una stringa con codifica Base64.

partialUpdate

boolean

Se il valore è true, si tratta di una differenza parziale contenente aggiunte e rimozioni in base a ciò che il cliente ha già. Se è false, si tratta dell'elenco completo degli hash.

Se è false, il client DEVE eliminare qualsiasi versione archiviata localmente per questo elenco di hash. Ciò significa che la versione in possesso del cliente è molto obsoleta o che si ritiene che i dati del cliente siano danneggiati. Il campo compressedRemovals sarà vuoto.

Se true, il client DEVE applicare un aggiornamento incrementale applicando le rimozioni e poi le aggiunte.

compressedRemovals

object (RiceDeltaEncoded32Bit)

La versione codificata Rice-delta degli indici di rimozione. Poiché ogni elenco di hash ha sicuramente meno di 2^32 voci, gli indici vengono trattati come interi a 32 bit e codificati.

minimumWaitDuration

string (Duration format)

I client devono attendere almeno questo tempo per ricevere di nuovo l'elenco di hash. Se omesso o pari a zero, i client DEVONO eseguire il recupero immediatamente perché indica che il server ha un aggiornamento aggiuntivo da inviare al client, ma non può farlo a causa delle limitazioni specificate dal client.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

sha256Checksum

string (bytes format)

L'elenco ordinato di tutti gli hash, sottoposti nuovamente ad hashing con SHA256. Si tratta del checksum dell'elenco ordinato di tutti gli hash presenti nel database dopo l'applicazione dell'aggiornamento fornito. Se non sono stati forniti aggiornamenti, il server omette questo campo per indicare che il client deve utilizzare il checksum esistente.

Una stringa con codifica Base64.

metadata

object (HashListMetadata)

Metadati relativi all'elenco di hash. Questo valore non viene compilato dal metodo hashList.get, ma viene compilato dal metodo ListHashLists.

Campo unione compressed_additions. La versione con codifica Rice-delta degli aggiunti. Le lunghezze dei prefissi degli hash delle aggiunte sono uniformi per tutte le aggiunte nell'elenco. Si tratta del valore desired_hash_length inviato dal client o di un valore scelto dal server se il client ha omesso il campo. compressed_additions può essere solo uno dei seguenti:
additionsFourBytes

object (RiceDeltaEncoded32Bit)

Le aggiunte di 4 byte.

additionsEightBytes

object (RiceDeltaEncoded64Bit)

Le aggiunte di 8 byte.

additionsSixteenBytes

object (RiceDeltaEncoded128Bit)

Le aggiunte di 16 byte.

additionsThirtyTwoBytes

object (RiceDeltaEncoded256Bit)

Le aggiunte di 32 byte.

RiceDeltaEncoded32Bit

I dati codificati Rice-Golomb. Utilizzato per gli hash o gli indici di rimozione. È garantito che ogni hash o indice qui abbia la stessa lunghezza, che è esattamente di 32 bit.

In generale, se ordiniamo tutte le voci in ordine alfabetico, scopriremo che i bit di ordine superiore tendono a non cambiare con la stessa frequenza dei bit di ordine inferiore. Ciò significa che, se prendiamo anche la differenza adiacente tra le voci, i bit di ordine superiore hanno un'alta probabilità di essere pari a zero. Sfrutta questa elevata probabilità di zero scegliendo essenzialmente un determinato numero di bit; tutti i bit più significativi di questo sono probabilmente pari a zero, quindi utilizziamo la codifica unaria. Visualizza il campo riceParameter.

Nota storica: la codifica Rice-delta è stata utilizzata per la prima volta nella versione 4 di questa API. Nella versione 5 sono stati apportati due miglioramenti significativi: innanzitutto, la codifica Rice-delta è ora disponibile con prefissi hash più lunghi di 4 byte; in secondo luogo, i dati codificati vengono ora trattati come big endian per evitare un costoso passaggio di ordinamento.

Rappresentazione JSON
{
  "firstValue": integer,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
Campi
firstValue

integer (uint32 format)

La prima voce nei dati codificati (hash o indici) oppure, se è stato codificato un solo prefisso o indice di hash, il valore di quella voce. Se il campo è vuoto, la voce è pari a zero.

riceParameter

integer

Il parametro Golomb-Rice. Questo parametro è garantito essere compreso tra 3 e 30, inclusi.

entriesCount

integer

Il numero di voci con codifica delta nei dati codificati. Se è stato codificato un solo numero intero, questo sarà zero e il singolo valore verrà memorizzato in firstValue.

encodedData

string (bytes format)

I delta codificati che vengono codificati utilizzando il codificatore Golomb-Rice.

Una stringa con codifica Base64.

RiceDeltaEncoded64Bit

È uguale a RiceDeltaEncoded32Bit, tranne per il fatto che codifica i numeri a 64 bit.

Rappresentazione JSON
{
  "firstValue": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
Campi
firstValue

string

La prima voce nei dati codificati (hash) o, se è stato codificato un solo prefisso hash, il valore di quella voce. Se il campo è vuoto, la voce è pari a zero.

riceParameter

integer

Il parametro Golomb-Rice. Questo parametro è garantito essere compreso tra 35 e 62, inclusi.

entriesCount

integer

Il numero di voci con codifica delta nei dati codificati. Se è stato codificato un solo numero intero, questo sarà zero e il singolo valore verrà memorizzato in firstValue.

encodedData

string (bytes format)

I delta codificati che vengono codificati utilizzando il codificatore Golomb-Rice.

Una stringa con codifica Base64.

RiceDeltaEncoded128Bit

È uguale a RiceDeltaEncoded32Bit, tranne per il fatto che codifica numeri a 128 bit.

Rappresentazione JSON
{
  "firstValueHi": string,
  "firstValueLo": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
Campi
firstValueHi

string

I 64 bit superiori della prima voce nei dati codificati (hash). Se il campo è vuoto, i 64 bit superiori sono tutti pari a zero.

firstValueLo

string (uint64 format)

I 64 bit più bassi della prima voce nei dati codificati (hash). Se il campo è vuoto, i 64 bit inferiori sono tutti pari a zero.

riceParameter

integer

Il parametro Golomb-Rice. Questo parametro è garantito compreso tra 99 e 126, inclusi.

entriesCount

integer

Il numero di voci con codifica delta nei dati codificati. Se è stato codificato un solo numero intero, questo sarà zero e il singolo valore verrà memorizzato in firstValue.

encodedData

string (bytes format)

I delta codificati che vengono codificati utilizzando il codificatore Golomb-Rice.

Una stringa con codifica Base64.

RiceDeltaEncoded256Bit

È uguale a RiceDeltaEncoded32Bit, tranne per il fatto che codifica numeri a 256 bit.

Rappresentazione JSON
{
  "firstValueFirstPart": string,
  "firstValueSecondPart": string,
  "firstValueThirdPart": string,
  "firstValueFourthPart": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
Campi
firstValueFirstPart

string

I primi 64 bit della prima voce nei dati codificati (hash). Se il campo è vuoto, i primi 64 bit sono tutti pari a zero.

firstValueSecondPart

string (uint64 format)

I bit da 65 a 128 della prima voce nei dati codificati (hash). Se il campo è vuoto, i bit da 65 a 128 sono tutti pari a zero.

firstValueThirdPart

string (uint64 format)

I bit da 129 a 192 della prima voce nei dati codificati (hash). Se il campo è vuoto, i bit da 129 a 192 sono tutti pari a zero.

firstValueFourthPart

string (uint64 format)

Gli ultimi 64 bit della prima voce nei dati codificati (hash). Se il campo è vuoto, gli ultimi 64 bit sono tutti pari a zero.

riceParameter

integer

Il parametro Golomb-Rice. Questo parametro è garantito essere compreso tra 227 e 254, inclusi.

entriesCount

integer

Il numero di voci con codifica delta nei dati codificati. Se è stato codificato un solo numero intero, questo sarà zero e il singolo valore verrà memorizzato in firstValue.

encodedData

string (bytes format)

I delta codificati che vengono codificati utilizzando il codificatore Golomb-Rice.

Una stringa con codifica Base64.

HashListMetadata

Metadati relativi a un determinato elenco di hash.

Rappresentazione JSON
{
  "threatTypes": [
    enum (ThreatType)
  ],
  "likelySafeTypes": [
    enum (LikelySafeType)
  ],
  "description": string,
  "supportedHashLengths": [
    enum (HashLength)
  ],
  "hashLength": enum (HashLength)
}
Campi
threatTypes[]

enum (ThreatType)

Elenco non ordinato. Se non è vuoto, specifica che l'elenco di hash è un tipo di elenco di minacce ed elenca il tipo di minacce associate agli hash o ai prefissi di hash in questo elenco di hash. Può essere vuoto se la voce non rappresenta una minaccia, ad esempio se rappresenta un tipo probabilmente sicuro.

likelySafeTypes[]

enum (LikelySafeType)

Elenco non ordinato. Se non è vuoto, specifica che l'elenco di hash rappresenta un elenco di hash probabilmente sicuri ed elenca i modi in cui sono considerati probabilmente sicuri. Questo campo è mutuamente esclusivo con il campo threatTypes.

description

string

Una descrizione leggibile di questo elenco. Scritto in inglese.

supportedHashLengths[]
(deprecated)

enum (HashLength)

Le lunghezze degli hash supportate per questo elenco di hash. Ogni elenco di hash supporta almeno una lunghezza. Pertanto, questo campo non sarà vuoto.

hashLength

enum (HashLength)

La lunghezza dell'hash supportata per questo elenco di hash. Ogni elenco di hash supporta esattamente una lunghezza. Se viene introdotta una lunghezza dell'hash diversa per lo stesso insieme di tipi di minacce o tipi sicuri, verrà introdotta come elenco separato con un nome distinto e la rispettiva lunghezza dell'hash impostata.

ThreatType

Tipi di minacce.

Enum
THREAT_TYPE_UNSPECIFIED Tipo di minaccia sconosciuto. Se viene restituito dal server, il client deve ignorare del tutto il FullHashDetail che lo racchiude.
MALWARE

Tipo di minaccia malware. I malware sono software o applicazioni per dispositivi mobili pensati appositamente per danneggiare un computer, un dispositivo mobile, il software in esecuzione o gli utenti. I comportamenti dei malware includono l'installazione di software senza il consenso dell'utente e l'installazione di software dannoso, come i virus.

Ulteriori informazioni sono disponibili qui.

SOCIAL_ENGINEERING

Tipo di minaccia di ingegneria sociale. Le pagine di ingegneria sociale dichiarano falsamente di agire per conto di una terza parte con l'intenzione di confondere gli spettatori e indurli a eseguire un'azione per la quale si affiderebbero solo a un vero agente di quella terza parte. Il phishing è un tipo di ingegneria sociale che ingannevolmente induce lo spettatore a eseguire l'azione specifica di fornire informazioni, ad esempio le credenziali di accesso.

Ulteriori informazioni sono disponibili qui.

UNWANTED_SOFTWARE Tipo di minaccia di software indesiderato. Per software indesiderato si intende qualsiasi software che non rispetta i Principi sul software di Google, ma non è malware.
POTENTIALLY_HARMFUL_APPLICATION Tipo di minaccia di app potenzialmente dannose come utilizzato da Google Play Protect per il Play Store.

LikelySafeType

Tipi di siti probabilmente sicuri.

Tieni presente che SearchHashesResponse non contiene intenzionalmente LikelySafeType.

Enum
LIKELY_SAFE_TYPE_UNSPECIFIED Sconosciuto.
GENERAL_BROWSING È probabile che questo sito sia abbastanza sicuro per la navigazione generale. È nota anche come cache globale.
CSD È probabile che questo sito sia abbastanza sicuro da non dover eseguire modelli di rilevamento lato client o controlli di protezione della password.
DOWNLOAD È probabile che questo sito sia abbastanza sicuro da non dover controllare i download.

HashLength

La lunghezza degli hash in un elenco di hash.

Enum
HASH_LENGTH_UNSPECIFIED Lunghezza non specificata. Il server non restituirà questo valore nelle risposte al client (nel campo supportedHashLengths), ma il client è autorizzato a inviarlo al server (nel campo desiredHashLength), nel qual caso il server sceglierà un valore automaticamente. I client DEVONO consentire al server di scegliere un valore.
FOUR_BYTES Ogni hash è un prefisso di quattro byte.
EIGHT_BYTES Ogni hash è un prefisso di otto byte.
SIXTEEN_BYTES Ogni hash è un prefisso di sedici byte.
THIRTY_TWO_BYTES Ogni hash è un hash completo di 32 byte.

Metodi

get

Recupera i contenuti più recenti di un elenco di hash.