Ausnahme gefangen: SSL certificate problem: certificate is not yet valid 📌 Bringing modern storage to Viber’s users

🏠 Team IT Security News

TSecurity.de ist eine Online-Plattform, die sich auf die Bereitstellung von Informationen,alle 15 Minuten neuste Nachrichten, Bildungsressourcen und Dienstleistungen rund um das Thema IT-Sicherheit spezialisiert hat.
Ob es sich um aktuelle Nachrichten, Fachartikel, Blogbeiträge, Webinare, Tutorials, oder Tipps & Tricks handelt, TSecurity.de bietet seinen Nutzern einen umfassenden Überblick über die wichtigsten Aspekte der IT-Sicherheit in einer sich ständig verändernden digitalen Welt.

16.12.2023 - TIP: Wer den Cookie Consent Banner akzeptiert, kann z.B. von Englisch nach Deutsch übersetzen, erst Englisch auswählen dann wieder Deutsch!

Google Android Playstore Download Button für Team IT Security



📚 Bringing modern storage to Viber’s users


💡 Newskategorie: Programmierung
🔗 Quelle: feedproxy.google.com

This blogpost is a collaboration between Google and Viber. Authored by Kseniia Shumelchyk from Google and Anton Novikov, Sergey Kozlov from Viber.

As a messaging app, Viber needs to store, process and share a significant amount of data. Viber aims to give its users an easy, fast, reliable and secure communication platform by providing an intuitive interface and operating with files in a privacy-preserving way. We believe the modern scoped storage paradigm provides this foundation for app developers and users.

Scoped storage was introduced in Android 10 with further improvements in Android 11 to provide better protection to app and user data on a platform level. Due to Viber's complexity, the team opted to incrementally implement the changes that were required to comply with scoped storage.

In this article, we’ll share how Viber handled the migration to scoped storage, focusing on what they did to optimize working with media files and other data in the app.

Managing storage across Android versions

Android’s storage model has evolved to adapt to changing privacy considerations, leading to the changes in the storage system APIs. Let’s take a look at key platform changes that affected the legacy Viber implementation.

Media directories

Scoped storage changes the way that apps store and access files on a device's external storage. Viber needed to evaluate the differences between the existing app's storage model and updated platform guidelines, followed by gradual application changes to work with files in scoped storage. Therefore Viber invoked the requestLegacyExternalStorage flag to temporarily opt-out of scoped storage on Android 10 until the app was fully compatible.

In order to adjust their app experience to scoped storage, Viber now contributes public media files to well-defined media collections using the MediaStore API. This way, the files are accessible in a device gallery, and can be read by other apps with the storage permission. Private media files are stored in the app-specific directory on external storage and are accessed via the internal ContentProvider.

Storage permissions

The other notable update is related to changes in the storage permissions model: Apps in scoped storage have unrestricted access to their app-specific directories on external storage and can contribute to well-defined media collections without requesting a runtime permission. This change will help Viber provide more granular control to their users:

“This addition supports our efforts to provide our users with the best security and privacy solutions we can provide supported by the Android OS, users will benefit from this added security later without needing to opt-in. We also added a new ‘Save to gallery’ option allowing users to choose to make their photos readable by other apps or not. Because chats may contain private images or videos, it’s important to give users the ability to hide these files from the gallery. This change gives users additional control over the content included in their Viber messages.“ said Anton Novikov and Sergey Kozlov from Viber.

Accessing files outside of app-specific directory

Previously, Viber created and consumed files in a custom top level directory and depended on file path access. With scoped storage, saving app files to a top level directory became an anti-pattern, so Viber has followed best practices to update their implementation to store media files from the chats only in locations that are accessible in scoped storage.

However, to reduce the complexity of migration, Viber decided to keep their own top level directory for Android 10 and below, storing only the media files that are not exposed to the device’s Gallery app, while for Android 11 and above this directory is used in read-only mode to provide backward compatibility.

Another use case that Viber has been refining is sharing files in the chats. The updated storage runtime permission gives read access only to the images, videos and audio files that are available through MediaProvider. Starting from Android 11, the only way for Viber to access non-media files created by other apps is by using the Storage Access Framework document picker, which they had already utilized in a different part of their app.

App-specific files within external storage

In the scoped storage environment, app-specific directories on external storage are becoming private from other apps. This change has helped Viber leverage its use of external storage for storing private user files:

”We find change to app-specific directories to be useful, because it will help to ensure that personal chats are protected and backed with platform security.” said Anton Novikov from Viber. Learn more about how to access app-specific files.

Single interface to access storage

Because Viber targets a large audience running on Android 4.2 and above, they introduced an abstraction layer that aids them in managing storage access efficiently across all supported Android versions and with their use cases in mind.

Previously, Viber heavily used File API to access files, including files in legacy storage locations. Further, they stored absolute file paths for entries in the local database to keep the user's conversation history.

To standardize access to this conversation history and thus ensure that users don’t lose access to their files, Viber replaced absolute file paths with content URIs. In the new implementation, the app is accessing files only via content providers:

  • Internal FileProvider for Viber app-specific directories.
  • External file providers available in the Android framework, such as MediaStore or Storage Access Framework, or those belong to another app that shares files with Viber through Intent.ACTION_SEND.

By using a consistent ContentProvider layer, the ContentResolver gives the app a unified interface to access the file content.

This approach has also helped Viber optimize the network layer and define a universal Loader abstraction to upload/fetch and to read/store different types of media files like voice messages, chat images and stickers.

Summary

Android 11 further enhances scoped storage, which provides better protection of app and user data and makes the transition easier for developers. It’s amazing to see many apps like Viber are migrating to take advantage of scoped storage since Android 10.

We hope Viber’s story is useful and will inspire you to modernize your Android apps as well. Learn more about Android storage use cases and best practices.

...



📌 Bringing modern storage to Viber’s users


📈 52.4 Punkte

📌 Viber 19.1.0 - Send messages and make free Viber calls.


📈 37.88 Punkte

📌 Viber Heats Up Cypto Debate: Adds Encryption to 711 Million Users


📈 24.2 Punkte

📌 Viber Heats Up Cypto Debate: Adds Encryption to 711 Million Users


📈 24.2 Punkte

📌 Bringing modern process management to the desktop


📈 20.59 Punkte

📌 Bringing AppSec to a Modern CI Pipeline - Manish Gupta - ASW #152


📈 20.59 Punkte

📌 Wasabi and Carahsoft are bringing hot cloud storage to the public sector


📈 20.34 Punkte

📌 Viber für Desktop - Am PC telefonieren und Nachrichten versenden


📈 18.94 Punkte

📌 Messenger Viber verspricht Ende-zu-Ende-Verschlüsselung


📈 18.94 Punkte

📌 Auch Viber führt Messenger-Verschlüsselung ein


📈 18.94 Punkte

📌 Viber für Desktop - Am PC telefonieren und Nachrichten versenden


📈 18.94 Punkte

📌 Messenger Viber verspricht Ende-zu-Ende-Verschlüsselung


📈 18.94 Punkte

📌 Viber für Desktop - Am PC telefonieren und Nachrichten versenden


📈 18.94 Punkte

📌 Viber für Desktop - Am PC telefonieren und Nachrichten versenden


📈 18.94 Punkte

📌 Viber für Desktop - Am PC telefonieren und Nachrichten versenden


📈 18.94 Punkte

📌 Auch Viber führt Messenger-Verschlüsselung ein


📈 18.94 Punkte

📌 Viber für Desktop - Am PC telefonieren und Nachrichten versenden


📈 18.94 Punkte

📌 News in brief: NASA finds lost spaceships; data stored on an atom; Viber adds self-destruct chats


📈 18.94 Punkte

📌 Viber für Desktop - Am PC telefonieren und Nachrichten versenden


📈 18.94 Punkte

📌 Viber adds End-to-End Encryption and PIN protected Hidden Chats features


📈 18.94 Punkte

📌 Viber für Desktop - Am PC telefonieren und Nachrichten versenden


📈 18.94 Punkte

📌 Viber für Desktop - Am PC telefonieren und Nachrichten versenden


📈 18.94 Punkte

📌 Viber Messenger für iOS ist jetzt für iOS 11 optimiert


📈 18.94 Punkte

📌 TIL: Viber is EOL on GNU/Linux


📈 18.94 Punkte

📌 Viber für Desktop - Am PC telefonieren und Nachrichten versenden


📈 18.94 Punkte

📌 Viber für Desktop - Am PC telefonieren und Nachrichten versenden


📈 18.94 Punkte

📌 Viber für Desktop - Am PC telefonieren und Nachrichten versenden


📈 18.94 Punkte

📌 Chat App Viber Now Lets You Buy Local Numbers That Anyone Can Call You On


📈 18.94 Punkte

📌 How to install Viber Messenger in Ubuntu 18.04


📈 18.94 Punkte

📌 How to install Viber Messenger in Ubuntu 18.04


📈 18.94 Punkte

📌 Add Social Share Buttons for Whatsapp and Viber <= 1.0.9 - CSRF to Settings Change


📈 18.94 Punkte

📌 Viber für Desktop - Am PC telefonieren und Nachrichten versenden


📈 18.94 Punkte

📌 Viber für Desktop - Am PC telefonieren und Nachrichten versenden


📈 18.94 Punkte

📌 Viber adds End-to-End Encryption and PIN protected Hidden Chats features


📈 18.94 Punkte

📌 Viber für Desktop - Am PC telefonieren und Nachrichten versenden


📈 18.94 Punkte











matomo