Ààbò
Bí a ṣe kọ́ ibi ìpamọ́ náà, àti irú ìbàjẹ́ tí yóò wáyé.
Àtúnṣe ìkẹyìn ní ọjọ́ kọkànlélógún oṣù kẹsàn-án ọdún 2026 · AssuredAuth, láti ọwọ́ CircleRoll LLC
Èyí ni àpèjúwe gbogbogbò nípa bí AssuredAuth ṣe ń dáàbò bo àwọn àṣírí méjì, àwọn ọ̀rọ̀ ìpamọ́ àti àwọn káàdì tí o fi pamọ́ sínú rẹ̀. A kọ ọ́ kí ẹni tí ó ní èrò ààbò lè ṣàyẹ̀wò gbogbo ẹ̀tọ́ sí àpù náà àti sí àwọn ẹ̀rọ ìdánwò tí a tẹ̀ jáde (ó wà fún ẹnikẹ́ni tí ó ń ṣe àtúnyẹ̀wò nígbà tí ó bá béèrè ní hello@assuredauth.com). Ó sọ ohun tí ó jẹ́ òótọ́ àti ohun tí kò sí mọ́: kò sí ohunkóhun níbí tí ó sọ pé ó kọjá ìkọlù, kò sì sí ohun tí a ṣèlérí ní ìpín ọgọ́rùn-ún.
Ẹ̀yà kúkúrú náà: ibi ìpamọ́ náà wà níbì kan, fóònù rẹ. Gbogbo iye tó wà nínú rẹ̀ ni a fi kọ́kọ́rọ́ kan tí ohun èlò ààbò fóònù náà ní tí kò sì le gbé jáde. A kò lo olupin ìpamọ́, a kò ní dáakọ kankan, a kò sì ní kọ́kọ́rọ́ kankan. Fáìlì àfikún kan máa ń fi fóònù náà sílẹ̀ lẹ́yìn tí a bá ti fi ìpamọ́ kan pamọ́ sí abẹ́ ọ̀rọ̀ ìpamọ́ tí a kò tíì fi pamọ́ sí ibikíbi.
Ṣe ijabọ iṣoro kan: hello@assuredauth.com. Wo "Ríròyìn àìlera kan" ní ìparí.
1. Kí ni a fi ń ṣàkọsílẹ̀, pẹ̀lú ohun tí a fi ń ṣàkọsílẹ̀?
| Dátà | Lórí fóònù | Kọ́kọ́rọ́ |
|---|---|---|
| Àwọn àṣírí méjì (TOTP/HOTP/Seed Steam) | Lórí fóònùIle itaja Keychain (iOS) / Android ti a ṣe atilẹyin fun Keystore | Kọ́kọ́rọ́Kọ́kọ́rọ́ tí a so mọ́ ẹ̀rọ ìṣiṣẹ́ náà; ìlà ibi ìpamọ́ dátà nìkan ló ní ìtọ́kasí (secretRef), kì í ṣe irúgbìn náà |
| Awọn ọrọ igbaniwọle (iye ọrọ igbaniwọle, awọn akọsilẹ) | Lórí fóònùÌlà tí a fi èdìdì dì: AES-256-GCM, nonce 96-bit láìròtẹ́lẹ̀ fún iye kọ̀ọ̀kan | Kọ́kọ́rọ́Kọ́kọ́rọ́ dátà 256-bit tí a kò lè fojú rí, tí kọ́kọ́rọ́ ohun èlò ìṣiṣẹ́ náà wà nínú §2. |
| Àwọn káàdì (nọ́mbà, ìparí, orúkọ lórí káàdì, CVC) | Lórí fóònùÈdìdì kan náà gẹ́gẹ́ bí ọ̀rọ̀ìpamọ́; CVC jẹ́ àṣàyàn, a sì máa tọ́jú rẹ̀ nìkan tí o bá tẹ̀ ẹ́. | Kọ́kọ́rọ́Kọ́kọ́rọ́ dátà kan náà |
| Metadata (awọn orukọ iṣẹ, awọn orukọ olumulo, awọn aami, tito lẹsẹsẹ) | Lórí fóònùIbi ipamọ data ohun elo naa (SwiftData / Yara) | Kọ́kọ́rọ́A dáàbò bò ó nípasẹ̀ ìfọwọ́sowọ́pọ̀ fáìlì ètò ìṣiṣẹ́; a tọ́jú rẹ̀ gẹ́gẹ́ bí èyí tí kì í ṣe àṣírí |
| Fáìlì àfikún (.authbackup) | Lórí fóònùIbikibi ti o ba fi sii: Awọn faili, iCloud Drive, Google Drive appDataFolder, iwe ipin kan | Kọ́kọ́rọ́Kọ́kọ́rọ́ kan tí a rí láti inú gbólóhùn ọ̀rọ̀ ìpamọ́ rẹ (§3). Apple àti Google gba fáìlì tí a ti fi èdìdì dì, kò sí ohun mìíràn tí a lè rí mọ́. |
| Àpù alábàáṣiṣẹ́pọ̀ Watch / Wear | Lórí fóònùKéèkì ìbòjú / Àwọn Àṣàyàn Tí A Ti Fi Pamọ́ | Kọ́kọ́rọ́Àwọn kọ́kọ́rọ́ pẹpẹ aago náà; a gbé e sórí ikanni ẹ̀rọ ìbáṣepọ̀ ti pẹpẹ náà |
| Ìjábọ̀ ìfàsẹ́yìn lórí kọ̀ǹpútà (àwọn kódù ìgbà kan tí a bá béèrè fún) | Lórí fóònùA kò tọ́jú rẹ̀; a gbé e kalẹ̀ gẹ́gẹ́ bí àwọn àpò ìkọ̀kọ̀ tí a fi pamọ́ láti òpin dé òpin | Kọ́kọ́rọ́Ìsopọ̀ kọ́kọ́rọ́ X25519 fún ìsopọ̀ kọ̀ọ̀kan, kọ́kọ́rọ́ àdáni nínú Keychain/Keystore; relay náà rí ìkọ̀wé ìpamọ́ nìkan |
Àyẹ̀wò kò ní ọ̀nà kankan tó gbà àṣírí. Kò sí ìṣẹ̀lẹ̀ àyẹ̀wò tó ní pápá ìpamọ́. Kò sí ìníyelórí láti inú àpótí ìpamọ́ tí a kò kọ sí log, nínú èyíkéyìí ìkọ́lé.
2. Ibi tí àwọn kọ́kọ́rọ́ náà wà, lórí ìtàkùn kọ̀ọ̀kan
iOS. Kọ́kọ́rọ́ dátà náà ni a fi kọ́kọ́rọ́ kan tí a ṣe nínú Secure Enclave (kSecAttrTokenIDSecureEnclave) wé pẹ̀lú ìṣàkóso access control .privateKeyUsage + .userPresence, accessibility …ThisDeviceOnly, nínú ẹgbẹ́ access Keychain tí a pín nínú àpù náà kí àfikún AutoFill lè lo kọ́kọ́rọ́ kan náà. A kò le ka kọ́kọ́rọ́ àdáni náà jáde kúrò nínú Enclave nípasẹ̀ àpù náà, nípasẹ̀ àfikún, tàbí nípasẹ̀ àtúnṣe; Enclave náà gbà láti lò ó lẹ́yìn tí olùlò bá wà (Focus ID, Touch ID tàbí koodu ìpamọ́ ẹ̀rọ). ThisDeviceOnly túmọ̀ sí pé àfikún iCloud tàbí iTunes ti fóònù náà kò ní kọ́kọ́rọ́ náà; fóònù tí a tún ṣe bẹ̀rẹ̀ pẹ̀lú ibi ìpamọ́ òfo ó sì béèrè fún fáìlì àfikún àti ọ̀rọ̀ ìpamọ́ rẹ. Foonu ti ko ni koodu iwọle ko le wọle si bọtini .userPresence kan (Enclave ko lati ṣẹda ọkan), ati pe simulator naa gba ọna kanna nipasẹ apẹrẹ (itọkasi wiwa rẹ jẹ itaniji ti ko le dahun idanwo): nibẹ bọtini data jẹ ohun Keychain ti o rọrun nikan - sibẹ ko si ninu gbogbo afẹyinti, sibẹ ko ṣee ka lakoko ti foonu ba wa ni titiipa, ṣugbọn laisi ibeere keji - ati iboju Aabo sọ gangan iyẹn ati daba pe o ṣeto koodu iwọle kan.
Android. Kọ́kọ́rọ́ data náà ni a fi bọ́tìnì AndroidKeyStore AES-256 kan wé, tí a ṣe nínú StrongBox nígbà tí ẹ̀rọ náà bá ní ọ̀kan (bí bẹ́ẹ̀ kọ́ TEE), pẹ̀lú setUserAuthenticationRequired(òótọ́) àti ìjẹ́rìí ìṣẹ́jú-àáyá 30 lẹ́yìn ìwé ẹ̀rí biometric tàbí ẹ̀rọ, setUnlockedDeviceRequired(òótọ́), àti setInvalidatedByBiometricEnrollment(òótọ́) tí ó kù. Àmì ìkẹyìn yẹn jẹ́ òótọ́ dípò gbígbé ẹrù: Android lo ó fún àwọn kọ́kọ́rọ́ tí ó nílò biometric ní gbogbo ìgbà tí a bá lò ó, nítorí náà lórí kọ́kọ́rọ́ 30-àáyá yìí pẹ̀lú ìwé ẹ̀rí ẹ̀rọ náà kò jẹ́ kí ó yí ohunkóhun padà — ohun tí ó ń jẹ́ kí ìka àlejò má ṣe hàn ni pé fíforúkọsílẹ̀ ẹni nílò PIN, àti pé yíyọ ìdènà ìbòjú kúrò ń sọ kọ́kọ́rọ́ náà di aláìlágbára fún rere. Àwọn kọ́kọ́rọ́ Keystore kò ṣeé gbé jáde àti pé a yọ wọ́n kúrò nínú àfikún àwọsánmà Android. A gbàgbọ́ pé domain kan tí àpù kan ń sọ ní ojú ìwò tirẹ̀ (webDomain) láti inú ẹ̀rọ aṣàwárí tí a mọ̀ nìkan; láti inú àpù mìíràn, ó gbọ́dọ̀ jẹ́ èyí tí ètò náà ti jẹ́rìí sí fún àpù náà (Digital Asset Links), nítorí pé èyíkéyìí àpù lè béèrè fún èyíkéyìí àpù.
Kí ni èyí túmọ̀ sí fún fáìlì ibi ìpamọ́ tí a jí. Fáìlì SQLite àti àwọn ìlà tí a fi èdìdì dì jẹ́ ciphertext. Kọ́kọ́rọ́ tí ó ṣí wọn ń gbé nínú ẹ̀rọ ààbò lórí fóònù, fáìlì náà sì wá láti inú rẹ̀, a kò sì le daakọ rẹ̀ pẹ̀lú fáìlì náà. Kò sí ohun tí a lè méfò láìsí ìkànnì: kọ́kọ́rọ́ dátà náà jẹ́ èyí tí a kò lè rí, kì í ṣe èyí tí a rí láti inú ohunkóhun tí ẹnìkan bá yàn.
3. Faili afẹyinti naa
Àwọn ohun kan ṣoṣo tó máa ń fi fóònù sílẹ̀ ni àwọn ohun tó ń jáde, nítorí náà, wọ́n ni ibi kan ṣoṣo tí ìkọlù àìsí-ìbánisọ̀rọ̀ lè ti ṣẹlẹ̀ ní pàtàkì. Apẹẹrẹ náà mú kí ìkọlù náà gbowólórí, kò sì fún un ní àǹfààní láti ṣiṣẹ́ pẹ̀lú rẹ̀:
- Gbólóhùn ìpamọ́ náà kéré tán àwọn ohun kikọ 12 (àpótí náà kò ní ìwọ̀n púpọ̀, ó sì fi ọ̀pá agbára hàn).
- Kò sí àmì ìpamọ́ ọ̀rọ̀-ìpamọ́ kankan níbikíbi, nínú fáìlì tàbí nínú àpù náà.
- Iyọ̀ tuntun oní-16-byte àti nonce oní-12-byte fún gbogbo fáìlì tí a kọ.
- Gbogbo ara ni AES-256-GCM, nitorinaa a ko kọ ọrọ iwọle ti ko tọ tabi faili ti o bajẹ, a ko le ṣe iyipada rẹ si idoti.
- A so akọsori naa (ìrísí, ẹ̀yà, àwọn ìpín KDF, iyọ̀) mọ́ àmì GCM gẹ́gẹ́ bí ìwífún afikún tí a ti fi ẹ̀rí hàn, nítorí náà fáìlì tí a ti ṣàtúnṣe iṣẹ́ rẹ̀ kò ní ṣí.
Fáìlì náà jẹ́ JSON, ó sì ṣeé kà nínú èyíkéyìí olóòtú ọ̀rọ̀; ìkọ̀wé ìkọ̀kọ̀ nìkan ni kò ní hàn gbangba. Ẹnikẹ́ni tó bá rí fáìlì náà láàárín ọdún márùn-ún, tí àpù náà bá ti lọ, lè rí bí wọ́n ṣe fi èdìdì dì í, kí ó sì ṣí i pẹ̀lú OpenSSL tàbí ìkàwé Argon2 èyíkéyìí.
Fọ́ọ̀mù v1 (tí a fi ránṣẹ́ ní 1.0, ó ṣeé kà)
{
"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>"
}
| Igbesẹ | Bytes |
|---|---|
key | PBKDF2-HMAC-SHA256(passphrase as UTF-8, salt, 600000 rounds, 32 bytes) |
aad | UTF-8("authbackup:1:600000:") ‖ salt (àwọn baiti iyọ̀ aise, kìí ṣe base64) |
ciphertext, tag | AES-256-GCM(key, nonce, plaintext, aad); tag 16 baiti, ti a fipamọ lọtọ |
plaintext | UTF-8 JSON, a ti to awọn bọtini lẹsẹsẹ: {"accounts":[…],"exportedAt":"…Z","passwords":[…],"version":1} |
Àkíyèsí ìbáramu: Android 1.0 kọ onírúurú v1 — kdf ní lẹ́tà kékeré, kò sí àmì àmì (àmì 16-byte tí a fi kún ìkọ̀wé), kò sí ìwífún afikún. Àwọn ìrísí méjèèjì ń ka àwọn fáìlì wọ̀nyẹn (nígbà tí àmì kò bá sí: pín àwọn baiti 16 tó kẹ́yìn, ṣí pẹ̀lú AAD òfo; fi àmì kdf wéra pẹ̀lú àìnímọ̀lára) àti pé àwọn méjèèjì ń kọ ìṣètò òkè yìí nìkan.
Fọ́ọ̀mù v2 (lọ́wọ́lọ́wọ́; àìyípadà fún àwọn àfikún tuntun)
{
"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>"
}
| Igbesẹ | 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); tag 16 baiti, ti a fipamọ lọtọ |
plaintext | UTF-8 JSON, a ti to awọn bọtini lẹsẹsẹ: {"accounts":[…],"cards":[…],"exportedAt":"…Z","passwords":[…],"version":2} |
Argon2id ni ìṣàfihàn C (phc-winner-argon2, CC0), tí a ń tà lórí àwọn ìkànnì méjèèjì. 64 MiB àti 3 passes gba ìṣẹ́jú-àáyá kan lórí fóònù lọ́wọ́lọ́wọ́, ó sì mú kí gbogbo àbá náà ná ìrántí àti àkókò lórí ẹ̀rọ èyíkéyìí — ohun ìní PBKDF2 kò ní lòdì sí àwọn ẹ̀rọ GPU, àti ìdí tí v2 fi wà. Olùkàwé kò fojú fo àwọn kọ́kọ́rọ́ tí kò mọ̀, nítorí náà, olùkàwé v1 tí a fún ní ara v2 kò rí àwọn káàdì rárá.
Ẹ̀rí
Àwọn fáìlì ìdánwò mẹ́ta (àfikún v1, àfikún v2 àti Argon2id) ni a ń ṣẹ̀dá nípasẹ̀ ìṣiṣẹ́ kẹta, láìsí àwọn àpù méjèèjì (OpenSSL ti Node fún PBKDF2 àti AES-GCM, WebAssembly Argon2id tí a ṣàyẹ̀wò ní àkókò ìṣẹ̀dá lòdì sí àwọn ìdáhùn ìtọ́kasí tí a tẹ̀ jáde). Ọ̀kọ̀ọ̀kan ní ọ̀rọ̀ ìpamọ́, iyọ̀, nonce, plaintext, derived key, AAD, expected ciphertext àti tag, àti fáìlì pípé. Ẹ̀yà náà ń dán wò lórí iOS àti lórí Android, ó sì ń ka àwọn fáìlì kan náà, ó sì ń sọ pé báàtì kan náà ni — nítorí náà, àfikún tí a fi dí lórí ìpìlẹ̀ kan ni a fihàn, kì í ṣe pé a rò pé ó ń ṣí lórí èkejì, àdéhùn gbogbo mẹ́tẹ̀ẹ̀ta kì í ṣe àdàkọ méjì ti àṣìṣe kan náà. Ohun èlò ìbáṣepọ̀ kan máa ń ṣí fáìlì kan tí fóònù kọ pẹ̀lú ìgbésẹ̀ kẹta kan náà, ó sì máa ń ṣàyẹ̀wò àkọlé náà pẹ̀lú àwọn òfin tó wà lókè (gẹ́gẹ́ bí àwọn kọ́kọ́rọ́ ìrísí náà, nítorí náà kò sí àmì tàbí orúkọ tó lè wà níbẹ̀; iyọ̀ 16-byte, nonce 12-byte, àmì 16-byte tí a tọ́jú lọ́tọ̀; ẹ̀yà 2 ní 64 MiB / 3 / 1 gangan; gbólóhùn ọ̀rọ̀ tí kò tọ́ kò kọ̀); iOS aládàáni náà máa ń kọ ọ̀kan lórí simulator náà, ó sì máa ń ṣí i lọ́nà yẹn, ó sì máa ń wá inú simulator's app container, App Group container àti keychain database fún gbogbo ọ̀rọ̀ìpamọ́ àti nọ́mbà káàdì tí a gbìn gẹ́gẹ́ bí UTF-8 àti UTF-16 (0 hits).
4. Àpẹẹrẹ ewu
| Ipò | Ohun tí wọ́n ní | Ohun tí wọ́n gbà |
|---|---|---|
| Foonu ti sọnu tabi ti ji, ti wa ni titiipa | Ohun tí wọ́n níẸ̀rọ náà, fáìlì ibi ìpamọ́ dátà, àwọn ìlà tí a fi èdìdì dì | Ohun tí wọ́n gbàÀkọlé ìkọ̀wé. Kọ́kọ́rọ́ ìdìpọ̀ náà wà nínú Secure Enclave / StrongBox, ó sì máa ń jáde lẹ́yìn tí ẹ̀rọ náà bá ti ti pa, pẹ̀lú àmì ìpamọ́ tuntun tàbí àmì ìpamọ́. Pípa foonu náà mọ́ láti ọ̀nà jíjìn (Wa My / Wa My Device) máa ń ba ohun èlò pàtàkì náà jẹ́ pẹ̀lú rẹ̀. |
| Fáìlì àfikún tí a jí | Ohun tí wọ́n níFáìlì .authbackup láti inú àkọọ́lẹ̀ ìkùukùu, ìmeeli, àti kọ̀ǹpútà alágbèéká kan | Ohun tí wọ́n gbàAra AES-256-GCM lábẹ́ kọ́kọ́rọ́ kan tí a rí láti inú gbólóhùn ọ̀rọ̀-àṣírí tí ó kéré tán àwọn ohun kikọ 12, pẹ̀lú iyọ̀ fún fáìlì kọ̀ọ̀kan àti Argon2id ní 64 MiB × 3 passes (v2) tàbí PBKDF2 ní 600,000 rounds (v1). Kò sí àmì, kò sí orúkọ olùlò, kò sí àkójọ àkọọ́lẹ̀ ní kedere. Ìròyìn kọ̀ọ̀kan ná owó ìyọrísí gbogbo rẹ̀; kò sí ọ̀nà àbùjá. Gbólóhùn ọ̀rọ̀-àṣírí tí ó lágbára ni gbogbo ààbò níbí, àpù náà sì sọ bẹ́ẹ̀ lórí ìwé náà. |
| Ẹ̀rọ tí a jí pẹ̀lú ìbòjú tí a ṣí sílẹ̀ | Ohun tí wọ́n níFoonu kan wa ni ọwọ rẹ, ti a ti ṣii silẹ | Ohun tí wọ́n gbàÀkójọ Àwọn Kóòdù. Ibùdó ìpamọ́ (àwọn ọ̀rọ̀ ìpamọ́, àwọn káàdì) wà lẹ́yìn ìdènà àpù náà ó sì tún máa ń ti ìdènà àpù náà pa (lẹ́sẹ̀kẹsẹ̀ / ìṣẹ́jú 1 / ìṣẹ́jú 5); iye tí a ti yí padà wà nínú ìrántí nìkan nígbà tí ìbòjú rẹ̀ bá ń fi í hàn. Àkójọpọ̀ àti ìfiranṣẹ́ tí ó rọrùn ń béèrè fún bíómẹ́ríkì tuntun kódà nígbà tí àpù náà bá ṣí sílẹ̀. Tan ìdènà àpù náà pẹ̀lú "Lẹ́sẹ̀kẹsẹ̀" tí èyí bá jẹ́ ọ̀ràn tí o ń ṣàníyàn nípa rẹ̀. |
| Ohun elo ibi lori foonu kanna | Ohun tí wọ́n níÀpótí sandbox ohun èlò mìíràn, àtẹ páálí, àwọn ọgbọ́n wíwọlé tàbí àgbékalẹ̀ | Ohun tí wọ́n gbàKò le ka àwọn fáìlì wa (ìgbésẹ̀ sandboxing) tàbí lo kọ́kọ́rọ́ wa (kọ́kọ́rọ́ náà wà ní ìbámu pẹ̀lú ìdámọ̀ ìfọwọ́sí wa àti sí wíwà olùlò). Àwọn àdàkọ náà yóò jáde kúrò láti inú àtẹ ìkọ̀wé lẹ́yìn ìṣẹ́jú àáyá 30; lórí Android, a fi àmì sí àtẹ ìkọ̀wé náà, a sì yọ ọ́ kúrò nínú ìtàn àtẹ ìkọ̀wé. Àwọn ìbòjú Vault ti ṣètò FLAG_SECURE lórí Android (kò sí àwòrán ìkọ̀wé, kò sí gbígbàsílẹ̀ ìbòjú, kò sí òfo nínú àtẹ ìyípadà); iOS yóò fi àmì ìkọ̀wé switcher sílẹ̀. Àfikún aládàáni lórí Android ni a fi ránṣẹ́ sí àwọn àpù tí ètò náà ti fìdí rẹ̀ múlẹ̀ sí agbègbè tí a ti fipamọ́ (Digital Asset Links), nítorí náà, a kò fún app tí ó jọra ní ọ̀rọ̀ìpamọ́ rẹ. |
| Ojú ìwé ìfọ̀rọ̀wérọ̀ | Ohun tí wọ́n níOjú òpó wẹ́ẹ̀bù kan tó dà bí èyí tí o fipamọ́ | Ohun tí wọ́n gbàKò sí ohun tó ń kún. Ìbámupọ̀ ni a ń lò nípasẹ̀ domain tó ṣeé forúkọ sílẹ̀ (àkójọ àfikún gbogbogbò, tí a so pọ̀ mọ́ra tí a sì ti ṣe àtúnṣe pẹ̀lú application náà): login.example.com àti example.com báramu, example.com.evil.net àti examp1e.com kò báramu. Ẹ̀rọ aṣàwárí inú-app náà báramu lọ́nà kan náà ó sì ń kún sínú frame tó béèrè nìkan, tí a tún ṣàyẹ̀wò sí orísun frame náà ní àkókò tí a fi kún un; host tí kò ní domain tó ṣeé forúkọ sílẹ̀ — àdírẹ́sì IP, orúkọ tó wà lórí nẹ́tíwọ́ọ̀kì àdúgbò — báramu dáadáa tí kò sì sí ohun tó ń dínkù. iOS AutoFill fi kún àyẹ̀wò domain tó bá Apple mu. Ọ̀rọ̀ ìpamọ́ tí o gbọ́dọ̀ fi ọwọ́ lẹ mọ́ ara rẹ̀ sínú àwòrán tó jọra ṣì jẹ́ ewu; app náà kò lè yọ ìyẹn kúrò, ó kàn yẹra fún ìrànlọ́wọ́ nìkan. |
| Àwọn olupin wa tiwa | Ohun tí wọ́n ní— | Ohun tí wọ́n gbàKò sí olupin ibi ipamọ. AssuredAuth kò ní àkọọ́lẹ̀, kò sí ìforúkọsílẹ̀ àti àdàkọ ibi ipamọ rẹ, nítorí náà kò sí ohunkóhun tìrẹ ní ẹ̀gbẹ́ wa tí a lè jí tàbí kí a fọ́. Àwọn nǹkan méjì ló ń ṣiṣẹ́ ní ẹ̀gbẹ́ olupin, kò sí èyíkéyìí nínú wọn tí ó kan ibi ipamọ: àpótí ìfìdíkalẹ̀ fún ìfàsẹ́yìn ojú-òpó wẹ́ẹ̀bù, èyí tí ó ń kó àwọn àpò ìwé ìpamọ́ tí a ti fi pamọ́ sí òpin (àwọn kódì ìgbà kan, tí a parẹ́ nígbà tí a bá kà á; relay kò ní kọ́kọ́rọ́), àti àwọn olupin ìjáde ìsopọ̀ àdáni tí ó jẹ́ àṣàyàn, tí ó ń gbé ìjáde tí kò sì ní àkọsílẹ̀ ìwọlé. |
| Ìpè tàbí ìbéèrè ìjọba | Ohun tí wọ́n níIlana ofin ti a koju si wa | Ohun tí wọ́n gbàKò sí ohun tí a lè fi lé lọ́wọ́: a kò ní ibi ìpamọ́, kò sí kọ́kọ́rọ́, kò sí ọ̀rọ̀ ìpamọ́ tàbí àtìlẹ́yìn. A lè fipá mú wa láti sọ bẹ́ẹ̀; a kò lè fipá mú wa láti ṣe ohun tí kò sí. |
5. Àkójọpọ̀ àwòrán, àwọn àwòrán ìkànnì àti ìrántí
- Àwòrán Copy fi iye náà sí orí àwo ìkọ̀wé fún ìṣẹ́jú àáyá 30, lẹ́yìn náà ó pa á rẹ́ tí ó bá ṣì jẹ́ tiwa. Lórí Android, a fi àmì sí àwo ìkọ̀wé náà EXTRA_IS_SENSITIVE, nítorí náà, ètò náà yóò fi pamọ́ kúrò nínú àwòkọ́ àti ìtàn àwo ìkọ̀wé; lórí iOS, ohun èlò pasteboard jẹ́ ti agbègbè nìkan (kì í ṣe Handoff'd sí àwọn ẹ̀rọ mìíràn).
- Àwọn ìbòjú Vault (Àwọn ọ̀rọ̀ ìpamọ́, Ọ̀rọ̀ ìpamọ́, Káàdì, Káàdì, àwọn ìwé ọ̀rọ̀ ìpamọ́, ìtajà ọ̀rọ̀ lásán) tí a ṣètò FLAG_SECURE lórí Android. iOS kò ní àsíá tó dọ́gba; àpù náà máa ń fi àmì kékeré rẹ̀ sílẹ̀ nínú àpù náà, àwọn iye náà sì wà lẹ́yìn àyípadà ojú nípa àìyípadà.
- Àwọn iye tí a yọ kúrò nínú ìkọ̀kọ̀ náà yóò wà nínú ìrántí nígbà tí ìbòjú kan bá fi wọ́n hàn, tí a ó sì sọ wọ́n sílẹ̀ nígbà tí ó bá lọ tàbí tí àpù náà bá ti pa. A ó tú kọ́kọ́rọ́ dátà náà sílẹ̀ fún ìbéèrè kan, a kò sì ní fi pamọ́ sínú ìkọ̀kọ̀ náà.
- Ìkójáde ọ̀rọ̀ lásán wà (nítorí náà o lè máa lọ nígbà gbogbo) ó sì wà lẹ́yìn ìwé ẹ̀rí àti bíómẹ́ǹtì tuntun, àti pé ìbòjú rẹ̀ náà jẹ́ FLAG_SECURE pẹ̀lú.
6. Àfikún Àdánidá: ohun tí ó kún, àti ohun tí kò kún
| Nibo | Àwọn ọ̀rọ̀ìpamọ́ | Àwọn Káàdì |
|---|---|---|
| iOS: Safari àti àwọn àpù (Àfikún Àìfọwọ́sí) | Àwọn ọ̀rọ̀ìpamọ́Bẹ́ẹ̀ni, lẹ́yìn ID Oju tuntun / ID Ifọwọkan / koodu iwọle ninu itẹsiwaju (LAContext), ati fun agbegbe iforukọsilẹ nikan ni a ti fipamọ titẹsi naa fun, pẹlu awọn agbegbe ti o ni ibatan Apple ṣayẹwo fun awọn lw | Àwọn KáàdìRárá. Àfikún káàdì aládàáṣe ní Safari nìkan ni Apple; ibojú káàdì náà sọ pé "Ó kún ẹ̀rọ aṣàwárí AssuredAuth àti pẹ̀lú Àwòkọ" kò sì ṣèlérí ohunkóhun mìíràn. |
| Android: àwọn àpù àti Chrome (AutofillService) | Àwọn ọ̀rọ̀ìpamọ́Bẹ́ẹ̀ni, ìfàṣẹsí fún ìwífún-dátà kọ̀ọ̀kan: ètò náà ń fi BiometricPrompt hàn kí ó tó di pé ó kún; àkójọ àpù náà báramu nígbà tí Digital Asset Links bá so ó mọ́ agbègbè tí a ti pamọ́ nìkan | Àwọn KáàdìBẹ́ẹ̀ni, àwọn àmì creditCardNumber, creditCardExpiration* àti creditCardSecurityCode, ẹnu ọ̀nà biometric kan náà |
| Ẹ̀rọ lilọ kiri ayelujara AssuredAuth (àwọn ìpèsè méjèèjì) | Àwọn ọ̀rọ̀ìpamọ́Bẹ́ẹ̀ni, nípasẹ̀ domain tí a lè forúkọ sílẹ̀ — olùgbàlejò tí kò ní ìbáramu tirẹ̀ ní pàtó — sínú férémù tí ó béèrè, biometric kí ó tó di pé ó kún | Àwọn KáàdìBẹ́ẹ̀ni, nípa wíwá pápá, bíómẹ́ríkì kí ó tó kún |
| Àwọn bọ́tìnì ìdáakọ | Àwọn ọ̀rọ̀ìpamọ́Lẹ́yìn ìdènà àpù náà, àtẹ ìṣẹ́jú-àáyá 30 | Àwọn KáàdìNọ́mbà, ìparí, CVC (àwọn òfin kan náà) |
Kò sí ohun tó máa ń kún inú ilé ìtura tó jọra. Kò sí ohun tó máa ń kún láìsí bíómẹ́ǹtì.
7. Ohun tí kì í ṣẹlẹ̀ rárá
Kò sí olupin ibi ìpamọ́. Kò sí àwọn àgbéyẹ̀wò tí ó ní pápá ibi ìpamọ́. Kò sí ìjáde ìwé lásán láìsí ìwé ẹ̀rí àti biometric tuntun. Kò sí SDK ẹni-kẹta tí a gbé sórí ibojú ibi ìpamọ́. Kò sí àwòrán ìbòjú ibi ìpamọ́. Kò sí àmì ọ̀rọ̀-àṣírí. Kò sí àkọsílẹ̀ àwọn iye, nínú ìkọ́lé èyíkéyìí.
8. Ohun tí a kò lè dáàbò bò lọ́wọ́
Gbólóhùn ọ̀rọ̀-àṣírí tí kò lágbára tó láti méfò. Fóònù tí ètò ìṣiṣẹ́ rẹ̀ ti bàjẹ́ ní orí ìpìlẹ̀ (ẹ̀rọ jailbroken tàbí rooted lè purọ́ fún àpù nípa gbogbo ohun tí ó wà lókè). Ẹni tí a ń wò nígbà tí ó ń tẹ̀wé. Malware lórí kọ̀ǹpútà tí o fi sínú rẹ̀. A sọ èyí kí a lè ka àkójọ tí ó wà lókè yìí fún ohun tí ó jẹ́: àwọn nǹkan tí a ṣe àwòṣe lè yọ kúrò, tí a sì lè yọ kúrò.
9. Ipò àtúnyẹ̀wò
A ti dán àwòrán yìí wò pẹ̀lú àwọn ìdáhùn tí a mọ̀ tí a tẹ̀ jáde lórí àwọn ìkànnì méjèèjì àti pẹ̀lú àwọn ẹ̀rọ ìkọjá-ìkànnì tirẹ̀. Àtúnyẹ̀wò láti òde wà lórí àkójọ àwọn onílé kí a tó polówó ibi ìpamọ́ náà lórí àkójọ ìtajà náà; títí tí ó fi ṣẹlẹ̀, ìwé yìí yóò sọ bẹ́ẹ̀ níbí.
10. Ibi ti awọn nkan ti n lọ
Kò sí ohunkóhun tó jáde nínú àpótí ìpamọ́ náà, àmọ́ àwọn nǹkan díẹ̀ ló wà ní àyíká rẹ̀ tó ń ṣiṣẹ́ lórí ẹ̀rọ àwọn ẹlòmíràn. Àkójọ náà nìyí, àti ohun tí olúkúlùkù ní; a ṣàlàyé àwọn ìṣàn dátà fúnra wọn nínú ìlànà ìpamọ́ ní https://assuredauth.com/privacy.
- Google Cloud / Firebase — àpótí ìfìwéránṣẹ́ fún ìfàsẹ́yìn kọ̀ǹpútà (àwọn àpò ìwé ìkọ̀kọ̀ láti òpin dé òpin, tí a parẹ́ nígbà tí a bá kà á), àwọn àmì ìtẹ̀sí, ipò ríra, àti àwọn ìránṣẹ́ tí a fi ránṣẹ́ nípasẹ̀ fọ́ọ̀mù ìbánisọ̀rọ̀.
- Vercel — insuretauth.com, àwọn ojú ìwé rẹ̀ àti àwọn iṣẹ́ kéékèèké tó wà lẹ́yìn wọn.
- Vultr — àwọn olupin ìjáde ìsopọ̀ àdáni. Ìrìnàjò kọjá láàárín wọn; kò sí ohun tí a tọ́jú.
- Apple àti Google Play — àwọn rira àti àwọn ìforúkọsílẹ̀, ní àwọn ilé ìtajà tiwọn.
- PostHog — àtúpalẹ̀ ọjà: iye ohun tí a lò, tí a so mọ́ àìní ìdámọ̀.
- RevenueCat — ipo iforukọsilẹ kan: ti nṣiṣe lọwọ tabi ti pari, ati lori eto wo.
Olúkúlùkù ní ohun tí ìlà rẹ̀ sọ, kò sí ohunkóhun láti inú àkójọ náà. Àkójọ náà máa ń yípadà nígbà tí ọjà náà bá ṣe bẹ́ẹ̀, apá yìí sì máa ń yípadà pẹ̀lú rẹ̀.
Ríròyìn àìlera kan
Tí o bá gbàgbọ́ pé o ti rí àìlera nínú ohunkóhun tí a ṣàlàyé níbí, kọ̀wé sí hello@assuredauth.com pẹ̀lú kókó ọ̀rọ̀ náà "Ààbò". Jọ̀wọ́ fi ìtàkùn náà, ẹ̀yà àpù àti àwọn ìgbésẹ̀ náà kún un; ẹ̀rí tí ó ń lo dátà tìrẹ tó, a sì bẹ̀ ọ́ pé kí o má ṣe dán an wò lòdì sí ti àwọn ẹlòmíràn. A kò fúnni ní kọ́kọ́rọ́ PGP; tí ìròyìn kan kò bá yẹ kí ó rìnrìn àjò nípasẹ̀ ìmeeli lásán, sọ bẹ́ẹ̀ nínú ìránṣẹ́ àkọ́kọ́, a ó sì ṣètò ọ̀nà mìíràn.
Ohun tí a ṣèlérí ní àtúnṣe: a máa jẹ́wọ́ rẹ̀ láàrín ọjọ́ mẹ́ta iṣẹ́, a máa jẹ́ kí ẹ mọ̀ nígbà tí a bá ń ṣiṣẹ́ lórí rẹ̀, a máa tún ohun tó jẹ́ òótọ́ ṣe kí a tó tẹ̀ ẹ́ jáde, a sì máa fi ìyìn fún yín níbí tí ẹ bá fẹ́ kí wọ́n fi yín fún yín. A kò ní gbé ẹjọ́ lọ sílé ẹjọ́ lórí ìwádìí tí a ṣe pẹ̀lú ìgbàgbọ́ tó dára lábẹ́ ààlà tó wà ní ìsàlẹ̀ yìí.
Àwọn ohun èlò bíi iOS àti Android, àwọn ohun èlò aago, ìfàsẹ́yìn kọ̀ǹpútà, insuredauth.com àti API rẹ̀. Kò sí ní ìwọ̀n: App Store àti Google Play fúnra wọn, àwọn olùpèsè tí a kọ sílẹ̀ lókè yìí, ìmọ̀ ẹ̀rọ ìbánisọ̀rọ̀ gbogbogbòò, àti àìsí iṣẹ́.
Kò sí ẹ̀bùn kankan ní àkókò yìí. A máa ń dáhùn ìròyìn pẹ̀lú àtúnṣe àti ọpẹ́, kì í ṣe pẹ̀lú owó.