REST Resource: hashList

Risorsa: HashList

Un elenco di hash identificati dal relativo nome.

Rappresentazione JSON
{
  "name": string,
  "version": string,
  "partialUpdate": boolean,
  "compressedRemovals": {
    object (RiceDeltaEncoded32Bit)
  },
  "minimumWaitDuration": 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.

  // Union field checksum can be only one of the following:
  "sha256Checksum": string
  // End of list of possible types for union field checksum.
}
Campi
name

string

Il nome dell'elenco di hash. Tieni presente che la cache globale è anche solo un elenco di hash e può essere fatto riferimento 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 true, si tratta di una differenza parziale che contiene aggiunte e rimozioni basate su ciò che il client dispone già. Se il valore è false, questo è l'elenco di hash completo.

Se il valore è false, il client DEVE eliminare qualsiasi versione memorizzata localmente per questo elenco di hash. Ciò significa che la versione posseduta dal cliente è gravemente obsoleta o che i dati del cliente sono considerati corrotti. Il campo compressedRemovals sarà vuoto.

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

compressedRemovals

object (RiceDeltaEncoded32Bit)

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

minimumWaitDuration

string (Duration format)

I clienti devono attendere almeno questo tempo per recuperare di nuovo l'elenco di hash. Se omesso o pari a zero, i client DEVONO recuperare immediatamente perché indica che il server ha un aggiornamento aggiuntivo da inviare al client, ma non è possibile a causa dei vincoli specificati dal client.

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

metadata

object (HashListMetadata)

Metadati sull'elenco di hash. Non viene compilato dal metodo hashList.get, ma viene utilizzato il metodo ListHashLists.

Campo di unione compressed_additions. La versione delle aggiunte con codifica Riso delta. La lunghezza del prefisso hash delle aggiunte è uniforme per tutte le aggiunte nell'elenco. Si tratta del desired_hash_length inviato dal client o di un valore scelto dal server se il client ha omesso questo campo. compressed_additions può essere solo uno dei seguenti:
additionsFourBytes

object (RiceDeltaEncoded32Bit)

Le aggiunte a 4 byte.

additionsEightBytes

object (RiceDeltaEncoded64Bit)

Le aggiunte a 8 byte.

additionsSixteenBytes

object (RiceDeltaEncoded128Bit)

Le aggiunte a 16 byte.

additionsThirtyTwoBytes

object (RiceDeltaEncoded256Bit)

Le aggiunte da 32 byte.

Campo di unione checksum. Questo è il checksum per l'elenco ordinato di tutti gli hash presenti nel database dopo l'applicazione dell'aggiornamento fornito. Questo è un campo "unoof" per consentire più algoritmi di hashing. È anche possibile che il server ometta questo campo (nel caso in cui non siano stati forniti aggiornamenti) per indicare che il client deve utilizzare il checksum esistente. checksum può essere solo uno dei seguenti:
sha256Checksum

string (bytes format)

L'elenco ordinato di tutti gli hash, sottoposto di nuovo ad hashing con SHA256.

Una stringa con codifica Base64.

RisoDeltaCodificato 32 bit

I dati codificati di Rice-Golomb. Utilizzato per hash o 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 lessicograficamente, 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 zero. Questo sfrutta questa alta probabilità di zero scegliendo essenzialmente un certo numero di bit; tutti i bit più significativi di questo saranno probabilmente zero, quindi usiamo la codifica unaria. Controlla il campo riceParameter.

Nota storica: la codifica Riso-delta è stata utilizzata per la prima volta nella versione V4 di questa API. Nella V5 sono stati apportati due miglioramenti significativi: in primo luogo, la codifica Rice-delta è ora disponibile con prefissi hash più lunghi di 4 byte; in secondo luogo, i dati codificati sono ora trattati come big-endian in modo da 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) o, se è stato codificato un solo indice o prefisso hash, il valore di quella voce. Se il campo è vuoto, il valore è pari a zero.

riceParameter

integer

Il parametro Golomb-Rice. Il valore di questo parametro è 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à pari a zero e il singolo valore verrà archiviato in firstValue.

encodedData

string (bytes format)

I delta codificati che sono codificati utilizzando il programmatore Golomb-Rice.

Una stringa con codifica Base64.

RisoDeltaCodificato 64 bit

Uguale a RiceDeltaEncoded32Bit, ad eccezione del 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, il valore è pari a zero.

riceParameter

integer

Il parametro Golomb-Rice. Il valore di questo parametro è 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à pari a zero e il singolo valore verrà archiviato in firstValue.

encodedData

string (bytes format)

I delta codificati che sono codificati utilizzando il programmatore Golomb-Rice.

Una stringa con codifica Base64.

RisoDeltaCodificato 128 bit

Uguale a RiceDeltaEncoded32Bit, ad eccezione del fatto che codifica i 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 zero.

firstValueLo

string (uint64 format)

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

riceParameter

integer

Il parametro Golomb-Rice. Il valore di questo parametro è 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à pari a zero e il singolo valore verrà archiviato in firstValue.

encodedData

string (bytes format)

I delta codificati che sono codificati utilizzando il programmatore Golomb-Rice.

Una stringa con codifica Base64.

RisoDeltaCodificato256 bit

Uguale a RiceDeltaEncoded32Bit, ad eccezione del fatto che codifica i 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 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 zero.

firstValueThirdPart

string (uint64 format)

Dai 129 al 192° bit della prima voce nei dati codificati (hash). Se il campo è vuoto, i bit da 129 a 192 sono tutti 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 zero.

riceParameter

integer

Il parametro Golomb-Rice. Il valore di questo parametro è 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à pari a zero e il singolo valore verrà archiviato in firstValue.

encodedData

string (bytes format)

I delta codificati che sono codificati utilizzando il programmatore Golomb-Rice.

Una stringa con codifica Base64.

HashListMetadata

Metadati relativi a uno specifico elenco di hash.

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

enum (ThreatType)

Elenco non ordinato. Se non è vuoto, indica che l'elenco di hash è un tipo di elenco di minacce e indica il tipo di minacce associate ad hash o prefissi hash in questo elenco. Può essere vuoto se la voce non rappresenta una minaccia, ad esempio nel caso in cui rappresenti un probabile tipo di sicurezza.

likelySafeTypes[]

enum (LikelySafeType)

Elenco non ordinato. Se non è vuoto, indica che l'elenco di hash rappresenta un elenco di hash probabili e indica i modi in cui sono considerati probabilmente sicuri. Questo campo si escludono a vicenda con il campo threatTypes.

mobileOptimized

boolean

Indica se questo elenco è ottimizzato per i dispositivi mobili (Android e iOS).

description

string

Una descrizione leggibile di questo elenco. Scritto in inglese.

supportedHashLengths[]

enum (HashLength)

Le lunghezze di hash supportate per questo elenco di hash. Ogni elenco di hash supporta almeno una lunghezza. Il campo non sarà quindi vuoto.

ThreatType

Tipi di minacce.

Enum
THREAT_TYPE_UNSPECIFIED Tipo di minaccia sconosciuto. Se il server restituisce questo valore, il client ignora del tutto il contenuto FullHashDetail che le include.
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 sostengono impropriamente di agire per conto di una terza parte con l'intento di confondere gli spettatori e spingerli a eseguire un'azione con la quale questi si fidano solo di un vero agente della terza parte. Il phishing è un tipo di ingegneria sociale che induce con l'inganno lo spettatore a eseguire l'azione specifica di fornire informazioni, come le credenziali di accesso.

Ulteriori informazioni sono disponibili qui.

UNWANTED_SOFTWARE Tipo di minaccia software indesiderato. Per software indesiderato si intende un software che non rispetta i Principi sul software di Google, ma non è un malware.
POTENTIALLY_HARMFUL_APPLICATION Tipo di minaccia per le applicazioni potenzialmente dannosa 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 Probabilmente questo sito è sufficientemente sicuro per la navigazione generale. È anche nota come cache globale.
CSD Probabilmente questo sito è sufficientemente sicuro che non è necessario eseguire modelli di rilevamento lato client o controlli di protezione tramite password.
DOWNLOAD Probabilmente questo sito è sufficientemente sicuro da non dover controllare i download dal sito.

HashLength

La lunghezza degli hash in un elenco di hash.

Enum
HASH_LENGTH_UNSPECIFIED Lunghezza non specificata. Il server non restituirà questo valore alle risposte al client (nel campo supportedHashLengths), ma il client può inviarlo al server (nel campo desiredHashLength). In questo 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

Ottieni i contenuti più recenti di un elenco di hashing.