News

Google to move from SMS to QR code authentication for Gmail

Google notes that QR codes are much safer than SMS messages

Gmail app on iOS

Gmail will soon switch from SMS to QR code authentication, Google has confirmed.

In an interview with Forbes, the tech giant said that the decision was made “to reduce the impact of rampant, global SMS abuse.” As the company explains, phone numbers can be easily phished and are even subject to “traffic pumping” scams wherein fraudsters get online service providers to originate large numbers of SMS messages to numbers they control to get paid each time they’re delivered.

To avoid that, Google says it will be moving over to Gmail QR code authentication “over the next few months.” With this, users will be able to simply use their phone’s camera to scan a QR code within Gmail.

Google says QR codes reduce the phishing risk of Gmail users being tricked into sharing security codes with bad actors while also removing reliance on phone carriers to protect customers from fraudsters.

Source: Forbes

MobileSyrup may earn a commission from purchases made via our links, which helps fund the journalism we provide free on our website. These links do not influence our editorial content. Support us here.

Related Articles

Fatal error: Uncaught Aws\S3\Exception\PermanentRedirectException: Encountered a permanent redirect while requesting https://ms-staging-baselayer-static-assets.s3.ca-central-1.amazonaws.com/?list-type=2&delimiter=%2F&prefix=uploads%2Fwpcf7_uploads%2F. Are you sure you are using the correct region for this bucket? in /var/www/html/vendor/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php:49 Stack trace: #0 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(209): Aws\S3\PermanentRedirectMiddleware->Aws\S3\{closure}(Object(Aws\Result)) #1 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(158): GuzzleHttp\Promise\Promise::callHandler(1, Object(Aws\Result), NULL) #2 /var/www/html/vendor/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}() #3 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(163): GuzzleHttp\Promise\TaskQueue->run() #4 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(189): GuzzleHttp\Handler\CurlMultiHandler->tick() #5 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\Handler\CurlMultiHandler->execute(true) #6 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\Promise\Promise->invokeWaitFn() #7 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending() #8 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList() #9 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending() #10 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList() #11 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\Promise\Promise->waitIfPending() #12 /var/www/html/vendor/aws/aws-sdk-php/src/AwsClientTrait.php(58): GuzzleHttp\Promise\Promise->wait() #13 /var/www/html/vendor/aws/aws-sdk-php/src/ResultPaginator.php(151): Aws\AwsClient->execute(Object(Aws\Command)) #14 /var/www/html/vendor/aws/aws-sdk-php/src/functions.php(52): Aws\ResultPaginator->valid() #15 /var/www/html/vendor/aws/aws-sdk-php/src/functions.php(69): Aws\map(Object(Aws\ResultPaginator), Object(Closure)) #16 [internal function]: Aws\flatmap(Object(Aws\ResultPaginator), Object(Closure)) #17 /var/www/html/wp-content/plugins/s3-uploads/inc/class-stream-wrapper.php(695): Generator->valid() #18 [internal function]: S3_Uploads\Stream_Wrapper->dir_readdir() #19 /var/www/html/wp-content/plugins/contact-form-7/includes/file.php(362): readdir(Resource id #734) #20 /var/www/html/wp-includes/class-wp-hook.php(322): wpcf7_cleanup_upload_files() #21 /var/www/html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array) #22 /var/www/html/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #23 /var/www/html/wp-includes/load.php(1280): do_action('shutdown') #24 [internal function]: shutdown_action_hook() #25 {main} thrown in /var/www/html/vendor/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php on line 49