gaia_password_reuse.proto 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. // Copyright 2019 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. //
  5. // Security Events used for recording security related events.
  6. // If you change or add any fields in this file, update proto_visitors.h and
  7. // potentially proto_enum_conversions.{h, cc}.
  8. syntax = "proto2";
  9. option java_multiple_files = true;
  10. option java_package = "org.chromium.components.sync.protocol";
  11. option optimize_for = LITE_RUNTIME;
  12. package sync_pb;
  13. // User reused their GAIA password on another website.
  14. message GaiaPasswordReuse {
  15. // Logged when we detect a password re-use event on a non-GAIA site.
  16. // If the user hasn’t enabled SafeBrowsing, this will be the last event.
  17. message PasswordReuseDetected {
  18. message SafeBrowsingStatus {
  19. // Is SafeBrowsing enabled?
  20. optional bool enabled = 1;
  21. // If SafeBrowsing is enabled, is the user opted-in to extended
  22. // reporting or Scout?
  23. enum ReportingPopulation {
  24. REPORTING_POPULATION_UNSPECIFIED = 0;
  25. NONE = 1;
  26. EXTENDED_REPORTING = 2;
  27. SCOUT = 3;
  28. }
  29. optional ReportingPopulation safe_browsing_reporting_population = 2;
  30. }
  31. optional SafeBrowsingStatus status = 1;
  32. }
  33. optional PasswordReuseDetected reuse_detected = 1;
  34. message PasswordReuseLookup {
  35. enum LookupResult {
  36. UNSPECIFIED = 0;
  37. // URL did match the password reuse whitelist.
  38. // No further action required related to this re-use event.
  39. WHITELIST_HIT = 1;
  40. // The URL exists in the client’s cache.
  41. // No further action required related to this re-use event.
  42. // This event also logs the ReputationVerdict.
  43. CACHE_HIT = 2;
  44. // A valid response received from the SafeBrowsing service.
  45. // This event also logs the ReputationVerdict.
  46. REQUEST_SUCCESS = 3;
  47. // Unable to get a valid response from the SafeBrowsing service.
  48. REQUEST_FAILURE = 4;
  49. // We won't be able to compute reputation for the URL e.g. local IP
  50. // address, localhost, not-yet-assigned by ICANN gTLD, etc.
  51. URL_UNSUPPORTED = 5;
  52. // URL did match enterprise whitelist.
  53. // No further action required related to this re-use event.
  54. ENTERPRISE_WHITELIST_HIT = 6;
  55. // Password reuse lookup is turned off by enterprise policy.
  56. // No further action required related to this re-use event.
  57. TURNED_OFF_BY_POLICY = 7;
  58. }
  59. optional LookupResult lookup_result = 1;
  60. // The following two are only present for CACHE_HIT and REQUEST_SUCCESS.
  61. // The verdict received from the Reputation service. This is set only
  62. // if the user has SafeBrowsing enabled and we fetch the verdict from the
  63. // cache or by sending a verdict request.
  64. enum ReputationVerdict {
  65. VERDICT_UNSPECIFIED = 0;
  66. SAFE = 1;
  67. LOW_REPUTATION = 2;
  68. PHISHING = 3;
  69. }
  70. optional ReputationVerdict verdict = 2;
  71. // PhishGuard token that identifies the verdict on the server.
  72. optional bytes verdict_token = 3;
  73. }
  74. // Logged when we try to detect whether the password was reused on a
  75. // Phishing or a Low-reputation site.
  76. optional PasswordReuseLookup reuse_lookup = 2;
  77. // Logged when the user interacts with the warning UI shown to encourage
  78. // password change if the site is Phishing or Low-reputation.
  79. message PasswordReuseDialogInteraction {
  80. enum InteractionResult {
  81. UNSPECIFIED = 0;
  82. // The user took the action suggested by the warning prompt.
  83. WARNING_ACTION_TAKEN = 1;
  84. // The user clicked ignore in the warning prompt.
  85. WARNING_ACTION_IGNORED = 2;
  86. // The warning UI was ignored, i.e. not interacted with by the user.
  87. // This could happen if the user navigates away from the page.
  88. WARNING_UI_IGNORED = 3;
  89. // The user clicked "Change Password" on chrome://settings page.
  90. WARNING_ACTION_TAKEN_ON_SETTINGS = 4;
  91. }
  92. optional InteractionResult interaction_result = 1;
  93. }
  94. optional PasswordReuseDialogInteraction dialog_interaction = 3;
  95. // TODO(markusheintz): Remove
  96. // DEPRECATED: DO NOT USE!
  97. // Logged when the user logs into Google, and at least once per 28d.
  98. message PasswordCaptured {
  99. enum EventTrigger {
  100. UNSPECIFIED = 0;
  101. // Event added because user logged in.
  102. USER_LOGGED_IN = 1;
  103. // Event added because 28d timer fired.
  104. EXPIRED_28D_TIMER = 2;
  105. }
  106. optional EventTrigger event_trigger = 1;
  107. }
  108. optional PasswordCaptured password_captured = 4 [deprecated = true];
  109. }