암호화된 SD 암호화 방지 안드로이드

Android OS의 데이터 암호화는 메모리 카드에 대한 액세스 제어 및 애플리케이션 전송이라는 두 가지 문제와 밀접한 관련이 있습니다. 많은 프로그램에는 활성화 데이터, 결제 정보 및 기밀 정보가 포함되어 있습니다. 이를 보호하려면 일반 카드에서는 지원되지 않는 액세스 권한 관리가 필요합니다. 파일 시스템 FAT32. 따라서 Android의 각 버전에서는 이동식 미디어의 암호화 보호가 전혀 없는 것부터 즉시 암호화를 사용하여 단일 섹션으로의 심층 통합에 이르기까지 암호화에 대한 접근 방식이 극적으로 변경되었습니다.

메모리 카드의 특별한 역할

처음에 안드로이드 개발자들은 메모리 카드를 사용자 파일을 위한 별도의 저장소로만 사용하려고 했습니다. 보호와 신뢰성에 대한 요구 사항이 없는 단순한 멀티미디어 창고였습니다. FAT32를 탑재한 microSD(HC) 카드는 내부 메모리를 사진, 비디오, 음악으로부터 해방시켜주는 간단한 저장 역할을 잘 수행했습니다.

멀티미디어 파일뿐만 아니라 애플리케이션도 메모리 카드로 전송하는 기능은 Android 2.2 Froyo에서 처음 등장했습니다. 이는 각 애플리케이션에 대해 암호화된 컨테이너 개념을 사용하여 구현되었지만 이는 카드가 잘못된 사람의 손에 들어가는 것으로부터만 보호되지만 스마트폰은 보호되지 않습니다.

더욱이 이는 반쪽짜리 조치였습니다. 많은 프로그램이 부분적으로 전송되어 일부 데이터가 그대로 남아 있었습니다. 내부 저장소, 일부(예: 시스템 항목 또는 포함된 위젯)는 카드로 전혀 전송되지 않았습니다. 응용 프로그램 전송 가능성은 해당 유형(사전 설치 또는 타사) 및 내부 구조에 따라 다릅니다. 일부의 경우 사용자 데이터가 있는 디렉터리가 즉시 별도로 위치하는 반면, 다른 경우에는 프로그램 자체의 하위 디렉터리에 위치했습니다.

응용 프로그램이 읽기/쓰기 작업을 집중적으로 사용하는 경우 카드의 안정성과 속도는 더 이상 개발자를 만족시킬 수 없습니다. 그들은 표준 수단을 사용하여 프로그램을 전송하는 것을 의도적으로 불가능하게 만들었습니다. 이 트릭 덕분에 해당 생성은 대규모 재작성 리소스와 높은 성능으로 내부 메모리에 등록되는 것이 보장되었습니다.

Android의 네 번째 버전에서는 애플리케이션을 어디에 배치할지 선택할 수 있게 되었습니다. 기본적으로 메모리 카드를 프로그램 설치용 디스크로 지정하는 것이 가능했지만 모든 펌웨어가 이 기능을 올바르게 지원하는 것은 아닙니다. 어떻게 작동합니까? 특정 장치- 실험적으로만 알아내는 것이 가능했습니다.

다섯 안드로이드 구글나는 다시 원래 개념으로 돌아가기로 결정하고 응용 프로그램을 메모리 카드로 전송하는 것을 최대한 어렵게 만들기 위해 모든 작업을 수행했습니다. 대형 제조업체는 신호를 포착하고 자체 모니터링 기능을 펌웨어에 추가하여 사용자가 루트를 사용하여 카드에 애플리케이션을 강제로 적용하려는 시도를 감지했습니다. 하드 링크나 심볼릭 링크를 생성하는 옵션만이 어느 정도 효과가 있었습니다. 이 경우 애플리케이션은 내장 메모리의 표준 주소로 결정되지만 실제로는 카드에 위치합니다. 그러나 파일 관리자로 인해 혼란이 발생했으며 그 중 다수는 링크를 올바르게 처리하지 못했습니다. 잘못된 볼륨을 표시했습니다. 자유 공간, 그들은 응용 프로그램이 내장 메모리와 카드의 공간을 동시에 차지한다고 믿었기 때문입니다.

적응하세요!

Android Marshmallow는 Adoptable Storage라는 타협안을 도입했습니다. 이는 양을 안전하게 지키고 군인들을 행복하게 하려는 Google의 시도입니다.

채택 가능한 스토리지 기능을 사용하면 내장 메모리의 사용자 파티션과 카드의 파티션을 하나의 논리 볼륨으로 결합할 수 있습니다. 실제로 카드에 ext4 또는 F2FS 파티션을 생성하고 이를 내부 메모리의 사용자 파티션에 추가합니다. 깨끗해요 논리 연산이는 Windows의 여러 물리적 디스크에서 스팬 볼륨을 생성하는 것을 막연하게 연상시킵니다.

내부 메모리와 결합하는 과정에서 카드가 다시 포맷됩니다. 기본적으로 전체 용량은 병합된 볼륨에서 사용됩니다. 이 경우 카드에 있는 파일은 더 이상 다른 장치에서 읽을 수 없습니다. 해당 파일은 신뢰할 수 있는 실행 환경 내에 저장되는 고유한 장치 키로 암호화됩니다.

대안으로, FAT32를 사용하여 두 번째 파티션을 위한 카드 공간을 예약할 수 있습니다. 여기에 저장된 파일은 이전과 마찬가지로 모든 장치에서 볼 수 있습니다.

카드를 분할하는 방법은 Adoptable Storage 메뉴를 통해 설정하거나 Android Debug Bridge(ADB)를 통해 설정합니다. 마지막 옵션은 제조업체가 메뉴에서 Adoptable Storage를 숨겼지만 펌웨어에서는 이 기능을 제거하지 않은 경우에 사용됩니다. 예를 들어, 다음과 같이 숨겨져 있습니다. 삼성 갤럭시 S7 및 주요 LG 스마트폰. 최근에는 플래그십 기기에서 Adoptable Storage를 제거하는 경향이 일반적으로 나타나고 있습니다. 그것은 목발로 간주됩니다 저예산 스마트폰내장 플래시 메모리가 충분하지 않은 태블릿.

그러나 장치 사용 방법을 결정하는 것은 마케팅 담당자의 몫이 아닙니다. 컴퓨터의 ADB를 통해 윈도우 기능 Adoptable Storage는 다음과 같이 활성화됩니다.

  1. 카드에 있는 모든 데이터를 백업합니다. 카드는 다시 포맷됩니다.
  2. Oracle 웹사이트의 Java SE 개발 키트.
  3. 최신 버전의 Android SDK Manager를 설치하세요.
  4. 스마트폰에서 USB 디버깅을 활성화합니다.
  5. SDK Manager를 실행하고 명령줄우리는 쓴다:

    $adb 쉘 $sm 목록 디스크


    여기서 x:y는 메모리 카드 번호입니다.
  6. FAT32 볼륨의 일부를 남겨두려면 7단계의 명령을 다음과 같이 변경합니다.

    $ sm 파티션 디스크:x:y 혼합 nn

    $ sm 파티션 디스크 : x : y 혼합 nn


    여기서 nn은 FAT32 볼륨의 남은 볼륨(%)입니다.

예를 들어, sm partition disk:179:32 mix 20 명령은 카드 용량의 80%를 내장 메모리에 추가하고 FAT32 볼륨의 용량은 1/5로 남겨둡니다.

일부 스마트폰에서는 "있는 그대로" 이 방법이 더 이상 작동하지 않으며 추가 트릭이 필요합니다. 제조업체는 제품을 인위적으로 시장 틈새 시장으로 나누기 위해 모든 노력을 다하고 있습니다. 최고의 모델에는 다양한 내장 메모리 용량이 제공되며 이에 대해 초과 비용을 지불할 의사가 있는 사람은 점점 줄어들고 있습니다.

일부 스마트폰에는 메모리 카드 슬롯이 없지만(예: Nexus 시리즈) USB 플래시 드라이브 연결을 지원합니다. OTG 모드. 이 경우 플래시 드라이브를 사용하여 내부 메모리를 확장할 수도 있습니다. 이는 다음 명령을 사용하여 수행됩니다.

$ adb 쉘 sm set-force-adoptable true

$ adb 쉘 sm 세트 - 강제 - 채택 가능 true

기본적으로 USB-OTG를 사용하여 사용자 정의 스토리지를 생성하는 기능은 예기치 않은 제거로 인해 데이터가 손실될 수 있으므로 비활성화되어 있습니다. 메모리 카드가 장치 내부에 물리적으로 배치되어 있기 때문에 갑자기 연결이 끊어질 가능성은 훨씬 낮습니다.

이동식 미디어 볼륨을 추가하거나 파티션으로 나누는 데 문제가 발생하면 먼저 이전 논리적 레이아웃에 대한 모든 정보를 제거하십시오. 이 작업은 Windows 컴퓨터에서 다음과 같이 실행되는 Linux 유틸리티 gparted를 사용하여 안정적으로 수행할 수 있습니다. 부팅 디스크또는 가상 머신에서.

공식 Google 정책에 따르면 개발자가 android:installLocation 속성에 이를 지정한 경우 애플리케이션을 직접 설치하거나 맞춤 스토어로 이동할 수 있습니다. 아이러니한 것은 그들 모두가 자신의 것이 아니라는 것이다. 구글 앱그들이 당신에게 이것을 허용하는 한. Android의 '적응형 저장소'에는 실질적인 제한이 없습니다. Adoptable Storage의 이론적 한계는 9제타바이트입니다. 데이터 센터에도 그다지 많지 않으며, 앞으로 몇 년 안에 더 큰 용량의 메모리 카드가 나타나지 않을 것입니다.

적합한 스토리지를 생성할 때 암호화 절차 자체는 스마트폰 내장 메모리의 전체 디스크 암호화를 수행하는 동일한 Linux 커널 모듈인 dm-crypt를 사용하여 수행됩니다(이전 기사 "" 참조). AES 알고리즘은 CBC(암호문 블록 체인) 모드에서 사용됩니다. 각 섹터마다 솔트(ESSIV)를 사용하는 별도의 초기화 벡터가 생성됩니다. SHA 해시 함수의 컨볼루션 길이는 256비트이고 키 자체는 128비트입니다.

이 구현은 AES-XTS-256에 비해 안정성이 떨어지지만 훨씬 빠르며 소비자 장치에 충분히 안정적인 것으로 간주됩니다. 참견하기 쉬운 이웃이 적절한 시간 내에 암호화된 적응형 저장소를 열 가능성은 낮지만 정보 기관은 오랫동안 CBC 체계의 단점을 활용하는 방법을 배웠습니다. 또한 실제로는 키의 128비트가 모두 완전히 무작위인 것은 아닙니다. 내장된 의사 난수 생성기를 의도하지 않게 또는 의도적으로 약화시키는 것은 암호화에서 가장 일반적인 문제입니다. 이는 Android 가젯뿐만 아니라 일반적으로 모든 소비자 장치에 영향을 미칩니다. 그러므로 가장 믿을 수 있는 방법개인정보 보호를 보장합니다. 기밀 데이터를 스마트폰에 전혀 저장하지 마세요.

Adoptable Storage를 사용하여 메모리를 병합한 후 공장 초기화를 수행하면 카드에 있는 데이터도 손실됩니다. 따라서 먼저 백업을 수행하거나 클라우드 동기화를 즉시 할당하는 것이 더 좋습니다.

메모리 카드에 있는 데이터의 대체 암호화

이제 우리는 메모리 카드에 파일을 저장하는 기능을 알아 냈습니다. 다른 버전 Android에서는 암호화로 직접 이동해 보겠습니다. Android 6 이상이 설치된 기기를 사용하는 경우 높은 확률로 어떤 방식으로든 채택 가능한 저장소 기능을 활성화할 수 있습니다. 그러면 내장 메모리와 마찬가지로 카드의 모든 데이터가 암호화됩니다. 카드를 다시 포맷할 때 생성하려는 경우 추가 FAT32 파티션의 파일만 열린 상태로 유지됩니다.

Android의 이전 릴리스에서는 상황이 훨씬 더 복잡합니다. 버전 5.0 이전에는 암호화 보호가 메모리 카드에 전혀 영향을 미치지 않았기 때문입니다(물론 이식된 애플리케이션의 데이터는 제외). 카드의 "일반" 파일은 열린 상태로 유지되었습니다. 엿보는 눈으로부터 닫으려면 타사 유틸리티가 필요합니다(종종 내장 도구의 그래픽 셸일 뿐임). 다양한 기존 방법 중에서 네 가지 방법은 근본적으로 다릅니다.

  • 범용 암호화 컨테이너 사용 - 다양한 OS용 애플리케이션에서 사용할 수 있는 널리 사용되는 형식의 암호화된 볼륨 이미지가 포함된 파일입니다.
  • 암호화된 파티션을 파일로 생성/마운트하기 위한 FUSE 드라이버 및 타사 유틸리티를 통해 지정된 디렉터리에 있는 파일을 투명하게 암호화합니다.
  • dm-crypt를 통해 전체 메모리 카드를 암호화합니다.
  • "블랙박스" 사용 - 암호화된 데이터를 자체 형식으로 저장하고 타사 프로그램에 대한 액세스를 제공하지 않는 별도의 애플리케이션입니다.

첫 번째 옵션은 컴퓨터에서 TrueCrypt 또는 해당 포크 중 하나를 사용하는 모든 사람에게 친숙합니다. TrueCrypt 컨테이너를 지원하는 Android용 애플리케이션이 있지만 제한 사항은 다릅니다.

두 번째 옵션을 사용하면 "투명한 암호화"를 구성할 수 있습니다. 즉, 모든 데이터를 암호화하여 저장하고 모든 애플리케이션에서 액세스할 때 이를 해독할 수 있습니다. 이를 위해 선택한 디렉터리의 모든 데이터는 실시간 암호화를 지원하는 가상 파일 시스템의 콘텐츠로 표시됩니다. 일반적으로 EncFS가 사용되며 이에 대해서는 아래에서 자세히 설명하겠습니다.

세 번째 옵션은 내장된 dm-crypt입니다. 예를 들어 LUKS Manager를 통해 사용할 수 있습니다. 응용 프로그램을 사용하려면 루트와 BusyBox가 설치되어 있어야 합니다. 인터페이스가 모든 사람을 위한 것은 아닙니다.


LUKS Manager는 카드에 암호화 컨테이너를 파일로 생성합니다. 이 컨테이너는 임의의 디렉터리에 연결될 수 있으며 일반 디렉터리와 마찬가지로 작업할 수 있습니다. 이 솔루션의 장점은 크로스 플랫폼을 지원한다는 것입니다. Android 가젯뿐만 아니라 데스크탑(Linux에서는 cryptsetup을 통해, Windows에서는 프로그램 또는 해당 포크 LibreCrypt를 통해)에서 컨테이너 작업을 수행할 수 있습니다. 마이너스 - 함께 사용하는 불편함 클라우드 서비스. 클라우드에서는 매번 1바이트가 변경되더라도 전체 컨테이너를 다시 저장해야 합니다.

네 번째 옵션은 암호화된 파일을 사용하는 시나리오를 크게 제한하므로 일반적으로 별 관심이 없습니다. 어떤 방법으로든 열 수 있어요 전문 응용그리고 개발자가 암호화 연구에 성공했다고 믿습니다. 불행히도 이러한 응용 프로그램의 대부분은 비판을 견디지 못합니다. 이들 중 다수는 파일을 암호화하는 대신 단순히 파일을 마스킹하기 때문에 암호화와 전혀 관련이 없습니다. 동시에 설명에는 강력한 알고리즘(AES, 3DES...)과 Schneier의 "Applied Cryptography" 인용문이 언급될 수 있습니다. 기껏해야 이러한 프로그램은 암호화 구현이 매우 열악할 것이며 최악의 경우 암호화가 전혀 없을 것입니다.

VeraCrypt용 Android용 공식 클라이언트는 없으며 계획도 없지만 저자는 EDS(암호화된 데이터 저장소) 애플리케이션 사용을 권장합니다. 이것은 완전한 기능을 갖춘 경량 버전으로 존재하는 러시아 개발입니다. EDS 정식 버전의 가격은 329 루블입니다. TrueCrypt, VeraCrypt, CyberSafe 형식의 암호화 컨테이너는 물론 LUKS 및 EncFS도 지원합니다. 로컬, 네트워크 및 클라우드 스토리지, 투명한 암호화를 통해 다른 애플리케이션을 제공합니다. 실시간 암호화에는 FUSE 프레임워크에 대한 OS 커널 지원과 루트 권한이 필요합니다. 모든 펌웨어에서 암호화 컨테이너를 사용한 일반적인 작업이 가능합니다.


EDS Lite 버전은 무료로 배포되며 기능적 제한이 있습니다. 예를 들어, 256비트 키 길이의 AES 알고리즘과 SHA-512 해시 기능을 사용하여 암호화된 FAT 파일 시스템의 볼륨이 포함된 컨테이너에서만 작동할 수 있습니다. 다른 옵션은 지원하지 않습니다. 따라서 유료 버전에 집중할 가치가 있습니다.

암호화 컨테이너는 가장 신뢰할 수 있고 보편적인 방법. 모든 파일 시스템(FAT32 포함)에 저장하고 모든 장치에서 사용할 수 있습니다. 데스크톱에서 암호화한 모든 데이터는 스마트폰에서 사용할 수 있으며 그 반대의 경우도 마찬가지입니다.

EncFS

2003년 Valient Gough(NASA용 소프트웨어를 작성하고 나중에 Google 및 Amazon에서 근무한 시애틀 출신의 소프트웨어 엔지니어)는 투명한 암호화 메커니즘이 내장된 무료 파일 시스템인 EncFS의 첫 번째 릴리스를 출시했습니다. 콜백 계층을 통해 OS 커널과 상호 작용하고 FUSE 프레임워크의 libfuse 인터페이스를 통해 요청을 받습니다. 사용자의 선택에 따라 EncFS는 OpenSSL 라이브러리에 구현된 대칭 알고리즘 중 하나(AES 및 Blowfish)를 사용합니다.

EncFS는 가상 파일 시스템을 생성하는 원리를 사용하므로 별도의 파티션이 필요하지 않습니다. Android OS에서는 EncFS를 지원하는 애플리케이션을 설치하고 몇 개의 디렉터리를 지정하기만 하면 됩니다. 그 중 하나는 암호화된 콘텐츠를 저장합니다. 둥근 천장) 및 두 번째 - 일시적으로 암호가 해독된 파일(이라고 부르자) 열려 있는).

비밀번호를 입력하면 디렉토리에서 파일을 읽습니다. 둥근 천장그리고 암호가 해독되어 저장됩니다. 열려 있는(어떻게 새로운 점마운트), 모든 애플리케이션에서 사용할 수 있습니다. 작업을 마친 후 애플리케이션에서 암호 해독 잊기 버튼(또는 이에 상응하는 버튼)을 클릭하세요. 목록 열려 있는마운트가 해제되고 해당 파일에서 해독된 모든 파일이 사라집니다.

단점: EncFS는 데이터가 inode가 아닌 파일 이름에 바인딩되므로 하드 링크를 지원하지 않습니다. 같은 이유로 파일 이름은 최대 190바이트까지 지원됩니다. 카탈로그에서 둥근 천장파일 이름과 내용은 숨겨지지만 메타데이터는 계속 사용할 수 있습니다. 암호화된 파일 수, 해당 권한, 마지막으로 액세스하거나 수정한 시간을 확인할 수 있습니다. EncFS를 사용한다는 명확한 표시도 있습니다. 이는 이름에 encfs 접두사와 버전 번호가 있는 설정 파일입니다. 파일에는 알고리즘, 키 길이, 블록 크기를 포함한 암호화 매개변수가 포함되어 있습니다.


EncFS에 대한 유료 감사는 2014년 2월에 수행되었습니다. "공격자가 암호화된 파일 세트가 하나만 있고 그 이상은 없는 한 EncFS는 안전할 가능성이 높습니다."라고 결론을 내립니다. 공격자가 더 많은 데이터를 사용할 수 있는 경우(예: 서로 다른 시간에 촬영된 파일 시스템의 두 스냅샷) EncFS는 신뢰할 수 있는 것으로 간주될 수 없습니다.

EncFS가 설치되면 FUSE 드라이버를 통해 별도의 사용자 공간 파일 시스템으로 표시됩니다. 이에 대한 액세스는 일부를 통해 실현될 것입니다. 제3자 애플리케이션- 예를 들어 파일 관리자 Encdroid 또는 Cryptonite. 후자는 EncFS 소스 코드를 기반으로 하므로 이에 중점을 두겠습니다.

크립토나이트

Cryptonite 애플리케이션의 최신 버전은 2015년 3월 15일자 0.7.17 베타입니다. Android 4.1 이상이 설치된 모든 기기에 설치 가능하지만, 일부 기능은 Android 4.3 이상 버전에서 더욱 안정적으로 작동합니다.

Cryptonite의 대부분 작업에는 루트나 특정 구성 요소가 필요하지 않습니다. EncFS 볼륨 생성 및 Dropbox와의 동기화는 공식 펌웨어와 사용자 정의 펌웨어 모두에서 수행할 수 있습니다.

암호화된 파일의 클라우드 동기화

그러나 많은 작업을 수행하려면 EncFS 볼륨을 마운트해야 하며, 이를 위해서는 루트 권한과 OS 커널의 FUSE 프레임워크 지원이 필요합니다. FUSE의 사용은 "투명한 암호화"를 구성하는 데 필요합니다. 즉, 다른 응용 프로그램이 암호화된 데이터에 액세스하고 이미 해독된 데이터를 받을 수 있도록 하는 것입니다. 대부분의 이전 펌웨어는 FUSE를 지원하지 않지만 CyanogenMod, MIUI, AOKP 및 기타 사용자 정의 펌웨어에서 사용할 수 있습니다. Android 4.4부터 FUSE는 내장 메모리에서 SD 카드를 에뮬레이션하는 데 표준으로 사용됩니다.

단점: "복호화"를 클릭하고 비밀번호를 성공적으로 입력하면 Cryptonite는 /data/data/csh.cryptonite/app_open/에 복호화된 파일의 임시 복사본을 생성합니다. 파일의 복사본은 누구나 읽을 수 있음(모든 사람이 읽고 실행할 수 있음)으로 표시됩니다. 암호 해독 잊어버리기 버튼을 클릭하면 암호가 해독된 파일을 삭제할 수 있습니다.

결론

메모리 카드의 데이터를 암호화하는 방법은 사용 시나리오와 Android 버전이라는 두 가지 주요 기준에 따라 선택해야 합니다. ~에 현대 가제트 Android 6.0 이상에서 가장 쉬운 옵션은 Adoptable Storage를 사용하고 카드를 내부 메모리에 연결한 후 전체 논리 볼륨을 투명하게 암호화하는 것입니다. 다른 장치에서 파일을 사용할 수 있도록 해야 하거나 구형 장치의 카드에 데이터 암호화를 추가해야 하는 경우 입증된 형식의 암호화 컨테이너가 적합합니다. 타사 유틸리티실제 데이터 보호 대신 모방만 하는 경우가 많기 때문에 "사물 자체" 유형은 완전히 피하는 것이 좋습니다.

형식은 카드를 죽이지 않습니다. 사망은 무작위로 그리고 데이터를 사용한 무작위 작업 중에 발생합니다. 단지 모든 곳의 사람들이 연결점을 찾고 일련의 이벤트를 만들려고 노력하고 있을 뿐입니다.

저는 전문가가 아니기 때문에 확실히 말할 수는 없습니다. 아마도 당시 카드 자체에 문제가 있었을 것입니다.

하지만 내 카드가 스마트폰으로 포맷된 후 다음과 같은 상황이 발생한 후에는 카드가 작동하지 않는다는 것을 확실히 알고 있습니다.

스포일러

카드는 Micro SD, Micro SDHC 및 Micro SDXC의 세 가지 범주로 나뉩니다. 카드 마이크로SD최대 2GB까지 가능하며, 마이크로SDHC 4GB에서 32GB(현재 널리 사용됨) 마이크로 SDXC 64GB에서 2TB까지(이론적으로는 실질적으로 이 순간 64GB 및 128GB 카드가 있습니다). 카드는 메모리 용량뿐만 아니라 파일 시스템도 다릅니다. 예를 들어, Micro SD는 FAT 시스템이고, Micro SDHC는 FAT32이며, Micro SDXC는 이론적으로만 exFAT입니다(실제로는 그렇지 않습니다). 또한, 사용자의 카드 판독 장치는 특정 유형의 카드를 지원해야 합니다. 상황은 간단합니다. 장치가 SDXC 카드를 지원하는 경우 이전 세대인 SD 및 SDHC도 지원합니다.

최근에는 64GB 용량의 마이크로SD 카드가 꽤 많이 등장하고 있지만 안타깝게도 대부분의 안드로이드 스마트폰은 공식적으로 마이크로SD를 지원하지 않는다. 마이크로카드 32GB 이상의 용량을 갖춘 SD. 실제로 스마트폰은 설치하기 전에 카드로 간단한 단계를 수행하면 64GB 카드를 읽고 올바르게 사용할 수 있습니다. Micro SDXC 카드의 잘 알려진 모든 제조업체는 대용량 카드용으로 설계된 시스템이기 때문에 처음에는 exFAT 시스템으로 포맷합니다. 이 시스템은 Microsoft에서 만들었기 때문에 Android 스마트폰 제조업체는 스마트폰이 이 시스템과 함께 작동할 수 있도록 사용 권한을 구입해야 합니다. 기업들은 여전히 ​​꺼려하고 있다. 추가 비용, 따라서 메모리 카드의 exFAT 시스템을 지원하는 장치는 거의 없으며 FAT32 시스템과 함께 작동합니다. 스마트폰이 64GB 카드를 사용하려면 FAT32로 포맷하면 됩니다. 그러나 이것이 완전히 쉬운 일은 아니라는 것이 밝혀졌습니다. 사실 FAT32 시스템 자체는 이론적으로 최대 32GB의 미디어(카드, 파티션 등)만 지원하지만 실제로는 최대 64GB의 미디어에서도 매우 잘 작동할 수 있습니다. 발생할 수 있는 유일한 문제는 카드에서 읽고 쓸 때 약간의 속도 손실이 있지만 거의 눈에 띄지 않습니다. 다음으로 Micro SDXC 카드를 FAT32 시스템으로 올바르게 포맷하는 방법을 살펴보겠습니다. 이 유형카드를 봤더니 일정 시간이 지나도 카드 서비스가 중단되지 않았습니다.

1. SDXC 카드는 이 유형의 카드를 지원하는 장치에서만 포맷할 수 있습니다. 저것들. 카드 리더가 Micro SDXC 카드(또는 어댑터를 통해 카드를 삽입하는 경우 SDXC)를 지원해야 합니다. 32GB 카드만 지원하는 스마트폰에서는 어떠한 경우에도 64GB 카드를 포맷해서는 안 됩니다! 그렇지 않으면 하루에서 몇 달 이내에 카드가 실패하게 됩니다. SDXC를 지원하는 카드리더가 없다면 별도로 구매하실 수 있습니다.

따라서 SDXC를 지원하는 장치에서만 SDXC 카드를 포맷하십시오.

2. 대부분의 사용자가 컴퓨터에 설치했기 때문에 운영 체제 Windows의 경우 서식 옵션을 고려하세요. 수술실이 있는 경우 윈도우 시스템 XP의 경우 exFAT 파일 시스템을 지원하는 업데이트를 설치하십시오. Windows 7 및 Windows 8에는 이미 이 지원이 포함되어 있습니다.

3. 아마도 삽입할 때 새로운 지도카드 리더기에 넣으면 Windows에서는 카드가 포맷되지 않았다는 메시지를 표시합니다. 이 경우 먼저 SDFormatter 유틸리티를 사용하여 exFAT로 포맷하세요.

4. 표준 Windows 방법을 사용하면 64GB 카드를 FAT32 파일 시스템으로 포맷할 수 없으므로 Guiformat 유틸리티를 사용하겠습니다.
어댑터 및 카드 리더가 포함된 MicroSDXC 64Gb 카드

이 프로그램은 32GB보다 큰 미디어를 FAT32 파일 시스템으로 포맷하기 위해 특별히 설계되었습니다. 포맷하기 전에 유틸리티에서 오류가 발생하면 3단계(SDFormatter를 사용한 첫 번째 포맷)를 따르십시오. 이 방법이 더 좋습니다. 주목! 스마트폰이 Micro SDXC를 제대로 보려면 클러스터 크기를 32KB로 선택하세요! 빠른 포맷(Quick)을 사용하는 것이 더 좋으며 전체 포맷을 수행할 필요는 없습니다.

5. 위의 권장 사항에 따라 모든 작업을 엄격하게 수행했다면 카드가 준비된 것입니다. Android 스마트폰에서는 이를 확인하고 59.XXGB의 올바른 볼륨을 표시합니다. 카드로 작업하고 파일을 쓰거나 읽을 수 있지만 절대로 스마트폰에서 포맷하지 마세요. 카드가 당신을 섬길 것입니다 오랫동안충실히.

그녀는 현재 몇 년 동안 그곳에서 살고 있으며 아무런 문제도 없습니다.

4시간 전, Reanimax가 말했습니다:

당신이 할 수 있는 일은 오직 하나뿐입니다. 데이터가 귀하에게 귀중한 경우 데이터 복제, 미디어 복제 등 편리한 옵션을 선택하십시오.

안타깝게도 당시에는 이런 상황이 일어날 것이라고 예상하지 못했습니다.

2017년 12월 25일에 편집됨 JEI-DI

모든 모바일 장치는 분실, 유기, 잊어버리거나 단순히 도난당할 수 있습니다. 보호되지 않은 형태로 저장된 모든 정보는 귀하에게 불리하게 읽혀 사용될 수 있습니다. 그리고 가장 효과적인 방법정보보호 - . 이 기사에서는 새로운 데이터 암호화 시스템을 구현하는 기능에 대해 설명합니다. 안드로이드 버전, 개별 디렉터리의 선택적 암호화를 구현할 수 있는 도구에 대해서도 논의합니다.

소개

Android는 Linux 커널을 기반으로 하며, Linux 커널에는 다양한 엔터티에 대한 암호화를 구현하는 여러 메커니즘이 포함되어 있습니다. 디스크와 파티션의 암호화 보호를 위해 dm-crypt라는 시스템이 제공됩니다. 이는 모든 요청을 디스크나 파티션에 전달하고 즉시 데이터 암호화를 얻을 수 있는 일종의 암호화 필터입니다.

Google 프로그래머는 Honeycomb 버전 3.0부터 Android에 dm-crypt를 사용하도록 가르쳤습니다. 여기서는 신속하게 암호화를 활성화하고 데이터 액세스를 위한 PIN 코드를 설정할 수 있는 옵션이 나타났습니다. 사용자의 관점에서 보면 모든 것이 매우 간단하고 번거롭지 않아 보입니다. 휴대폰을 충전기에 연결하고 기다리면 됩니다. 완전히 충전됨그리고 탐나는 버튼을 눌렀다. 시스템이 기존 데이터를 암호화하기 시작했습니다. 모든 것이 내부에서 훨씬 더 흥미로워 보입니다.

Android의 특별한 접근 방식

어떤 경우에도 리눅스 배포판 dm-crypt는 LUKS 표준에 따라 암호화된 볼륨을 생성하는 cryptsetup 유틸리티에 의해 관리됩니다. 이 유틸리티는 Windows 또는 OS X의 타사 도구를 사용하여 액세스할 수도 있습니다. 일반적으로 cryptsetup은 부팅의 OS 초기화 단계에서 시작됩니다. initramfs 이미지를 생성하고 dm-crypt를 디스크 드라이브에 연결한 다음 마운트합니다.

Android에서는 상황이 다르게 발생합니다. Apache 호환 라이센스를 사용하여 커널 위의 모든 구성 요소에 라이센스를 부여해야 하기 때문에 GPL2에 따라 배포되는 cryptsetup은 Android에 포함되어 있지 않습니다. 대신 로컬 볼륨 관리자 vold용으로 처음부터 개발된 cryptfs 모듈이 사용됩니다(기본 Linux 도구인 vold 및 cryptfs와 혼동하지 마십시오. 이들은 완전히 다른 개발입니다).

기본적으로 Android는 cryptfs를 사용하여 사용자 데이터, 설정 및 애플리케이션(/data 디렉터리)을 암호화합니다. 그래픽 환경과 기본 응용 프로그램이 시작되기 전, OS 부팅 프로세스 초기에 시작해야 합니다. 그래야 시스템의 상위 수준 구성 요소가 설정을 읽고 캐시에서 필요한 데이터를 가져와 시스템을 원하는 상태로 가져올 수 있습니다. .

안에 자동 모드시스템은 그래픽 환경을 시작해야 하는 암호 해독을 위해 사용자에게 암호를 묻는 메시지를 표시해야 하고, 암호 없이는 연결할 수 없는 /data 디렉터리를 연결하지 않으면 시작할 수 없기 때문에 이는 불가능합니다. 이러한 상황에서 벗어나기 위해 Android는 OS를 강제로 "두 번" 시작하는 특이한 트릭을 사용했습니다. 최소 시스템의 첫 번째 시작은 cryptfs가 /data에 연결된 임시 파일 시스템을 사용하여 암호 해독 암호를 요청하기 시작하기 전에 발생합니다. 그 후 시스템은 본질적으로 종료되고 암호화된 /data 파티션이 마운트되며 OS의 최종 버전은 다음과 같습니다. 출시되었습니다.

암호화 활성화

Android의 데이터 암호화는 "설정 -> 보안 -> 데이터 암호화" 메뉴를 사용하여 활성화됩니다. 이 경우 스마트폰이 완전히 충전되어 충전기에 연결되어 있어야 하며 잠금 해제 방법은 PIN 코드 또는 비밀번호(설정 -> 보안 -> 화면 잠금 -> PIN 코드)여야 하며 암호화를 시작하기 전에 입력해야 합니다. 작업. 스마트폰에서는 작업에 약 1시간이 소요되며 그 동안 장치가 여러 번 재부팅된다는 경고 메시지가 표시됩니다.

다음에 일어나는 일은 이전 섹션에서 설명한 것과 정확히 같습니다. 스마트폰은 /data 지점에 연결된 임시 파일 시스템을 사용하여 최소 버전의 시스템을 부팅하고 데이터 암호화를 시작하여 화면에 작업 진행 상황을 표시합니다. 암호화 자체는 다음과 같이 발생합니다.

  1. vold/cryptfs는 먼저 /dev/urandom의 임의 데이터를 기반으로 128비트 마스터 키를 생성하고 이 키를 사용하여 /data 디렉토리가 포함된 파티션을 새로운 가상 암호화 장치에 매핑합니다. 마스터 키, 키를 읽고 읽으면 암호가 해독됩니다.
  2. 마스터 키는 사용자의 PIN으로 암호화되어 파티션 끝에 배치됩니다. 이제부터 부팅 시 시스템은 사용자에게 PIN 코드를 요청하고, 파티션에서 암호화된 마스터 키를 읽고, PIN 코드를 사용하여 이를 복호화한 후 암호화된 /data 파티션을 연결합니다.
  3. 이미 파티션에 있는 데이터를 암호화하기 위해 시스템은 파티션에서 데이터 블록을 순차적으로 읽고 이를 암호화 장치에 씁니다. 따라서 본질적으로 "블록 읽기 -> 암호화 -> 다시 쓰기"가 순차적으로 수행됩니다. 마스터 키를 저장하는 마지막 16KB를 제외한 전체 섹션.
  4. 작업이 끝나면 스마트폰이 재부팅되고, 다음번 부팅 시 시스템에서 데이터 암호 해독을 위해 PIN 코드를 요청합니다.

16GB Galaxy Nexus 드라이브의 경우 이 모든 작업이 약 30분 정도 소요되며, 가장 중요한 것은 완전히 자동화되어 어린이도 암호화를 처리할 수 있다는 것입니다.

잠금을 해제하고 해독하는 데 하나의 비밀번호가 필요합니까?

사용자의 삶을 더 쉽게 만들기 위해 Google은 데이터 잠금 해제 및 암호 해독에 동일한 비밀번호를 사용하기로 결정했으며 이로 인해 다소 모순된 상황이 발생했습니다. 한편, 복호화할 비밀번호는 길고 복잡해야 합니다. 왜냐하면 공격자가 스마트폰 외부에서 단순히 파티션 이미지를 제거하는 것만으로도 비밀번호를 추측할 수 있기 때문입니다. 반면에 잠금 해제 비밀번호는 매우 간단하게 남겨둘 수 있습니다. 여러 번 시도에 실패하면 Android에서 화면을 영구적으로 잠가서 Google 비밀번호를 입력해야 하기 때문입니다.

결과적으로, 귀하는 잠금 해제의 편리성과 암호화된 데이터의 보안 중에서 선택해야 합니다(당사는 얼굴 제어를 보호 수단으로 간주하지 않습니다). 다행히 전화기가 루팅된 경우 vold 콘솔 클라이언트를 사용하여 암호 해독 비밀번호를 수동으로 지정할 수 있습니다. 다음과 같이 할 수 있습니다:

$ su -c vdc cryptfs 비밀번호 변경

이제부터 잠금 해제 비밀번호와 복호화 비밀번호는 다르지만, 잠금 해제 비밀번호(PIN 코드)를 변경하면 다시 동일해집니다. 콘솔로 올라가지 않으려면 EncPassChanger와 같은 그래픽 인터페이스 중 하나를 사용할 수 있습니다.

롤백 및 펌웨어 호환성

안타깝게도 어떤 이유에서인지 안드로이드 이유암호화되지 않은 파티션으로 롤백하는 것을 허용하지 않습니다. 따라서 데이터가 이미 암호화된 경우 공장 초기화(전체 삭제)가 수행될 때까지 그대로 유지됩니다. 이 작업은 /data 디렉터리가 포함된 파티션을 다시 포맷하고 자동으로 암호화되지 않은 파티션으로 전환하는 작업입니다.

하지만 여기서 "Android를 업데이트하거나 맞춤 펌웨어를 설치하면 어떻게 되나요?"라는 질문이 생길 수 있습니다. 이 경우 설치 방법에 따라 다릅니다. 대부분의 경우 펌웨어를 업데이트하거나 거의 동일한 버전의 대체 펌웨어를 설치할 때(예: CyanogenMod 10.1을 Paranoid Android 3 또는 MIUI 5로 교체) 초기화가 필요하지 않습니다. 그것은 다음을 의미합니다 설치된 펌웨어/data 파티션을 마운트하려고 하면 암호화된 파티션을 다루고 있음을 "인식"하고 비밀번호를 묻고 차분하게 데이터의 암호를 해독합니다.

새 버전의 Android로 업그레이드할 때 일반적으로 필요한 설치 전체 삭제가 필요한 경우 상황은 훨씬 더 간단합니다. 지우는 동안 /data 파티션이 다시 포맷되고 자동으로 암호화가 해제됩니다. 가장 중요한 것은 Titanium Backup이나 Carbon을 사용하여 업데이트하기 전에 백업을 만드는 것입니다.

SD 카드

Google은 메모리 카드를 정의상 기밀 데이터를 포함할 수 없는 정크 덤프로 간주하고, 설령 암호화하더라도 사용자가 카드를 다른 휴대폰에 삽입하기로 결정할 수 있으므로 메모리 카드를 암호화하는 것은 의미가 없다는 입장을 오랫동안 표명해 왔습니다. 따라서 Android에는 메모리 카드를 암호화하는 표준 방법이 없으며 이러한 기능을 얻으려면 타사 소프트웨어를 사용해야 합니다.

타사 암호화 소프트웨어 중에서 당사는 세 가지 다른 클래스의 애플리케이션을 선택할 수 있습니다.

  1. 그 자체로 것입니다. 암호화 컨테이너를 생성하고 열 수 있지만 파일 시스템에 연결하는 것을 허용하지 않는 애플리케이션입니다. 암호화된 볼륨을 지원하는 일종의 파일 관리자입니다. 일기와 메모를 작성하는 데에만 적합하기 때문에 거의 쓸모가 없습니다.
  2. 의사FS. 많은 주식과 Linux 커널에서 대체 펌웨어한 번에 여러 암호화 파일 시스템이 개발된 기반으로 FUSE 사용자 공간 파일 시스템 드라이버가 지원됩니다. 그 중 하나가 EncFS입니다. Android에서는 Cryptonite, Encdroid 및 기타 애플리케이션 형태로 사용할 수 있습니다. 이러한 소프트웨어를 사용하면 모든 디렉터리를 암호화하여 절대적으로 모든 응용 프로그램이 해당 디렉터리에 액세스할 수 있습니다.
  3. dm-crypt를 기반으로 합니다. 기능과 구현이 이전 버전과 유사하지만 암호화를 위해 기본 dm-crypt를 사용합니다. LUKS Manager는 이러한 종류의 소프트웨어를 가장 잘 대표하는 제품입니다. 메모리 카드에 이미지 파일을 생성할 수 있으며, 이 파일은 언제든지 모든 디렉터리에 연결하여 데이터에 액세스할 수 있습니다. Linux에서 cryptsetup을 사용하거나 Windows에서 FreeOTFE를 사용하여 동일한 작업을 수행할 수 있습니다.

크립토나이트

Cryptonite는 EncFS 암호화 파일 시스템을 감싸는 래퍼로, 저장소 카드와 Dropbox 내부에서 암호화된 볼륨을 생성하고 볼 수 있을 뿐만 아니라 모든 애플리케이션에서 볼 수 있도록 저장소 카드 디렉토리에 볼륨을 마운트할 수 있습니다. 우리는 일상적으로 사용할 수 있는 유일한 사용 사례인 후자의 사용 사례에 주로 관심이 있지만 이를 위해서는 다음이 필요합니다. 루트 권한, 커널에 FUSE 지원이 있습니다.

이 기능으로 Cryptonite를 사용하는 것은 매우 간단하지만 혼란을 피하기 위해 작동 원리를 이해해 보겠습니다. 이 애플리케이션은 EncFS라는 Linux 사용자에게 잘 알려진 도구를 기반으로 합니다. 본질적으로 이것은 두 번째 디렉터리에 기록된 내용이 자동으로 첫 번째 디렉터리에 암호화된 형식으로 끝나고 읽을 때 그에 따라 해독되도록 한 디렉터리를 다른 디렉터리에 매핑할 수 있게 해주는 유틸리티입니다. 디스플레이가 켜져 있는 동안에는 데이터에 접근할 수 있지만, 끄자마자 두 번째 디렉터리의 내용은 사라지고 첫 번째 디렉터리만 남게 되며 그 내용은 완전히 암호화됩니다.

이러한 이유로 Cryptonite에는 두 개의 디렉터리가 필요합니다. 첫 번째 디렉터리는 암호화된 데이터를 저장하고 두 번째 디렉터리는 첫 번째 콘텐츠가 해독된 형식으로 표시되는 빈 디렉터리입니다. 단순화를 위해 이를 암호화 및 복호화라고 부르겠습니다. 다음 중 하나를 사용하여 메모리 카드에 이 두 개의 디렉터리를 만듭니다. 파일 관리자. Cryptonite를 실행하고 "설정 -> 마운트 지점"으로 이동하여 해독 디렉터리를 선택합니다. 이제 항상 암호화된 데이터에 대한 액세스 지점으로 사용됩니다. 돌아가서 LOCAL 탭으로 이동하여 "로컬 볼륨 생성" 버튼을 클릭하여 암호화된 디렉터리를 초기화합니다. crypt 디렉터리를 선택하고 비밀번호를 입력하세요. 이제 남은 것은 다시 한국으로 돌아가는 것뿐이다. 메인 화면그리고 “Mount EncFS” 버튼을 클릭하세요(그리고 비밀번호를 다시 입력하세요). 이제부터 decrypt 디렉터리에 복사한 모든 내용은 자동으로 crypt 디렉터리에 암호화된 형태로 저장되며, decrypt를 비활성화한 후에는 누구도 해당 내용을 읽을 수 없습니다. crypt의 내용 보기).

그런데 Dropbox에서도 같은 방식으로 데이터 암호화를 구성할 수 있습니다. Cryptonite를 사용하면 즉시 이 작업을 수행할 수 있지만 이 경우 데이터에 대한 액세스는 애플리케이션 자체를 통해서만 얻을 수 있습니다. 즉, 암호화된 데이터에 대한 모든 작업의 ​​경우 Cryptonite를 시작하고 다음을 통해 모든 작업을 수행해야 합니다. 내장된 파일 관리자. 물론 Android용 Dropbox 자체도 동일한 방식으로 작동하지만 최소한 다른 앱에서 사용할 수 있는 개방형 API가 있으며 여기서는 수동 액세스만 필요합니다.

이 문제를 해결하려면 백그라운드에서 실행되어 선택한 디렉터리의 내용을 Dropbox와 주기적으로 동기화하는 Dropsync 서비스를 설치하면 됩니다. 암호화 디렉터리를 동기화하도록 구성하는 것만으로도 충분하며(암호 해독은 아님) 암호화된 데이터는 자동으로 Dropbox로 이동됩니다. Big Brother의 데이터에 액세스하려면 EncFS의 Linux 또는 Windows 버전을 사용할 수 있습니다. 게으른 사람만이 사용법에 대해 글을 쓰지 않았습니다.


루크스 매니저

목록의 두 번째 응용 프로그램은 EncFS 대신 dm-crypt를 사용하고 디렉터리 대신 암호화된 바이너리 이미지를 사용하는 기능면에서 본질적으로 유사한 응용 프로그램인 LUKS Manager입니다. 실용적인 관점에서 이 옵션으로 암호화된 이미지는 Linux, Windows, OS X를 포함한 거의 모든 OS에서 보거나 수정할 수 있다는 점에서 이전 옵션보다 좋습니다. 단점은 암호화에 사용하기 불편하다는 것입니다. Dropbox 클라이언트처럼 매번 전체 이미지를 동기화해야 하기 때문에 EncFS의 경우처럼 개별 파일에 비해 용량이 매우 커질 수 있습니다.


을 위한 올바른 작동 LUKS Manager에는 dm-crypt 및 루프백을 지원하는 커널이 필요하지만 첫 번째는 Android 2.3 커널에서도 사용할 수 있지만 두 번째는 모든 기본 커널에서 사용할 수 없습니다. 따라서 다음과 같은 펌웨어가 필요할 가능성이 높습니다. 대체 커널, CyanogenMod, AOKP 또는 MIUI와 같은.

나머지는 간단합니다. 프로그램 인터페이스는 상태, 모두 마운트 해제, 마운트, 마운트 해제, 생성 및 제거의 6개 버튼으로만 구성됩니다. 새 이미지를 생성하고 이에 액세스하려면 "만들기"를 클릭하고 마운트할 디렉터리를 선택하고 크기를 지정하고 비밀번호와 파일 시스템(Windows 호환성의 경우 FAT32 또는 Linux의 경우 ext2)을 지정하면 됩니다. 여러 개의 이미지가 메모리 카드에 동시에 존재할 수 있으며, 이는 "마운트 해제" 버튼을 사용하여 비활성화하거나 "제거"를 사용하여 삭제할 수 있습니다.

애플리케이션 관리에는 복잡한 것이 없습니다. LUKS Manager 패키지에는 수동 제어 및 이미지 연결에 사용할 수 있는 Android용으로 컴파일된 cryptsetup 유틸리티 버전도 포함되어 있다는 점만 말씀드리겠습니다.


기타 용도

Dm-crypt 및 cryptfs는 /data 디렉토리를 엿보는 눈으로부터 보호하기 위해 Android에서 사용됩니다. 그들의 도움으로 이상하게도 메모리 카드에 애플리케이션을 설치하는 시스템이 여기에 구현되었습니다. 이는 각각 하나씩 암호화된 이미지라는 아이디어를 기반으로 합니다. 설치된 애플리케이션. 이는 Android에서 SD 카드에 대한 전체 읽기 액세스 권한이 있는 다른 애플리케이션과 SD 카드를 소유한 사용자로부터 애플리케이션에 저장되었을 수 있는 기밀 데이터를 보호하기 위해 수행됩니다.

터미널을 시작하고 df 명령을 실행하면 이것이 어떻게 구현되는지 직접 확인할 수 있습니다. 스크린샷 "Galaxy Nexus and df"는 내 스마트폰에서 이 명령의 출력을 보여줍니다. /data 디렉토리에 연결되어 있고 스마트폰의 데이터 암호화를 담당하는 의사 암호화 장치 /dev/block/dm–0 외에도 서로 다른 디렉토리에 연결된 15개의 유사한 장치가 더 있다는 것을 분명히 알 수 있습니다. 내부 /mnt/asec. 메모리 카드에 설치된 애플리케이션입니다. 애플리케이션 자체는 메모리 카드의 .asec 디렉터리에 암호화된 이미지로 저장되고, 암호화 키는 스마트폰의 메인 메모리에 저장됩니다.


또한 /storage/emulated/legacy에 연결된 의사 장치 /dev/fuse와 기타 디렉터리도 있음을 알 수 있습니다. 이것은 앞에서 설명한 FUSE 드라이버를 사용하여 구현된 메모리 카드의 "에뮬레이터"에 지나지 않습니다(Galaxy Nexus 자체는 메모리 카드를 지원하지 않습니다). 본질적으로 이는 단순히 /storage/emulated/legacy 디렉토리를 /data/media/0으로 미러링하는 것입니다. 이 경우 /sdcard 디렉터리는 /storage/emulated/legacy에 대한 링크입니다. ps 명령을 실행하면 FUSE를 기본으로 사용하는 /system/bin/sdcard 애플리케이션을 사용하여 미러링이 구현되는 것을 확인할 수 있습니다. 실제로 이는 모든 Linux 사용자에게 친숙한 Unionfs의 대체 구현입니다.

경고

dm-crypt 모듈은 YAFFS 파일 시스템으로 파티션을 암호화하는 데 사용할 수 없습니다. YAFFS 파일 시스템은 NAND 메모리에 액세스할 때 낮은 수준의 작업을 사용하기 때문입니다.

결론

보시다시피 Android에서 고품질 데이터 암호화를 얻는 것은 매우 간단하며 대부분의 경우 추가 소프트웨어를 설치할 필요조차 없습니다. 유일한 제한은 스마트폰이 필요하다는 것입니다. 안드로이드 기반 4.0 이상이지만 4.0 이전의 모든 것은 OS를 호출하기가 상당히 어렵 기 때문에 여기서는 특별한 문제가 없습니다 :).

정보

구현 세부정보 표준 시스템편집증을 위한 Android 암호화: CBC 모드의 128비트 AES 및 ESSIV: SHA–256. 마스터 키는 128비트 랜덤 솔트와 함께 PBKDF2 표준을 2000회 반복하여 사용자 비밀번호에서 파생된 또 다른 128비트 AES 키로 암호화됩니다.

보안의 관점에서 보면, 안드로이드 스마트폰은 중요한 개인 정보가 넘쳐나는 작은 상자이기 때문에 그것이 다른 사람의 손에 넘어가는 것을 거의 원하지 않을 것입니다. 상황을 보다 현실적으로 파악하려면 다음 사항에 대해 생각해 보십시오. 이메일, SMS 메시지, 저장된 신용카드 번호, 개인 사진 및 기타 민감한 데이터.

다른 전화기는 신흥 시장에서 프리미엄 가격으로 판매될 수 있는 해외로 밀수입될 수도 있습니다. 그러나 후자를 사용하는 경우 도둑이 화면의 지문을 따라가면 잠금 해제 패턴을 볼 수 있다는 점을 기억하세요. 이것이 장치를 자주 청소하는 것이 권장되는 또 다른 이유입니다. 이 기능은 그다지 좋지 않을 수도 있지만 확실히 가장 안전한 옵션입니다.

원격으로 휴대폰 추적 및 삭제

잠금 코드 외에도 일부 장치에는 지문 판독기도 있습니다. 화면 잠금 기능. 일반적으로 보안 페이지 옵션 페이지로 이동하면 부재중 전화와 읽지 않은 텍스트의 미리보기만 사용할 수 있습니다. 그런 다음 원격 검색, 전화기 잠금 및 재부팅 확인란을 선택하십시오. 그러므로 메모리 카드에 무엇을 저장할지 주의하십시오.

낯선 사람이 이 데이터를 소유하는 상황에 처하고 싶어하는 사람은 아무도 없을 것이라고 생각합니다. 그 결과를 생각하는 것조차 무섭기 때문입니다. 이것이 바로 우리가 휴대폰이나 태블릿의 보호를 구성하기 위해 다양한 방법을 사용하게 된 주된 이유이며, 데이터 암호화는 데이터를 보호하는 주요 수단입니다.

암호화를 활성화하기 전에 몇 가지 단점이 있다는 점에 유의하세요. 느림: 암호화는 항상 약간의 오버헤드를 추가하므로 장치 속도가 약간 느려집니다. 단방향으로만 작동합니다. 기기의 메모리를 암호화한 후 휴대전화를 공장 기본 설정으로 재설정하여 암호화를 비활성화할 수 있습니다. 이렇게 하면 휴대폰에 저장된 모든 데이터도 삭제되므로 처음부터 다시 설치해야 합니다. 실제 속도 감소는 전화기의 하드웨어에 따라 다릅니다. . 암호화는 많은 사람들에게 유익보다는 해를 끼칠 수 있으므로 모든 사람이 암호화를 활성화해야 하는 것은 아닙니다.

암호화란 무엇입니까?

암호화는 데이터를 비-암호화로 변환하는 가역적 프로세스입니다. 읽을 수 있는 보기그것을 해독하는 방법을 아는 사람을 제외한 모든 사람에게 적용됩니다. 데이터를 다시 읽을 수 있는 형식으로 만드는 유일한 방법은 올바른 키를 사용하여 데이터를 다시 해독하는 것입니다.

간단한 예를 사용하면 그러한 것들을 이해하는 것이 더 쉽습니다. 일기장을 잃어버렸는데 그것을 발견하고 러시아어를 아는 사람이 쉽게 읽고 알아낼 수 있다고 가정해 보겠습니다. 자신만이 이해할 수 있는 언어라면 다른 사람은 읽을 수 없습니다.

비즈니스 정보를 다루는 대부분의 전문가는 이 암호화 옵션을 진지하게 고려해야 하며 장치를 변경하기 전에 이 암호화 옵션이 중요하다는 점을 분명히 해야 합니다. 기기를 물리적으로 안전하게 유지하는 것 외에도 개인 데이터를 도용할 수 있는 앱에 주의하세요.

암호화는 장치에 있는 데이터 양에 따라 한 시간 이상 걸릴 수 있습니다. 암호화 프로세스를 중지해야 하는 경우 휴대폰의 일부 데이터가 손실됩니다. 설정 화면을 열고 보안을 탭한 후 기준을 탭하세요.

비슷한 접근 방식을 컴퓨터에 저장된 데이터에 적용할 수 있습니다. 안드로이드 기기. 도둑은 귀하의 스마트폰이나 태블릿을 탈취하여 개인 데이터에 접근할 수 있습니다. 그러나 데이터가 암호화되면 도둑이 읽을 수 없는 쓸모없는 덩어리일 뿐입니다.

우리는 당신의 안드로이드를 암호화합니다

보안 측면에서 보면 안드로이드 스마트폰중요한 개인 정보가 담긴 컴팩트한 상자입니다. 다른 사람의 손에 들어가는 것을 원하지 않을 것입니다...

오늘날 모든 사용자는 승인되지 않은 사람으로부터 기밀 정보를 보호하는 것에 대해 생각해야 합니다. 제조업 자 모바일 장치미래의 고객과 그들의 기밀 유지 권리에 관심이 있기 때문에 개인 데이터 보존에 점점 더 많은 관심을 기울이고 있습니다. 태블릿도 개인용 기기로 분류될 수 있으므로 이를 보호하는 방법에 대해 이야기해 보겠습니다.

태블릿에서 암호화를 비활성화할 수 있습니까?

최신 태블릿의 시스템 기능은 장치의 내부 메모리와 장치에 저장된 정보에 대한 암호화 모드를 지원합니다. 외부지도 SD. 암호화 실행은 장치 성능에 부정적인 영향을 미친다는 점을 기억해야 합니다. 개인 데이터의 안전보다 컴퓨팅 성능을 중요시하는 사람들은 이 기사를 꼭 읽어야 합니다.

운이 좋게도 해당 운영 체제 버전을 실행하는 Android 태블릿을 소유하고 있다면 암호화 기능을 비활성화할 수 없습니다. 개발자는 최신 버전의 OS에 정보 강제 암호화를 도입하기로 결정했지만 해커도 잠을 자지 않기 때문에 절망하지 마십시오. 이 노동자들이 곧 이 문제에 대한 자체적인 해결책을 제시할 것이라는 데에는 의심의 여지가 없습니다. 동시에 운영 체제가 업데이트된 태블릿 최신 버전이전 버전부터는 이러한 금지 사항에 의해 제한되지 않으므로 암호화를 비활성화하는 옵션을 사용할 수 있습니다. 그러나 이것이 정말로 필요한지 생각해 보는 것이 좋습니다.

이전 버전의 Android(2.3.4까지)에서는 암호화를 수동으로 시작해야 합니다. 이 옵션은 설정 메뉴에 있습니다: 보안->암호화->기기 암호화. 개발자가 그러한 가능성을 제공하지 않았기 때문에 이후에는 암호화된 데이터의 암호를 해독하는 것이 불가능하다는 점을 명심해야 합니다. 따라서 정보를 해독해야 하는 경우 정보 손실은 불가피합니다. 이렇게 하려면 "복구" 모드에서 장치를 공장 설정으로 재설정해야 합니다.

이러한 재설정을 수행하려면 태블릿이 꺼진 상태에서 볼륨 높이기 및 낮추기 키와 전원 키를 누르고 있어야 합니다. 다음으로 다운로드됩니다. 엔지니어링 메뉴, 볼륨 버튼을 사용하여 "데이터 삭제/공장 초기화" 메뉴 항목을 찾아 선택한 후 전원 키를 눌러야 합니다. 재설정 작업이 완료되면 "재부팅"을 선택하여 재부팅해야 합니다. 태블릿에서 작동 모드로 부팅한 후 개인 데이터를 복원한 다음 더 이상 암호화를 실행하지 않아야 합니다.

공유하다