Emcryption στο android

Συζήτηση στην κατηγορία 'Ερωτήσεις και Απορίες για Android Apps' που ξεκίνησε ο χρήστης kostas papadopoulos, 30 Οκτ 2016.

  1. Γεια σας. Εχω μια ερωτηση. Ας πουμε οτι εχω ενα κινητο (πχ samsung με android 4.4.2) και το οποιο το χρησιμοποιω για να αποκρυπτογραφω pgp μηνυματα απο μια sd card. Το κινητο αυτο δεν το εχω συνδεσει ποτε στο ιντερνετ ουτε του εχω βαλει καρτα sim. Παιρνω απλα μια sd που εχει μεσα ενα .txt αρχειο με το μηνυμα και το αποκρυπτογραφω. Χρησιμοποιω ας πουμε το openkeychain. Το μοναδικο ουσιαστικα προγραμμα για pgp σε android. Διαβαζω το μηνυμα εκει. Αφαιρω την sd.

    Η πρωτη ερωτηση ειναι αν μενει κατι στο κινητο.

    Η δευτερη που εχει να κανει και με τον αρχικο τιτλο ειναι η εξης. Αν σε αυτο το κινητο εχω κανει το full encryption που μου παρεχει το android με ενα κωδικο 8-10 ψηφιων αν αυτο το κινητο παρθει απο καποια κρατικη υπηρεσια πιστευεται οτι μπορει να σπασουν τη κρυπτογραφηση? Η κρυπτογραφηση που παρεχει το android εχει καποια αξιοπιστια? Θεωρειτε οτι υπαρχει καλυτερη εναλακτικη?
  2. Σχετικά με την κρυπτογράφηση της συσκευής:
    Η κρυπτογράφηση στο android γίνεται μέσω του ενσωματωμένου στον kernel dm-crypt. To dm-crypt είναι ανοιχτού κώδικα, αξιόπιστο εργαλείο κρυπτογράφησης που χρησιμοποιείται στο linux από τον kernel 2.6.x.
    Ορισμένα μοντέλα κινητών συσκευών έρχονται με κρυπτογραφημένο σύστημα από τον κατασκευαστή. Οσα δεν έρχονται κρυπτογραφημένα μπορούν να κρυπτογραφηθούν κατ'επιλογή του χρήστη.
    Στην ουσία το περιεχόμενο του τηλεφώνου δεν μπορεί να διαβαστεί αν δε δοθεί το ανάλογο PIN, password ή pattern (κωδικό σχέδιο) από το χρήστη. Η συσκευή δεν boot-άρει καν χωρίς κωδικό.
    Απαιτείται όμως πριν επιχειρήσουμε την κρυπτογράφηση να έχουμε ορίσει κάποιο κωδικό (Pin, password ή pattern) πρόσβασης, το τηλέφωνο να μην είναι rooted (αν το έχουμε rooted θα πρέπει να το επαναφέρουμε non-rooted), και βέβαια η on-the-fly (κατα την χρήση) αποκρυπτογράφηση απαιτεί επιπλέον πόρους της συσκευής, πράγμα που σημαίνει ότι το τηλέφωνο μας θα γίνει αρκετά πιο αργό. Αν είναι ήδη αργό, θα πρέπει να στραφούμε σε μερική κρυπτογράφηση των δεδομένων που μας ενδιαφέρουν.
    Επιπλέον, αν κρυπτογραφήσουμε τη συσκευή δεν είναι δυνατό να αποκρυπτογραφηθεί ξανά μόνιμα χωρίς να επιστρέψουμε στην εργοστασιακή του κατάσταση.

    Το ερώτημα είναι αν μπορεί να θεωρηθεί ασφαλής μια κρυπτογραφημένη συσκευή android.
    Σίγουρα είναι πολύ πιο ασφαλής από την μη κρυπτογραφημένη. Σίγουρα είναι πιο ασφαλές αν χρησιμοποιούμε κάποιο ασφαλές password αντί για PIN ή pattern. Στις νέες εκδόσεις του android (5+) η κρυπτογράφηση είναι ασφαλέστερη από τις παλαιότερες που η google μπορούσε να κάνει reset στο password (κατ'απαίτηση του χρήστη ή των κρατικών υπηρεσιών).

    Στις εκδόσεις του android πριν την 5, αρκεί να δώσει κανείς 5 φορές λάθος PIN/password/pattern για να του ζητηθεί να κάνει reset στο password. Για να γίνει αυτό θα πρέπει να δώσει τα στοιχεία του λογαριασμού του google και να αποκτήσει πρόσβαση στην κρυπτογραφημένη συσκευή. Τα στοιχεία αυτά με τη σειρά τους είναι ευκολότερα προσβάσιμα από μια κρατική υπηρεσία. Από την έκδοση 5 και μετά δεν υπάρχει αυτή η δυνατότητα στο android.
    Αν όμως κάποιος χρήστης χρησιμοποιεί την υπηρεσία Smart Lock, δηλαδή να ξεκλειδώνει αυτόματα το κινητό του όταν συνδέεται με συγκεκριμένη wifi σύνδεση, τότε μπορεί να το ξεκλειδώσει κανείς πλησιάζοντας τη συσκευή στο εν λόγω wifi ακόμα και με την έκδοση 5+ του android.

    Επίσης, ορισμένα μοντέλα συσκευών υποστηρίζουν ξεκλείδωμα της αρχικής οθόνης από απομακρυσμένο έλεγχο. Για παράδειγμα κάποια μοντέλα της samsung υποστηρίζουν το ξεκλείδωμα από τις υπηρεσίες εντοπισμού (https://findmymobile.samsung.com/). Εκεί μπορεί να συνδεθεί κανείς με τον λογαριασμό του samsung και να ξεκλειδώσει την αρχική οθόνη. Από κει και πέρα, αν η συσκευή bootάρει σε περιβάλλον custom recovery (εφόσον είναι εγκατεστημένο από πριν), με τους κατάλληλους χειρισμούς είναι δυνατό να κάνει reset στον κώδικα πρόσβασης.
    Εκτός της samsung υπάρχουν κι άλλες εταιρίες που παρέχουν ανάλογες υπηρεσίες εντοπισμού με ανάλογες δυνατότητες.
    Γενικότερα όμως, από την έκδοση android 5 και μετά, δυσκολεύει πολύ η αποκρυπτογράφηση χωρίς κωδικούς.

    Παρά τις εξαγγελίες της google για υποχρεωτική κρυπτογράφηση στο android lollipop (5+), η κρυπτογράφηση δεν έχει γίνει υποχρεωτική μέχρι σήμερα λόγω των απαιτήσεων σε πόρους που μειώνει την ταχύτητα του συστήματος. Στη νέα έκδοση android η κρυπτογράφηση είναι υποχρεωτική για συγκεκριμένα μοντέλα που έρχονται ούτως ή άλλως κρυπτογραφημένα και τα χαρακτηριστικά τους σηκώνουν τις απαιτήσεις της κρυπτογράφησης. Ακόμα και η επαναφορά στην εργοστασιακή κατάσταση, το επαναφέρει κρυπτογραφημένο. Παρόλα αυτά, ο ανταγωνισμός με την Αpple και το iOS στον τομέα της ασφάλειας ωθεί την google στο να βελτιώνει με τον καιρό την κρυπτογράφηση του android.

    Η μέθοδος brute attack (δηλαδή η δοκιμή τυχαίων passwords) σε ένα κρυπτογραφημένο android δε θα αποδώσει, αφού μετά τις 30 αποτυχημένες προσπάθειες κλειδώνει για πάντα και δεν επανέρχεται ακόμα κι αν δώσει ο χρήστης το πραγματικό password.
    Επιπλέον, δεν έχει νόημα να κρυπτογραφήσουμε ένα σύστημα android που κρατάει αντίγραφο σε κάποιο τρίτο cloud server ο οποίος δεν υποστηρίζει κρυπτογράφηση από τη συσκευή μας (όπως δηλαδή οι γνωστοί δωρεάν cloud servers. google κλπ). Τα αντίγραφα θα είναι μη-κρυπτογραφημένα και τα αρχεία μας είναι στη διάθεση των εταιριών που παρέχουν την υπηρεσία cloud, από τις οποίες κατα κανόνα μπορούν να τα πάρουν οι κρατικές υπηρεσίες.
    Και πάλι όμως, υπάρχουν τρόποι να "σπάσει" κανείς την κρυπτογράφηση ακόμα κι αν έχουμε κάνει τα πάντα σωστά.

    Ενας πρακτικός παράγοντας που παίζει το ρόλο του είναι η σημαντικότητα των κρυπτογραφημένων δεδομένων. Αν δηλαδή οι τοπικές κρατικές υπηρεσίες κρίνουν ότι περιέχει σημαντικά αρχεία που σχετίζονται π.χ. με τη "διεθνή τρομοκρατία", είναι πιθανό να ζητήσουν τη βοήθεια ξένων υπηρεσιών που έχουν στη διάθεσή τους μέσα και τεχνογνωσία ικανή να τα αποκρυπτογραφήσει. Αν πρόκειται για μια απλή υπόθεση μικρού βεληνεκούς, το πιθανότερο είναι να εγκαταλείψει την προσπάθεια εφόσον εξαντληθούν τα μέσα που έχει στη διάθεσή της η τοπική κρατική υπηρεσία και να στραφεί σε άλλες, μη-τεχνικές, "παραδοσιακές" μεθόδους (όπως π.χ. την εκβίαση του χρήστη να δώσει το password).