Memorizzazione di chiavi private SSH su un dispositivo Android

6

(Non sono sicuro se questo appartiene meglio a unix.se o android.se, ma dal momento che è principalmente legato alla sicurezza, lo sto chiedendo qui)

Uso il mio dispositivo Android per accedere ai server per un'amministrazione rapida on-the-go. Prima di chiedere, il dispositivo è crittografato con una passphrase abbastanza strong.

Sto usando l'emulatore di terminale standard fornito da CyanogenMod. Questo mi fornisce un semplice prompt della shell di Bash in cui posso quindi ssh nei server che desidero.

Sto incontrando un paio di problemi e problemi di sicurezza:

  1. L'applicazione viene eseguita come utente u0_a24 , ma la home di Dropbear SSH è impostata su /data/.ssh . Ciò significa che, a meno che non sia root , non riesco ad accedere ai file senza renderli disponibili pubblicamente: male.
  2. Se ho appena archiviato la mia chiave privata sulla mia (seppur) carta sd crittografata, altre app sarebbero probabilmente in grado di accedervi. Ho reso la mia chiave privata abbastanza strong (molte iterazioni di PBKDF2 in PKCS8), ma ancora, non mi interessa che altre app possano accedervi.

Qual è il modo consigliato di gestirlo? Qualcuno ha avuto fortuna nel fare questo su Android?

    
posta Naftuli Kay 11.06.2014 - 04:06
fonte

3 risposte

3

Ho trovato un modo per ottenere il meglio da entrambi i mondi.

rm /data/.ssh
mkdir /data/data/jackpal.androidterm/app_HOME/.ssh
chown u0_a100:u0_a100 /data/data/jackpal.androidterm/app_HOME/.ssh
mv /storage/sdcard0/id_rsa /data/.ssh/id_rsa
touch /data/.ssh/{config,known_hosts}

In questo modo, solo l'utente dell'app può accedere alla chiave privata, nessun altro utente può accedervi.

    
risposta data 11.06.2014 - 17:33
fonte
3

In alternativa, potresti prendere in considerazione il client JuiceSSH. Memorizza le tue chiavi nella sua directory app privata. Inoltre, crittografa la sua memoria in modo che anche i telefoni jailbroken offrano un certo livello di protezione.

Fonti:
- @JuiceSSH: " La memoria esterna non funzionerà in quanto le chiavi vengono importate nel database JuiceSSH interno ".
- @JuiceSSH: " Loro [chiavi ssh] sono memorizzati in un database SQL crittografato, ma puoi esportarli premendo a lungo sull'identità ".

    
risposta data 13.08.2015 - 19:03
fonte
0

L'opzione 1 probabilmente ti garantirà la massima sicurezza. Se sposti qualcosa sulla tua scheda SD, per impostazione predefinita è un gioco gratuito per altre app. Usando l'app SU puoi (e dovresti) definire regole su quando concedi a un'app le autorizzazioni SU, inclusi i limiti di tempo, questo ti consente di essere più dettagliato nell'accesso.

    
risposta data 11.06.2014 - 04:16
fonte

Leggi altre domande sui tag