REST Resource: hashList

משאב: HashList

רשימה של ערכי גיבוב (hash) שמזוהים לפי השם שלהם.

ייצוג ב-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, זהו diff חלקי שמכיל תוספות והסרות על סמך מה שכבר קיים אצל הלקוח. אם הערך הוא false, זוהי רשימת הגיבוב המלאה.

אם הערך הוא false, הלקוח חייב למחוק כל גרסה של רשימת הגיבוב הזו שמאוחסנת באופן מקומי. המשמעות היא שהגרסה שקיימת אצל הלקוח מאוד לא עדכנית או שיש חשד שהנתונים של הלקוח פגומים. השדה compressedRemovals יהיה ריק.

אם הערך הוא true, הלקוח חייב להחיל עדכון מצטבר על ידי החלת הסרות ואז הוספות.

compressedRemovals

object (RiceDeltaEncoded32Bit)

גרסת הקידוד של Rice-delta של אינדקסים להסרה. מכיוון שכל רשימת גיבוב מכילה בוודאות פחות מ-2^32 ערכים, המערכת מתייחסת לאינדקסים כמספרים שלמים של 32 ביט ומקודדת אותם.

minimumWaitDuration

string (Duration format)

הלקוחות צריכים לחכות לפחות פרק זמן כזה כדי לקבל שוב את רשימת הגיבובים. אם הערך לא מצוין או שהוא אפס, הלקוחות צריכים לאחזר מיד כי זה מציין שלשרת יש עדכון נוסף לשליחה ללקוח, אבל הוא לא יכול לשלוח אותו בגלל האילוצים שצוינו על ידי הלקוח.

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה, שמסתיים ב-'s'. דוגמה: "3.5s".

sha256Checksum

string (bytes format)

הרשימה הממוינת של כל הגיבובים, שעברה גיבוב נוסף באמצעות SHA256. זהו סכום הבדיקה של הרשימה הממוינת של כל הגיבובים שקיימים במסד הנתונים אחרי החלת העדכון שסופק. אם לא סופקו עדכונים, השרת ישמיט את השדה הזה כדי לציין שהלקוח צריך להשתמש בסכום הביקורת הקיים.

מחרוזת בקידוד Base64.

metadata

object (HashListMetadata)

מטא-נתונים על רשימת הגיבוב. השדה הזה לא מאוכלס על ידי השיטה hashList.get, אבל הוא מאוכלס על ידי השיטה ListHashLists.

שדה איחוד compressed_additions. גרסת התוספות בקידוד Rice-delta. אורכי הקידומות של הגיבובים של התוספות אחידים בכל התוספות ברשימה. הערך compressed_additions יכול להיות רק אחד מהבאים:
additionsFourBytes

object (RiceDeltaEncoded32Bit)

התוספות של 4 הבייטים.

additionsEightBytes

object (RiceDeltaEncoded64Bit)

התוספות של 8 הבייטים.

additionsSixteenBytes

object (RiceDeltaEncoded128Bit)

התוספות של 16 בייט.

additionsThirtyTwoBytes

object (RiceDeltaEncoded256Bit)

התוספות של 32 בייט.

RiceDeltaEncoded32Bit

הנתונים המקודדים ב-Rice-Golomb. הוא משמש לגיבוב או לאינדקסים של הסרות. מובטח שכל גיבוב או אינדקס כאן יהיו באורך זהה, והאורך הזה הוא בדיוק 32 ביט.

באופן כללי, אם נמיין את כל הרשומות בסדר לקסיקוגרפי, נגלה שהביטים בסדר גבוה לא משתנים בתדירות גבוהה כמו הביטים בסדר נמוך. המשמעות היא שאם נתייחס גם להבדל הסמוך בין הרשומות, יש סיכוי גבוה שהביטים מסדר גבוה יהיו אפס. השיטה הזו מנצלת את ההסתברות הגבוהה לאפס על ידי בחירת מספר מסוים של ביטים. כל הביטים שחשובים יותר מהמספר הזה הם כנראה אפס, ולכן אנחנו משתמשים בקידוד אונרי. אפשר לראות את השדה riceParameter.

הערה היסטורית: קידוד Rice-delta שימש לראשונה בגרסה 4 של ה-API הזה. בגרסה 5 בוצעו שני שיפורים משמעותיים: ראשית, קידוד Rice-delta זמין עכשיו עם קידומות גיבוב ארוכות מ-4 בייט; שנית, הנתונים המקודדים מטופלים עכשיו כ-big-endian כדי להימנע משלב מיון יקר.

ייצוג ב-JSON
{
  "firstValue": integer,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
שדות
firstValue

integer (uint32 format)

הערך של הרשומה הראשונה בנתונים המקודדים (גיבובים או אינדקסים), או הערך של הרשומה אם קודד רק קידומת גיבוב או אינדקס יחיד. אם השדה ריק, הערך הוא אפס.

riceParameter

integer

הפרמטר של Golomb-Rice. הערך של הפרמטר הזה מובטח להיות בין 3 ל-30, כולל.

entriesCount

integer

מספר הרשומות שמוצפנות באמצעות קידוד דלתא בנתונים המוצפנים. אם רק מספר שלם אחד קודד, הערך הזה יהיה אפס והערך היחיד יישמר ב-firstValue.

encodedData

string (bytes format)

הדלתאות המקודדות שמקודדות באמצעות קודן Golomb-Rice.

מחרוזת בקידוד Base64.

RiceDeltaEncoded64Bit

זהה ל-RiceDeltaEncoded32Bit, אבל הפונקציה הזו מקודדת מספרים בני 64 ביט.

ייצוג ב-JSON
{
  "firstValue": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
שדות
firstValue

string

הערך של הרשומה הראשונה בנתונים המקודדים (גיבובים), או אם קודד רק קידומת גיבוב אחת, הערך של הרשומה הזו. אם השדה ריק, הערך הוא אפס.

riceParameter

integer

הפרמטר של Golomb-Rice. הערך של הפרמטר הזה מובטח להיות בין 35 ל-62, כולל.

entriesCount

integer

מספר הרשומות שמוצפנות באמצעות קידוד דלתא בנתונים המוצפנים. אם רק מספר שלם אחד קודד, הערך הזה יהיה אפס והערך היחיד יישמר ב-firstValue.

encodedData

string (bytes format)

הדלתאות המקודדות שמקודדות באמצעות קודן Golomb-Rice.

מחרוזת בקידוד Base64.

RiceDeltaEncoded128Bit

זהה ל-RiceDeltaEncoded32Bit, רק שכאן מדובר במספרים של 128 ביט.

ייצוג ב-JSON
{
  "firstValueHi": string,
  "firstValueLo": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
שדות
firstValueHi

string

‫64 הביטים העליונים של הרשומה הראשונה בנתונים המקודדים (גיבובים). אם השדה ריק, כל 64 הביטים העליונים הם אפס.

firstValueLo

string (uint64 format)

ה-64 ביטים התחתונים של הרשומה הראשונה בנתונים המקודדים (גיבובים). אם השדה ריק, 64 הביטים התחתונים הם אפס.

riceParameter

integer

הפרמטר של Golomb-Rice. הערך של הפרמטר הזה חייב להיות בין 99 ל-126, כולל.

entriesCount

integer

מספר הרשומות שמוצפנות באמצעות קידוד דלתא בנתונים המוצפנים. אם רק מספר שלם אחד קודד, הערך הזה יהיה אפס והערך היחיד יישמר ב-firstValue.

encodedData

string (bytes format)

הדלתאות המקודדות שמקודדות באמצעות קודן Golomb-Rice.

מחרוזת בקידוד Base64.

RiceDeltaEncoded256Bit

זהה ל-RiceDeltaEncoded32Bit, אבל הפונקציה הזו מקודדת מספרים של 256 ביט.

ייצוג ב-JSON
{
  "firstValueFirstPart": string,
  "firstValueSecondPart": string,
  "firstValueThirdPart": string,
  "firstValueFourthPart": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
שדות
firstValueFirstPart

string

‫64 הביטים הראשונים של הרשומה הראשונה בנתונים המקודדים (גיבובים). אם השדה ריק, כל 64 הביטים הראשונים הם אפס.

firstValueSecondPart

string (uint64 format)

הביטים 65 עד 128 של הרשומה הראשונה בנתונים המקודדים (גיבובים). אם השדה ריק, הביטים 65 עד 128 הם אפס.

firstValueThirdPart

string (uint64 format)

הביטים 129 עד 192 של הרשומה הראשונה בנתונים המקודדים (גיבובים). אם השדה ריק, הביטים 129 עד 192 הם אפס.

firstValueFourthPart

string (uint64 format)

‫64 הביטים האחרונים של הרשומה הראשונה בנתונים המקודדים (גיבובים). אם השדה ריק, 64 הביטים האחרונים הם אפס.

riceParameter

integer

הפרמטר של Golomb-Rice. הערך של הפרמטר הזה יהיה בין 227 ל-254, כולל.

entriesCount

integer

מספר הרשומות שמוצפנות באמצעות קידוד דלתא בנתונים המוצפנים. אם רק מספר שלם אחד קודד, הערך הזה יהיה אפס והערך היחיד יישמר ב-firstValue.

encodedData

string (bytes format)

הדלתאות המקודדות שמקודדות באמצעות קודן Golomb-Rice.

מחרוזת בקידוד Base64.

HashListMetadata

מטא-נתונים על רשימת גיבוב מסוימת.

ייצוג ב-JSON
{
  "threatTypes": [
    enum (ThreatType)
  ],
  "likelySafeTypes": [
    enum (LikelySafeType)
  ],
  "description": string,
  "hashLength": enum (HashLength)
}
שדות
threatTypes[]

enum (ThreatType)

רשימה לא ממוינת. אם הרשימה לא ריקה, היא מציינת שרשימת הגיבוב היא סוג של רשימת איומים, ומפרטת את סוגי האיומים שמשויכים לגיבובים או לקידומות של גיבובים ברשימת הגיבוב הזו. יכול להיות שיהיה ריק אם הרשומה לא מייצגת איום, כלומר אם היא מייצגת סוג בטוח סביר.

likelySafeTypes[]

enum (LikelySafeType)

רשימה לא ממוינת. אם הרשימה לא ריקה, היא מציינת שרשימת הגיבובים מייצגת רשימה של גיבובים שכנראה בטוחים, ומפרטת את הדרכים שבהן הם נחשבים כנראה בטוחים. השדה הזה בלעדי לשדה threatTypes.

description

string

תיאור קריא של הרשימה. התגובה כתובה באנגלית.

hashLength

enum (HashLength)

אורך הגיבוב הנתמך ברשימת הגיבוב הזו. כל רשימת גיבוב תתמוך באורך אחד בלבד. אם יתווסף אורך hash שונה לאותה קבוצה של סוגי איומים או סוגים בטוחים, הוא יתווסף כרשימה נפרדת עם שם ייחודי ואורך hash מוגדר משלה.

ThreatType

סוגי האיומים.

טיפוסים בני מנייה (enum)
THREAT_TYPE_UNSPECIFIED סוג האיום לא ידוע. אם השרת מחזיר את הערך הזה, הלקוח צריך להתעלם לחלוטין מהתג FullHashDetail.
MALWARE

סוג האיום של התוכנה הזדונית. תוכנה זדונית היא כל תוכנה או אפליקציה לנייד שתוכננה במיוחד כדי לגרום נזק למחשב או למכשיר נייד, לתוכנה שפועלת בהם או למי שמשתמשים בהם. ההתנהגות של תוכנות זדוניות יכולה לכלול התקנה של תוכנה ללא הסכמת המשתמש והתקנה של תוכנות מזיקות, כמו וירוסים.

מידע נוסף

SOCIAL_ENGINEERING

סוג האיום של הנדסה חברתית. דפים של הנדסה חברתית מתיימרים לפעול בשם צד שלישי במטרה לבלבל את הצופים ולגרום להם לבצע פעולה שהם היו מבצעים רק אם הם היו סומכים על סוכן אמיתי של אותו צד שלישי. פישינג הוא סוג של הנדסה חברתית שנועד להטעות את הצופה ולגרום לו לבצע פעולה ספציפית של מסירת מידע, כמו פרטי כניסה.

מידע נוסף

UNWANTED_SOFTWARE סוג האיום של תוכנה לא רצויה. תוכנה לא רצויה היא כל תוכנה שלא עומדת בעקרונות של Google בנוגע לתוכנות, אבל היא לא תוכנה זדונית.
POTENTIALLY_HARMFUL_APPLICATION סוג האיום של אפליקציה שעלולה להזיק כפי שמשמש את Google Play Protect בחנות Play.

LikelySafeType

סוגים של אתרים שסביר להניח שהם בטוחים.

שימו לב שהתג SearchHashesResponse לא מכיל את התג LikelySafeType בכוונה.

טיפוסים בני מנייה (enum)
LIKELY_SAFE_TYPE_UNSPECIFIED לא ידוע.
GENERAL_BROWSING כנראה שהאתר הזה בטוח מספיק לגלישה רגילה. הוא נקרא גם המטמון הגלובלי.
CSD סביר להניח שהאתר הזה בטוח מספיק ואין צורך להפעיל מודלים של זיהוי בצד הלקוח או בדיקות של הגנה באמצעות סיסמה.
DOWNLOAD סביר להניח שהאתר הזה בטוח מספיק, כך שאין צורך לבדוק את ההורדות מהאתר.

HashLength

האורך של הגיבובים ברשימת הגיבובים.

טיפוסים בני מנייה (enum)
HASH_LENGTH_UNSPECIFIED אורך לא מוגדר.
FOUR_BYTES כל גיבוב הוא קידומת של ארבעה בייטים.
EIGHT_BYTES כל גיבוב הוא תחילית של שמונה בייטים.
SIXTEEN_BYTES כל גיבוב הוא תחילית של שישה-עשר בייטים.
THIRTY_TWO_BYTES כל גיבוב הוא גיבוב מלא באורך 32 בייט.

Methods

get

מקבל את התוכן העדכני של רשימת גיבוב.