భద్రత
వాల్ట్ ఎలా నిర్మించబడింది, మరియు దానిని ఛేదిస్తే ఏమి బయటపడుతుంది.
చివరిగా నవీకరించబడింది 21 సెప్టెంబర్ 2026 · సర్కిల్రోల్ LLC వారి అష్యూర్డ్ఆథ్
అష్యూర్డ్ఆథ్ మీరు దానిలో ఉంచే టూ-ఫ్యాక్టర్ సీక్రెట్లు, పాస్వర్డ్లు మరియు కార్డ్లను ఎలా రక్షిస్తుందో తెలిపే బహిరంగ వివరణ ఇది. భద్రతపై శ్రద్ధ ఉన్న పాఠకులు ప్రతి వాదనను యాప్తో మరియు ప్రచురించబడిన టెస్ట్ వెక్టర్స్తో (hello@assuredauth.com వద్ద అభ్యర్థనపై ఏ సమీక్షకుడైనా పొందవచ్చు) సరిపోల్చి చూసుకునే విధంగా ఇది వ్రాయబడింది. ఇది నిజమైన విషయాలను మాత్రమే చెబుతుంది, అంతకు మించి ఏమీ చెప్పదు: ఇక్కడ ఉన్న ఏదీ దాడికి అతీతమని చెప్పబడలేదు, మరియు ఏదీ శాతాలలో వాగ్దానం చేయబడలేదు.
సంక్షిప్తంగా చెప్పాలంటే: వాల్ట్ ఒకే చోట, అంటే మీ ఫోన్లో ఉంటుంది. దానిలోని ప్రతి విలువ, ఫోన్ యొక్క సెక్యూరిటీ హార్డ్వేర్ కలిగి ఉండి, బయటకు పంపలేని ఒక కీతో ఎన్క్రిప్ట్ చేయబడి ఉంటుంది. మేము ఎలాంటి వాల్ట్ సర్వర్ను నడపము, ఎలాంటి కాపీని ఉంచుకోము మరియు ఎలాంటి కీని కూడా మా వద్ద ఉంచుకోము. ఎక్కడా నిల్వ చేయబడని ఒక పాస్ఫ్రేజ్ కింద ఎన్క్రిప్ట్ చేసిన తర్వాత మాత్రమే ఒక బ్యాకప్ ఫైల్ ఫోన్ నుండి బయటకు వస్తుంది.
సమస్యను నివేదించండి: hello@assuredauth.com. చివరన ఉన్న "లోపాన్ని నివేదించడం" చూడండి.
1. దేనిని, దేనితో ఎన్క్రిప్ట్ చేశారు?
| డేటా | ఫోన్లో | కీ |
|---|---|---|
| టూ-ఫ్యాక్టర్ సీక్రెట్స్ (TOTP/HOTP/Steam seeds) | ఫోన్లోకీచైన్ (iOS) / ఆండ్రాయిడ్ కీస్టోర్-మద్దతుగల స్టోర్ | కీప్లాట్ఫారమ్ యొక్క హార్డ్వేర్కు పరిమితమైన కీ; డేటాబేస్ వరుస కేవలం ఒక రిఫరెన్స్ను (secretRef) మాత్రమే కలిగి ఉంటుంది, సీడ్ను ఎప్పటికీ కలిగి ఉండదు. |
| పాస్వర్డ్లు (పాస్వర్డ్ విలువ, గమనికలు) | ఫోన్లోసీల్డ్ వరుస: AES-256-GCM, ప్రతి విలువకు ఒక యాదృచ్ఛిక 96-బిట్ నాన్స్ | కీఒక యాదృచ్ఛిక 256-బిట్ డేటా కీ, అది §2లోని హార్డ్వేర్ కీ ద్వారా చుట్టబడి ఉంటుంది |
| కార్డులు (నంబర్, గడువు తేదీ, కార్డుపై పేరు, CVC) | ఫోన్లోపాస్వర్డ్ల మాదిరిగానే సీల్; CVC ఐచ్ఛికం మరియు మీరు దానిని నమోదు చేస్తే మాత్రమే నిల్వ చేయబడుతుంది. | కీఅదే డేటా కీ |
| మెటాడేటా (సేవ పేర్లు, వినియోగదారు పేర్లు, చిహ్నాలు, క్రమబద్ధీకరణ క్రమం) | ఫోన్లోయాప్ యొక్క డేటాబేస్ (స్విఫ్ట్డేటా / రూమ్) | కీఆపరేటింగ్ సిస్టమ్ యొక్క ఫైల్ ఎన్క్రిప్షన్ ద్వారా రక్షించబడింది; రహస్యం కానిదిగా పరిగణించబడుతుంది |
| బ్యాకప్ ఫైల్ (.authbackup) | ఫోన్లోమీరు దాన్ని ఎక్కడ ఉంచినా: ఫైల్స్, ఐక్లౌడ్ డ్రైవ్, గూగుల్ డ్రైవ్ యాప్ డేటా ఫోల్డర్, ఒక షేర్ షీట్ | కీమీ పాస్ఫ్రేజ్ నుండి పొందిన కీ (§3). ఆపిల్ మరియు గూగుల్ సీల్ చేసిన ఫైల్ను మాత్రమే స్వీకరిస్తాయి, మరేదీ కాదు. |
| వాచ్ / వేర్ కంపానియన్ | ఫోన్లోవాచ్ యొక్క సొంత కీచైన్ / ఎన్క్రిప్టెడ్ షేర్డ్ ప్రిఫరెన్సెస్ | కీవాచ్ ప్లాట్ఫారమ్ కీలు; ప్లాట్ఫారమ్ యొక్క జత చేసిన పరికర ఛానెల్ ద్వారా బదిలీ చేయబడతాయి |
| డెస్క్టాప్ ఎక్స్టెన్షన్ ట్రాఫిక్ (అభ్యర్థన మేరకు వన్-టైమ్ కోడ్లు) | ఫోన్లోనిల్వ చేయబడలేదు; ఎండ్-టు-ఎండ్ ఎన్క్రిప్టెడ్ ఎన్వలప్లుగా పంపబడ్డాయి | కీప్రతి జతకూర్పుకు ఒక X25519 కీ జత, కీచైన్ / కీస్టోర్లో ప్రైవేట్ కీ; రిలే సైఫర్టెక్స్ట్ను మాత్రమే చూస్తుంది |
డయాగ్నొస్టిక్స్లో సీక్రెట్ను స్వీకరించే పద్ధతి ఏదీ లేదు. ఏ అనలిటిక్స్ ఈవెంట్లోనూ వాల్ట్ ఫీల్డ్ ఉండదు. ఏ బిల్డ్లోనైనా, వాల్ట్ నుండి ఏ విలువ కూడా లాగ్కు వ్రాయబడదు.
2. ప్రతి ప్లాట్ఫారమ్లో కీలు ఎక్కడ ఉంటాయి
iOS. ఆటోఫిల్ ఎక్స్టెన్షన్ అదే కీని ఉపయోగించుకునేలా, డేటా కీ అనేది యాప్ యొక్క షేర్డ్ కీచైన్ యాక్సెస్ గ్రూప్లో, .privateKeyUsage + .userPresence యాక్సెస్ కంట్రోల్ మరియు …ThisDeviceOnly యాక్సెసిబిలిటీతో సెక్యూర్ ఎన్క్లేవ్ (kSecAttrTokenIDSecureEnclave) లోపల రూపొందించబడిన కీ ద్వారా చుట్టబడి ఉంటుంది. ప్రైవేట్ కీని యాప్ ద్వారా గానీ, బ్యాకప్ ద్వారా గానీ, లేదా డీబగ్గర్ ద్వారా గానీ ఎన్క్లేవ్ నుండి బయటకు చదవలేరు; వినియోగదారు అందుబాటులో ఉన్నప్పుడు (ఫేస్ ఐడి, టచ్ ఐడి లేదా డివైస్ పాస్కోడ్) మాత్రమే దానిని ఉపయోగించడానికి ఎన్క్లేవ్ అంగీకరిస్తుంది. ThisDeviceOnly అంటే ఫోన్ యొక్క ఐక్లౌడ్ లేదా ఐట్యూన్స్ బ్యాకప్లో ఆ కీ ఉండదు; రీస్టోర్ చేయబడిన ఫోన్ ఖాళీ వాల్ట్తో ప్రారంభమై, మీ బ్యాకప్ ఫైల్ మరియు పాస్ఫ్రేజ్ను అడుగుతుంది. పాస్కోడ్ లేని ఫోన్ .userPresence కీని సృష్టించలేదు (ఎన్క్లేవ్ దానిని సృష్టించడానికి నిరాకరిస్తుంది), మరియు సిమ్యులేటర్ కూడా అదే మార్గాన్ని అనుసరిస్తుంది (దాని ప్రెసెన్స్ ప్రాంప్ట్ అనేది ఏ పరీక్ష కూడా సమాధానం ఇవ్వలేని ఒక హెచ్చరిక): అక్కడ డేటా కీ అనేది కేవలం పరికరానికి మాత్రమే పరిమితమైన ఒక కీచైన్ ఐటెమ్ — ఇది ప్రతి బ్యాకప్లో ఉండదు, ఫోన్ లాక్ చేసి ఉన్నప్పుడు చదవడానికి వీలుండదు, కానీ రెండవ ప్రాంప్ట్ ఉండదు — మరియు సెక్యూరిటీ స్క్రీన్ కూడా అదే విషయాన్ని చెబుతూ, పాస్కోడ్ను సెట్ చేసుకోమని సూచిస్తుంది.
ఆండ్రాయిడ్. డేటా కీ అనేది ఒక AndroidKeyStore AES-256 కీ ద్వారా చుట్టబడి ఉంటుంది. ఈ కీ, పరికరంలో స్ట్రాంగ్బాక్స్ ఉన్నప్పుడు (లేకపోతే TEE) అందులో జనరేట్ చేయబడుతుంది. దీనికి setUserAuthenticationRequired(true) మరియు బయోమెట్రిక్ లేదా పరికర క్రెడెన్షియల్ తర్వాత 30-సెకన్ల ప్రామాణీకరణ చెల్లుబాటు, setUnlockedDeviceRequired(true), మరియు setInvalidatedByBiometricEnrollment(true) అనేవి ఆన్లో ఉంచబడతాయి. ఆ చివరి ఫ్లాగ్ అధిక భారం కాకుండా నిజాయితీతో కూడుకున్నది: ప్రతి ఉపయోగంలో బయోమెట్రిక్ అవసరమయ్యే కీలకు మాత్రమే ఆండ్రాయిడ్ దీనిని వర్తింపజేస్తుంది, కాబట్టి పరికర క్రెడెన్షియల్ అనుమతించబడిన ఈ 30-సెకన్ల కీపై ఇది ఏమీ మార్చదు — ఒక అపరిచితుడి వేలు పడకుండా కాపాడేది ఏమిటంటే, దానిని నమోదు చేయడానికి పిన్ అవసరం, మరియు స్క్రీన్ లాక్ను తీసివేస్తే ఆ కీ శాశ్వతంగా చెల్లదు. కీస్టోర్ కీలు ఎక్స్పోర్ట్ చేయబడవు మరియు ఆండ్రాయిడ్ క్లౌడ్ బ్యాకప్ నుండి మినహాయించబడతాయి. ఒక యాప్ దాని స్వంత వ్యూస్లో పేరు పెట్టే డొమైన్ (webDomain) తెలిసిన బ్రౌజర్ నుండి మాత్రమే విశ్వసించబడుతుంది; ఇతర ఏ ప్యాకేజీ నుండి అయినా, అది కూడా సిస్టమ్ ఆ ప్యాకేజీ కోసం ధృవీకరించినది (డిజిటల్ అసెట్ లింక్స్) అయి ఉండాలి, ఎందుకంటే ఏ యాప్ అయినా ఏ డొమైన్నైనా క్లెయిమ్ చేయవచ్చు.
దొంగిలించబడిన డేటాబేస్ ఫైల్కు దీని అర్థం ఏమిటి. SQLite ఫైల్ మరియు సీల్ చేయబడిన వరుసలు సైఫర్టెక్స్ట్ రూపంలో ఉంటాయి. వాటిని తెరిచే కీ, ఆ ఫైల్ వచ్చిన ఫోన్లోని సెక్యూరిటీ హార్డ్వేర్లో నిక్షిప్తమై ఉంటుంది మరియు దానిని ఫైల్తో పాటు కాపీ చేయడం సాధ్యపడదు. ఆఫ్లైన్లో ఊహించడానికి ఏమీ ఉండదు: ఆ డేటా కీ యాదృచ్ఛికమైనది, అది ఏ వ్యక్తి ఎంచుకున్న దాని నుండి ఉద్భవించలేదు.
3. బ్యాకప్ ఫైల్
ఫోన్ నుండి బయటకు వెళ్లేది బ్యాకప్లే, కాబట్టి సూత్రప్రాయంగా ఆఫ్లైన్ దాడి జరగడానికి అవకాశం ఉన్న ఏకైక ప్రదేశం అదే. ఈ రూపకల్పన ఆ దాడిని ఖరీదైనదిగా చేస్తుంది మరియు దాడి చేయడానికి వీలైనంత తక్కువ అవకాశాన్ని ఇస్తుంది:
- పాస్ఫ్రేజ్ కనీసం 12 అక్షరాలు ఉండాలి (షీట్ తక్కువ అక్షరాలను అనుమతించదు మరియు స్ట్రెంత్ బార్ను చూపుతుంది).
- ఫైల్లో గానీ, యాప్లో గానీ ఎక్కడా పాస్ఫ్రేజ్ సూచన నిల్వ చేయబడదు.
- వ్రాసిన ప్రతి ఫైల్కు ఒక కొత్త యాదృచ్ఛిక 16-బైట్ సాల్ట్ మరియు 12-బైట్ నాన్స్.
- దీని మొత్తం నిర్మాణం AES-256-GCM, కాబట్టి తప్పుడు పాస్ఫ్రేజ్ లేదా పాడైన ఫైల్ తిరస్కరించబడుతుంది, ఎప్పటికీ పనికిరానిదిగా డీక్రిప్ట్ చేయబడదు.
- హెడర్ (ఫార్మాట్, వెర్షన్, KDF పారామీటర్లు, సాల్ట్) అదనపు ప్రామాణీకరించబడిన డేటాగా GCM ట్యాగ్లోకి బంధించబడుతుంది, కాబట్టి వర్క్ ఫ్యాక్టర్ తగ్గించబడిన ఫైల్ తెరవబడదు.
ఈ ఫైల్ JSON ఫార్మాట్లో ఉంది మరియు ఏ టెక్స్ట్ ఎడిటర్లోనైనా చదవవచ్చు; కేవలం సైఫర్టెక్స్ట్ మాత్రమే అర్థం చేసుకోవడానికి కష్టంగా ఉంటుంది. ఐదేళ్ల తర్వాత, యాప్ అందుబాటులో లేనప్పుడు ఈ ఫైల్ను కనుగొన్న ఎవరైనా, అది ఎలా సీల్ చేయబడిందో ఖచ్చితంగా చూడగలరు మరియు దానిని OpenSSL లేదా ఏదైనా Argon2 లైబ్రరీతో తెరవగలరు.
ఫార్మాట్ v1 (1.0లో విడుదల చేయబడింది, చదవడానికి వీలుగానే ఉంటుంది)
{
"format": "authbackup",
"version": 1,
"kdf": "PBKDF2-HMAC-SHA256",
"rounds": 600000,
"salt": "<base64, 16 bytes>",
"cipher": "AES-256-GCM",
"nonce": "<base64, 12 bytes>",
"ciphertext": "<base64>",
"tag": "<base64, 16 bytes>"
}
| దశ | బైట్లు |
|---|---|
key | PBKDF2-HMAC-SHA256(passphrase as UTF-8, salt, 600000 rounds, 32 bytes) |
aad | UTF-8("authbackup:1:600000:") ‖ salt (రా సాల్ట్ బైట్స్, బేస్64 కాదు) |
ciphertext, tag | AES-256-GCM(key, nonce, plaintext, aad); ట్యాగ్ 16 బైట్లు, విడిగా నిల్వ చేయబడింది |
plaintext | UTF-8 JSON, కీలు క్రమబద్ధీకరించబడ్డాయి: {"accounts":[…],"exportedAt":"…Z","passwords":[…],"version":1} |
అనుకూలత గమనిక: ఆండ్రాయిడ్ 1.0, v1 యొక్క ఒక రూపాంతరాన్ని రాసింది — kdf చిన్న అక్షరాలలో, ట్యాగ్ కీ లేకుండా (సైఫర్టెక్స్ట్కు జోడించబడిన 16-బైట్ల ట్యాగ్), అదనపు డేటా లేకుండా. రెండు ప్లాట్ఫారమ్లు ఆ ఫైల్లను చదవడం కొనసాగిస్తాయి (ట్యాగ్ లేనప్పుడు: చివరి 16 బైట్లను విభజించి, ఖాళీ AADతో తెరిచి; kdfను కేస్-ఇన్సెన్సిటివ్గా పోల్చి చూస్తాయి) మరియు ఇప్పుడు రెండూ పైన పేర్కొన్న లేఅవుట్ను మాత్రమే రాస్తాయి.
ఫార్మాట్ v2 (ప్రస్తుతది; కొత్త బ్యాకప్ల కోసం డిఫాల్ట్)
{
"format": "authbackup",
"version": 2,
"kdf": "Argon2id",
"memoryKiB": 65536,
"passes": 3,
"lanes": 1,
"salt": "<base64, 16 bytes>",
"cipher": "AES-256-GCM",
"nonce": "<base64, 12 bytes>",
"ciphertext": "<base64>",
"tag": "<base64, 16 bytes>"
}
| దశ | బైట్లు |
|---|---|
key | Argon2id(version 0x13, passphrase as UTF-8, salt, m = 65536 KiB, t = 3, p = 1, tagLength 32, no secret, no associated data) |
aad | UTF-8("authbackup:2:argon2id:65536:3:1:") ‖ salt |
ciphertext, tag | AES-256-GCM(key, nonce, plaintext, aad); ట్యాగ్ 16 బైట్లు, విడిగా నిల్వ చేయబడింది |
plaintext | UTF-8 JSON, కీలు క్రమబద్ధీకరించబడ్డాయి: {"accounts":[…],"cards":[…],"exportedAt":"…Z","passwords":[…],"version":2} |
Argon2id అనేది రిఫరెన్స్ C ఇంప్లిమెంటేషన్ (phc-winner-argon2, CC0), ఇది రెండు ప్లాట్ఫారమ్లలోనూ వెండర్ చేయబడింది. ప్రస్తుత ఫోన్లో 64 MiB మరియు 3 పాస్లకు సుమారు ఒక సెకను పడుతుంది మరియు ఏ హార్డ్వేర్పైనైనా ప్రతి అంచనాకు అంతే మెమరీ మరియు సమయం ఖర్చవుతుంది — ఈ లక్షణం GPU రిగ్ల విషయంలో PBKDF2కి లేదు, మరియు v2 ఉనికిలో ఉండటానికి ఇదే కారణం. ఒక రీడర్ తనకు తెలియని కీలను విస్మరిస్తుంది, కాబట్టి v2 బాడీని ఇచ్చిన v1 రీడర్ కార్డ్లను అస్సలు చూడదు.
రుజువు
రెండు యాప్లకు సంబంధం లేకుండా, మూడవ ఇంప్లిమెంటేషన్ (PBKDF2 మరియు AES-GCM కోసం నోడ్ యొక్క OpenSSL, మరియు జనరేషన్ సమయంలో రిఫరెన్స్ ఇంప్లిమెంటేషన్ యొక్క పబ్లిష్డ్ ఆన్సర్స్తో సరిపోల్చి చూసిన WebAssembly Argon2id) ద్వారా మూడు టెస్ట్-వెక్టర్ ఫైల్స్ (బ్యాకప్ v1, బ్యాకప్ v2 మరియు Argon2id) జనరేట్ చేయబడతాయి. ప్రతి ఫైల్లో పాస్ఫ్రేజ్, సాల్ట్, నాన్స్, ప్లెయిన్టెక్స్ట్, డెరైవ్డ్ కీ, AAD, ఎక్స్పెక్టెడ్ సైఫర్టెక్స్ట్ మరియు ట్యాగ్, ఇంకా పూర్తి ఫైల్ ఉంటాయి. iOS మరియు ఆండ్రాయిడ్లోని యూనిట్ టెస్ట్లు అవే ఫైల్స్ను చదివి, అవే బైట్లను నిర్ధారిస్తాయి — కాబట్టి ఒక ప్లాట్ఫామ్పై సీల్ చేయబడిన బ్యాకప్, మరొక ప్లాట్ఫామ్పై ఓపెన్ అవుతుందని ఊహించకుండా, నిరూపించబడుతుంది, మరియు ఈ మూడింటి మధ్య ఏకీభావం అనేది ఒకే తప్పు యొక్క రెండు కాపీలు కావు. ఒక సహాయక సాధనం, ఫోన్ వాస్తవానికి అదే మూడవ ఇంప్లిమెంటేషన్తో వ్రాసిన ఫైల్ను తెరుస్తుంది మరియు పైన పేర్కొన్న నియమాలకు వ్యతిరేకంగా హెడర్ను తనిఖీ చేస్తుంది (ఖచ్చితంగా ఫార్మాట్ యొక్క కీలు, కాబట్టి ఎటువంటి సూచన లేదా పేరు ఉండకూడదు; 16-బైట్ సాల్ట్, 12-బైట్ నాన్స్, 16-బైట్ ట్యాగ్ విడిగా నిల్వ చేయబడతాయి; వెర్షన్ 2 ఖచ్చితంగా 64 MiB / 3 / 1 వద్ద; తప్పు పాస్ఫ్రేజ్ తిరస్కరించబడింది); ఆటోమేటెడ్ iOS రన్ సిమ్యులేటర్పై ఒకదాన్ని వ్రాసి, దానిని ఆ విధంగా తెరుస్తుంది, మరియు సిమ్యులేటర్ యొక్క యాప్ కంటైనర్, యాప్ గ్రూప్ కంటైనర్ మరియు కీచైన్ డేటాబేస్లో ప్రతి సీడెడ్ పాస్వర్డ్ మరియు కార్డ్ నంబర్ కోసం UTF-8 మరియు UTF-16 ఫార్మాట్లలో శోధిస్తుంది (0 ఫలితాలు).
4. ముప్పు నమూనా
| పరిస్థితి | వారి వద్ద ఉన్నది | వారు పొందేది |
|---|---|---|
| పోగొట్టుకున్న లేదా దొంగిలించబడిన ఫోన్, లాక్ చేయబడింది | వారి వద్ద ఉన్నదిపరికరం, డేటాబేస్ ఫైల్, సీల్ చేయబడిన వరుసలు | వారు పొందేదిసైఫర్టెక్స్ట్. ర్యాపింగ్ కీ సెక్యూర్ ఎన్క్లేవ్ / స్ట్రాంగ్బాక్స్లో ఉంటుంది మరియు పరికరాన్ని లాక్ చేసి, కొత్త బయోమెట్రిక్ లేదా పాస్కోడ్ను నమోదు చేసిన తర్వాత మాత్రమే విడుదల అవుతుంది. ఫోన్ను రిమోట్గా వైప్ చేయడం (ఫైండ్ మై / ఫైండ్ మై డివైస్) దానితో పాటు కీ మెటీరియల్ను కూడా నాశనం చేస్తుంది. |
| దొంగిలించబడిన బ్యాకప్ ఫైల్ | వారి వద్ద ఉన్నదిక్లౌడ్ ఖాతా, ఇమెయిల్, ల్యాప్టాప్ నుండి .authbackup ఫైల్ | వారు పొందేదికనీసం 12 అక్షరాల పాస్ఫ్రేజ్ నుండి పొందిన కీ కింద ఉన్న ఒక AES-256-GCM బాడీ, ప్రతి ఫైల్కు ఒక సాల్ట్ మరియు Argon2idతో 64 MiB × 3 పాస్ల వద్ద (v2) లేదా 600,000 రౌండ్ల వద్ద (v1) పనిచేస్తుంది. ఎటువంటి సూచన, యూజర్నేమ్, లేదా అకౌంట్ జాబితా స్పష్టంగా ఉండవు. ప్రతి ఊహకు పూర్తి డెరివేషన్ ఖర్చవుతుంది; దీనికి షార్ట్కట్ లేదు. ఇక్కడ బలమైన పాస్ఫ్రేజే పూర్తి రక్షణ, మరియు యాప్ ఆ విషయాన్ని షీట్లో చెబుతుంది. |
| స్క్రీన్ అన్లాక్ చేయబడిన దొంగిలించబడిన పరికరం | వారి వద్ద ఉన్నదిమీ చేతిలో అన్లాక్ చేయబడిన ఫోన్ | వారు పొందేదికోడ్ల జాబితా. వాల్ట్ (పాస్వర్డ్లు, కార్డ్లు) యాప్ లాక్ వెనుక ఉంటుంది మరియు ఆటో-లాక్ టైమర్ (వెంటనే / 1 నిమిషం / 5 నిమిషాలు) ప్రకారం తిరిగి లాక్ అవుతుంది; డీక్రిప్ట్ చేయబడిన విలువ దాని స్క్రీన్లో కనిపిస్తున్నంత సేపు మాత్రమే మెమరీలో ఉంటుంది. యాప్ తెరిచి ఉన్నప్పటికీ, ఆటోఫిల్ మరియు ప్లెయిన్-టెక్స్ట్ ఎక్స్పోర్ట్ కోసం కొత్త బయోమెట్రిక్ వివరాలు అడుగుతాయి. ఈ విషయం గురించి మీరు ఆందోళన చెందుతుంటే, యాప్ లాక్ను "వెంటనే" అనే ఆప్షన్తో ఆన్ చేయండి. |
| అదే ఫోన్లో హానికరమైన యాప్ | వారి వద్ద ఉన్నదిమరొక యాప్ యొక్క శాండ్బాక్స్, క్లిప్బోర్డ్, యాక్సెసిబిలిటీ లేదా ఓవర్లే ట్రిక్స్ | వారు పొందేదిఇది మా ఫైళ్లను చదవలేదు (ప్లాట్ఫారమ్ శాండ్బాక్సింగ్) లేదా మా కీని ఉపయోగించదు (ఆ కీ మా సైనింగ్ ఐడెంటిటీకి మరియు యూజర్ ప్రెజెన్స్కు అనుసంధానించబడి ఉంటుంది). 30 సెకన్ల తర్వాత క్లిప్బోర్డ్ నుండి కాపీలు క్లియర్ చేయబడతాయి; ఆండ్రాయిడ్లో, ఆ కాపీ సెన్సిటివ్గా ఫ్లాగ్ చేయబడి, క్లిప్బోర్డ్ హిస్టరీ నుండి మినహాయించబడుతుంది. ఆండ్రాయిడ్లో వాల్ట్ స్క్రీన్లు FLAG_SECUREను సెట్ చేస్తాయి (స్క్రీన్షాట్లు లేవు, స్క్రీన్ రికార్డింగ్ లేదు, స్విచర్లో ఖాళీగా ఉంటుంది); iOS స్విచర్ థంబ్నెయిల్ను ఖాళీగా ఉంచుతుంది. ఆండ్రాయిడ్లో ఆటోఫిల్ అనేది, సేవ్ చేయబడిన డొమైన్ (డిజిటల్ అసెట్ లింక్స్)కు వ్యతిరేకంగా సిస్టమ్ ధృవీకరించిన యాప్లకు మాత్రమే అందించబడుతుంది, కాబట్టి దానిని పోలిన యాప్కు మీ పాస్వర్డ్ అందించబడదు. |
| ఫిషింగ్ పేజీ | వారి వద్ద ఉన్నదిమీరు సేవ్ చేసిన సైట్ లాగా కనిపించే సైట్ | వారు పొందేదిఏదీ నింపబడదు. సరిపోల్చడం అనేది నమోదు చేయదగిన డొమైన్ ద్వారా జరుగుతుంది (యాప్తో పాటు వచ్చే మరియు అప్డేట్ చేయబడే పబ్లిక్ సఫిక్స్ జాబితా): login.example.com మరియు example.com సరిపోతాయి, example.com.evil.net మరియు examp1e.com సరిపోవు. యాప్లోని బ్రౌజర్ కూడా ఇదే విధంగా సరిపోల్చి, అడిగిన ఫ్రేమ్లో మాత్రమే నింపుతుంది; నింపే సమయంలో ఆ ఫ్రేమ్ యొక్క సొంత ఆరిజిన్తో తిరిగి సరిచూస్తుంది; సొంతంగా నమోదు చేయదగిన డొమైన్ లేని హోస్ట్ — అంటే ఒక IP చిరునామా, లేదా లోకల్ నెట్వర్క్లోని కేవలం ఒక పేరు — ఖచ్చితంగా సరిపోతుంది, అంతకంటే వదులుగా ఉండే దేనితోనూ సరిపోదు. iOS ఆటోఫిల్, ఆపిల్ యొక్క అనుబంధ-డొమైన్ల తనిఖీని జోడిస్తుంది. దానిని పోలిన దానిలోకి మీరు చేతితో పేస్ట్ చేయవలసిన పాస్వర్డ్ ఇప్పటికీ ఒక ప్రమాదమే; యాప్ దానిని తొలగించలేదు, కేవలం సహాయం చేయకుండా ఉండగలదు. |
| మా స్వంత సర్వర్లు | వారి వద్ద ఉన్నది— | వారు పొందేదివాల్ట్ సర్వర్ లేదు. అష్యూర్డ్ఆథ్ వద్ద ఖాతాలు, సైన్-ఇన్ మరియు మీ వాల్ట్ కాపీ ఏవీ లేవు, కాబట్టి మా వైపు దొంగిలించడానికి మరియు ఛేదించడానికి మీ సమాచారం ఏదీ లేదు. సర్వర్ వైపు రెండు విషయాలు నడుస్తాయి, వాటిలో ఏదీ వాల్ట్ను తాకదు: ఒకటి, డెస్క్టాప్ ఎక్స్టెన్షన్ కోసం ఒక రిలే మెయిల్బాక్స్, ఇది ఎండ్-టు-ఎండ్ ఎన్క్రిప్టెడ్ ఎన్వలప్లను (ఒక-సారి ఉపయోగించే కోడ్లు, చదివినప్పుడు తొలగించబడతాయి; రిలే వద్ద ఎప్పుడూ కీ ఉండదు) నిల్వ చేస్తుంది; మరియు రెండవది, ఐచ్ఛిక ప్రైవేట్ కనెక్షన్ యొక్క ఎగ్జిట్ సర్వర్లు, ఇవి ట్రాఫిక్ను తీసుకువెళ్తాయి మరియు ఎలాంటి యాక్సెస్ లాగ్లను ఉంచవు. |
| సబ్పోనా లేదా ప్రభుత్వ అభ్యర్థన | వారి వద్ద ఉన్నదిమాకు ఉద్దేశించిన చట్టపరమైన ప్రక్రియ | వారు పొందేదిఅప్పగించడానికి ఏమీ లేదు: మా దగ్గర ఖజానా లేదు, తాళం చెవి లేదు, రహస్య సంకేతం లేదు, బ్యాకప్ లేదు. అలా చెప్పమని మమ్మల్ని బలవంతం చేయవచ్చు; కానీ ఉనికిలో లేనిదాన్ని సృష్టించమని మమ్మల్ని బలవంతం చేయలేరు. |
5. క్లిప్బోర్డ్, స్క్రీన్షాట్లు మరియు మెమరీ
- కాపీ విలువను 30 సెకన్ల పాటు క్లిప్బోర్డ్లో ఉంచుతుంది, ఆ తర్వాత అది ఇంకా మనదే అయితే దాన్ని క్లియర్ చేస్తుంది. ఆండ్రాయిడ్లో క్లిప్ EXTRA_IS_SENSITIVE అని మార్క్ చేయబడి ఉంటుంది, కాబట్టి సిస్టమ్ దానిని క్లిప్బోర్డ్ ప్రివ్యూ మరియు హిస్టరీ నుండి దాచిపెడుతుంది; iOSలో పేస్ట్బోర్డ్ ఐటమ్ కేవలం లోకల్గా మాత్రమే ఉంటుంది (ఇతర డివైజ్లకు హ్యాండ్ఆఫ్ చేయబడదు).
- ఆండ్రాయిడ్లో వాల్ట్ స్క్రీన్లు (పాస్వర్డ్లు, పాస్వర్డ్, కార్డ్లు, కార్డ్, పాస్ఫ్రేజ్ షీట్లు, ప్లెయిన్-టెక్స్ట్ ఎక్స్పోర్ట్) FLAG_SECUREను సెట్ చేస్తాయి. iOSలో దీనికి సమానమైన ఫ్లాగ్ లేదు; యాప్ స్విచర్లో యాప్ దాని థంబ్నెయిల్ను ఖాళీ చేస్తుంది మరియు డిఫాల్ట్గా విలువలు ఒక కంటి టోగుల్ వెనుక ఉంటాయి.
- డీక్రిప్ట్ చేయబడిన విలువలు స్క్రీన్ వాటిని చూపిస్తున్నంత సేపు మాత్రమే మెమరీలో ఉంటాయి మరియు స్క్రీన్ పోయినప్పుడు లేదా యాప్ లాక్ అయినప్పుడు తొలగించబడతాయి. ఒక రిక్వెస్ట్ కోసం డేటా కీ అన్వ్రాప్ చేయబడుతుంది మరియు లాక్ అంతటా కాష్ చేయబడదు.
- సాదా టెక్స్ట్ ఎగుమతి సౌకర్యం ఉంది (కాబట్టి మీరు ఎప్పుడైనా నిష్క్రమించవచ్చు) మరియు అది ఒక నిర్ధారణ షీట్ మరియు కొత్త బయోమెట్రిక్ వెనుక ఉంటుంది, అలాగే దాని స్క్రీన్ కూడా FLAG_SECUREగా ఉంటుంది.
6. ఆటోఫిల్: ఏది నింపబడుతుంది, ఏది నింపబడదు
| ఎక్కడ | పాస్వర్డ్లు | కార్డులు |
|---|---|---|
| iOS: సఫారి మరియు యాప్లు (ఆటోఫిల్ ఎక్స్టెన్షన్) | పాస్వర్డ్లుఅవును, ఎక్స్టెన్షన్ (LAContext)లో కొత్త ఫేస్ ఐడి / టచ్ ఐడి / పాస్కోడ్ను నమోదు చేసిన తర్వాత, మరియు యాప్ల కోసం Apple యొక్క అనుబంధ-డొమైన్ల తనిఖీతో, ఎంట్రీ సేవ్ చేయబడిన రిజిస్టర్ చేయదగిన డొమైన్కు మాత్రమే. | కార్డులులేదు. సఫారీలో కార్డ్ ఆటోఫిల్ అనేది కేవలం ఆపిల్ వారిదే; కార్డ్ స్క్రీన్ "అష్యూర్డ్ఆథ్ బ్రౌజర్లో మరియు కాపీతో నింపుతుంది" అని చెబుతుంది మరియు అంతకు మించి మరేమీ హామీ ఇవ్వదు. |
| ఆండ్రాయిడ్: యాప్లు మరియు క్రోమ్ (ఆటోఫిల్ సర్వీస్) | పాస్వర్డ్లుఅవును, ప్రతి-డేటాసెట్ ప్రామాణీకరణ: పూరించడానికి ముందు సిస్టమ్ బయోమెట్రిక్ ప్రాంప్ట్ను చూపుతుంది; డిజిటల్ అసెట్ లింక్స్ దానిని సేవ్ చేసిన డొమైన్కు అనుసంధానించినప్పుడు మాత్రమే యాప్ ప్యాకేజీ సరిపోలుతుంది. | కార్డులుఅవును, క్రెడిట్ కార్డ్ నంబర్, క్రెడిట్ కార్డ్ గడువు తేదీ* మరియు క్రెడిట్ కార్డ్ సెక్యూరిటీ కోడ్ సూచనలు, అదే బయోమెట్రిక్ గేట్ |
| అష్యూర్డ్ఆథ్ బ్రౌజర్ (రెండు ప్లాట్ఫారమ్లు) | పాస్వర్డ్లుఅవును, నమోదు చేయదగిన డొమైన్ ద్వారా — దాని స్వంత డొమైన్లలో ఏదీ సరిగ్గా సరిపోలని ఒక హోస్ట్ — అడిగిన ఫ్రేమ్లోకి, పూరించడానికి ముందు బయోమెట్రిక్. | కార్డులుఅవును, ఫీల్డ్ డిటెక్షన్ ద్వారా, ఫిల్ చేయడానికి ముందు బయోమెట్రిక్ |
| కాపీ బటన్లు | పాస్వర్డ్లుయాప్ లాక్ వెనుక, 30-సెకన్ల క్లిప్బోర్డ్ | కార్డులుసంఖ్య, గడువు, సివిసి (అదే నియమాలు) |
పోలిక ఉన్న హోస్ట్లో ఏమీ నిండదు. బయోమెట్రిక్ లేకుండా ఏమీ నిండదు.
7. ఎప్పటికీ జరగనిది
వాల్ట్ సర్వర్ లేదు. వాల్ట్ ఫీల్డ్ను కలిగి ఉండే అనలిటిక్స్ లేవు. నిర్ధారణ షీట్ మరియు కొత్త బయోమెట్రిక్ లేకుండా సాదా టెక్స్ట్ ఎగుమతి లేదు. వాల్ట్ స్క్రీన్పై థర్డ్-పార్టీ SDK లోడ్ చేయబడలేదు. వాల్ట్ స్క్రీన్ స్క్రీన్షాట్ లేదు. పాస్ఫ్రేజ్ సూచన లేదు. ఏ బిల్డ్లోనూ విలువల లాగింగ్ లేదు.
8. మనం దేని నుండి రక్షించుకోలేము
ఊహించగలిగేంత బలహీనమైన పాస్ఫ్రేజ్. ఆపరేటింగ్ సిస్టమ్ మూలంలోనే దెబ్బతిన్న ఫోన్ (జైల్బ్రేక్ చేయబడిన లేదా రూట్ చేయబడిన పరికరం పైన పేర్కొన్న అన్ని విషయాల గురించి యాప్కు అబద్ధం చెప్పగలదు). టైప్ చేస్తున్నప్పుడు గమనించబడుతున్న వ్యక్తి. మీరు పేస్ట్ చేసే డెస్క్టాప్లో ఉన్న మాల్వేర్. పైన ఉన్న జాబితాను దాని అసలు రూపంలోనే చదవాలని మేము ఈ విషయాలు చెబుతున్నాము: ఒక డిజైన్ తొలగించగల విషయాలు, తొలగించబడినవి.
9. సమీక్ష స్థితి
ఈ డిజైన్ రెండు ప్లాట్ఫారమ్లలో ప్రచురించబడిన తెలిసిన సమాధానాలతో మరియు దాని స్వంత క్రాస్-ప్లాట్ఫారమ్ వెక్టర్స్తో యూనిట్-టెస్ట్ చేయబడింది. స్టోర్ లిస్టింగ్లో వాల్ట్ను ప్రకటించే ముందు యజమాని జాబితాలో ఒక బాహ్య సమీక్ష ఉంది; అది జరిగే వరకు, ఈ పత్రం ఆ విషయాన్ని ఇక్కడ తెలియజేస్తుంది.
10. విషయాలు ఎక్కడ నడుస్తాయి
వాల్ట్లోని సమాచారం ఏదీ ఫోన్ నుండి బయటకు వెళ్లదు, కానీ దాని చుట్టూ ఉన్న కొన్ని విషయాలు ఇతరుల కంప్యూటర్లలో నడుస్తాయి. ఇది ఆ జాబితా, మరియు ప్రతి దానిలో ఏముందో ఇక్కడ ఉంది; డేటా ప్రవాహాల గురించి https://assuredauth.com/privacy వద్ద ఉన్న గోప్యతా విధానంలో వివరించబడింది.
- Google Cloud / Firebase — డెస్క్టాప్ ఎక్స్టెన్షన్ కోసం రిలే మెయిల్బాక్స్ (ఎండ్-టు-ఎండ్ ఎన్క్రిప్టెడ్ ఎన్వలప్లు, చదివిన తర్వాత తొలగించబడతాయి), పుష్ టోకెన్లు, కొనుగోలు స్థితి మరియు కాంటాక్ట్ ఫారం ద్వారా పంపబడిన సందేశాలు.
- వెర్సెల్ — అష్యూర్డ్ఆథ్.కామ్, దాని పేజీలు మరియు వాటి వెనుక ఉన్న చిన్న ఫంక్షన్లు.
- వల్టర్ — ప్రైవేట్ కనెక్షన్ యొక్క ఎగ్జిట్ సర్వర్లు. ట్రాఫిక్ వాటి గుండా వెళుతుంది; ఏదీ నిల్వ చేయబడదు.
- ఆపిల్ మరియు గూగుల్ ప్లే — వాటి సొంత స్టోర్లలో కొనుగోళ్లు మరియు సబ్స్క్రిప్షన్లు.
- పోస్ట్హాగ్ — ఉత్పత్తి విశ్లేషణ: ఏ గుర్తింపుతోనూ ముడిపడి ఉండకుండా, ఏమి ఉపయోగించబడిందో లెక్కిస్తుంది.
- రెవెన్యూక్యాట్ — సబ్స్క్రిప్షన్ స్థితి: యాక్టివ్గా ఉందా లేదా గడువు ముగిసిందా, మరియు ఏ ప్లాన్లో ఉంది.
ప్రతి ఒక్కటి దాని లైన్లో చెప్పినదాన్ని మాత్రమే కలిగి ఉంటుంది మరియు వాల్ట్ నుండి ఏమీ ఉండదు. ఉత్పత్తి మారినప్పుడు జాబితా మారుతుంది, మరియు ఈ విభాగం కూడా దానితో పాటు మారుతుంది.
బలహీనతను నివేదించడం
ఇక్కడ వివరించిన వాటిలో మీరు ఏదైనా బలహీనతను కనుగొన్నారని భావిస్తే, hello@assuredauth.com కు "Security" అనే సబ్జెక్ట్తో రాయండి. దయచేసి ప్లాట్ఫారమ్, యాప్ వెర్షన్ మరియు దశలను చేర్చండి; మీ స్వంత డేటాను ఉపయోగించే రుజువు సరిపోతుంది, మరియు మీరు ఇతరుల డేటాతో పరీక్షించవద్దని మేము కోరుతున్నాము. మేము PGP కీని అందించము; ఒకవేళ నివేదిక సాధారణ ఇమెయిల్లో పంపకూడదనుకుంటే, మొదటి సందేశంలోనే ఆ విషయం చెప్పండి మరియు మేము మరో మార్గాన్ని ఏర్పాటు చేస్తాము.
ప్రతిఫలంగా మేము వాగ్దానం చేసేది: మూడు పనిదినాలలోగా మేము దానిని స్వీకరించినట్లు తెలియజేస్తాము, మేము దానిపై పనిచేస్తున్నప్పుడు మీకు సమాచారం అందిస్తూ ఉంటాము, దాని గురించి ఏదైనా ప్రచురించే ముందు వాస్తవాలను సరిచేస్తాము, మరియు మీరు గుర్తింపు కోరుకుంటే ఇక్కడ మీకు గుర్తింపు ఇస్తాము. దిగువ పేర్కొన్న పరిధిలో సదుద్దేశంతో చేసిన పరిశోధనపై మేము చట్టపరమైన చర్యలు తీసుకోము.
పరిధిలో ఉన్నవి: iOS మరియు ఆండ్రాయిడ్ యాప్లు, వాచ్ యాప్లు, డెస్క్టాప్ ఎక్స్టెన్షన్, assuredauth.com మరియు దాని API. పరిధి వెలుపల ఉన్నవి: యాప్ స్టోర్ మరియు గూగుల్ ప్లే స్వయంగా, పైన పేర్కొన్న ప్రొవైడర్లు, ఎవరిపైనైనా సోషల్ ఇంజనీరింగ్, మరియు డినయల్ ఆఫ్ సర్వీస్.
ప్రస్తుతానికి ఎలాంటి బహుమతి లేదు. ఫిర్యాదుకు పరిష్కారం మరియు ధన్యవాదాలతో సమాధానం ఇవ్వబడుతుంది, డబ్బుతో కాదు.