Logo ko.androidermagazine.com
Logo ko.androidermagazine.com

안드로이드 롤리팝에서 전체 디스크 암호화 란 무엇입니까?

차례:

Anonim

Android 5.0 Lollipop의 "기본"전체 디스크 암호화 (FDE)에 대한 많은 정보가 있습니다. 그중 일부는 좋은 정보이고, 일부는 나쁜 정보이며, 그중 많은 부분이 반복되는 추론 스 니펫입니다. 이것이 대화를 좋게 만들고 FDE가 이야기 할 가치 가 있는 반면, 우리는 더 좋은 점을 읽기 쉬운 토론으로 나누고 싶었습니다.

이것은 안드로이드 암호화에있어 가장 중요한 문서가 아닙니다. 구글은 이미 그것을 게시했다. 우리는 우리가 계속 듣는 소비자 중심의 질문을 다룰 것입니다. 항상 그렇듯이 토론을 위해 의견을 사용하여 모두 가 조금 배울 수 있습니다.

암호화 란 무엇입니까?

암호화는 암호화 키를 사용하여 데이터를 보호하는 프로세스입니다. 암호를 키로 생각하면 암호화는 매우 안전한 잠금입니다. 무언가를하려면 열쇠가 필요합니다. 그리고 올바른 키없이 들어갈 수는 있지만 가능성은 낮습니다. (예, 모든 암호화 시스템은 이론적으로 적어도 환자와 교묘 한 개인에 의해 물리 칠 수 있습니다.)

Android에서는 기기의 모든 사용자 데이터 (Android 3.0부터)를 암호화 할 수 있습니다. 데이터는 디스크에 쓰기 전에 실제로 즉시 암호화됩니다. 차례로 데이터를 요청하는 프로그램으로 반환되기 전에 데이터가 해독됩니다. 장치 마스터 비밀번호를 사용하는 비밀번호 기반의 올바른 키만 있으면됩니다.

롤리팝의 변화

안드로이드 3.x 허니컴 이후 FDE가 안드로이드에서 사용 가능했지만, 안드로이드 5.0은 모든 것이 어떻게 작동하는지에 대해 상당히 큰 변화와 개선을 가져 왔습니다.

Lollipop에서 FDE는 스토리지의 블록 레이어에서 직접 작동하는 커널 기능으로 수행됩니다. 이는 암호화가 표준 블록 장치로 커널에 표시되므로 고유 암호화 기능이없는 eMMC 스토리지와 같은 플래시 장치에서 암호화가 작동 할 수 있음을 의미합니다. 스토리지와 직접 통신하는 파일 시스템 (예: YAFFS)에서는 암호화가 불가능합니다. 휴대 전화 나 태블릿을 만든 사람은 외부 저장소 (SD 카드와 같은)를 암호화하는 방법을 포함했을 수 있지만 Android AOSP는 대부분 내부 저장소를 처리합니다. 사용 된 알고리즘은 CBC가있는 128 비트 AES와 SHA256 해시 함수를 사용하는 암호화 된 소금 섹터 초기화 벡터입니다. 마스터 키는 OpenSSL 라이브러리에 대한 호출도 사용합니다.

다시 말해, 보안이 제대로 유지되지 않은 것입니다.

Android로 처음 부팅 할 때 장치는 임의의 128 비트 마스터 키를 생성 한 다음 해시하여 암호화 메타 데이터에 저장합니다. 이 데이터는 사용자 암호에 의해 잠금 해제됩니다. 그리고 사람들은 약한 암호를 사용하지 않는다는 것을 기억하십시오. 결과 해시는 또한 TrustZone과 같은 TEE 기반 (Trusted Execution Environment) 기능과 같은 하드웨어 백업을 통해 서명됩니다. Android 5.0 이전에는 마스터 키가 사용자 비밀번호 만 기반으로 암호화되었으며 ADB를 통한 오프 박스 공격에 취약 할 수 있습니다.

흥미롭게도 Google은 AOSP 또는 Nexus 6에서 Qualcomm 하드웨어 암호화 엔진을 사용하지 않습니다. 이는 Qualcomm의 하드웨어 기반을 사용하는 것과 비교하여 디스크 I / O 중 (512 바이트 간격마다) CPU 기반 암호화 및 암호 해독을 강제하기 때문에 비효율적입니다. 성능 특징. 우리는 왜 이것이 수행 되는지 추측하지 않을 것이지만, OEM은 원하는대로 자유롭게 구현할 수 있다는 것을 알고 있습니다. 우리는 그들이 희망하기를 바랍니다.

Google은 Android 보안에서 전체 디스크 암호화를 위해 많은 노력을 기울였습니다. 대체로, 그들은 꽤 좋은 일을했습니다.

성능 문제

암호화가 활성화 된 Nexus 기기에서 디스크 읽기 및 쓰기 성능이 떨어 졌다는 이야기를 들었을 것입니다. 즉석에서 암호화 및 암호 해독이 필요할 때 디스크 I / O 속도가 저하 될 수 있습니다. 위에서 언급했듯이 Google은 Nexus 6에서 Qualcomm의 하드웨어 기반 커널 기능을 사용 하지 않으므로 조금 더 고통을받습니다. 그러나 얼마나 나쁜가?

Lollipop의 디스크 I / O는 KitKat 및 이전 버전의 Android보다 몇 배 빠릅니다. 소프트웨어 최적화 및 기기 별 코드는 Android가 이전보다 더 빠르게 저장소에서 읽고 쓸 수 있음을 의미합니다. 이것은 암호화로 인해 느린 I / O 시간으로 인해 대부분 무시되는 매우 좋은 것입니다.

FDE를 사용해야하거나 새로운 Nexus를 구입하고 사용자 지정 펌웨어를 설치하지 않기 위해 FDE를 사용해야하는 경우 KitKat보다 성능이 계속 향상됩니다 (종이). 암호화 없이는 좋지 않을 것입니다. 실제 사용에서 우리가 얘기 한 대부분의 사용자는 느린 I / O로 인해 장치 지연이 발생하지 않습니다. 당신의 경험은 다를 수 있습니다.

FDE를 원하거나 필요로한다면 그 가치가있을 것입니다.

암호화는 필수가 아닙니다 (어쨌든 필요합니까?)

Lollipop 업데이트가있는 전화를 가진 사람은 누구나 Lollipop이 암호화를 사용하도록 강요하지 않는다고 말할 수 있습니다. Nexus 6 및 Nexus 9 (및 이후의 모든 Nexus 기기)와 함께 사용하도록 설정되어 있으며 쉽게 끄는 방법은 없지만 Galaxy Note 4와 같이 Lollipop으로 업데이트 된 전화는 자동으로 전체 디스크 암호화를 사용하지 않습니다.

LG G Flex 2와 같이 Android 5.x와 함께 제공되는 새 장치에서도 마찬가지입니다. 옵션을 활성화해야하지만 기본적으로 전체 암호화가 해제되어 있습니다. 전체 디스크 암호화가 필요합니까?

우리 중 많은 사람들이 전체 디스크 암호화가 유용하다는 것을 알게 될 것입니다. 당신이 당신의 전화에 잘못된 손에 떨어지고 싶지 않은 민감한 정보가 있다면, FDE는 신의 선물입니다. 누군가 데이터에 들어가려면 장치 비밀번호를 알아야합니다. 와이어를 조금만 더 들여다 보면 침입 할 수 없으며 강력한 암호를 사용하면 몇 가지 잘못된 추측으로 모든 것이 잠기므로 데이터가 안전합니다.

다른 사람들에게는 표준 잠금 화면 보안만으로 충분합니다. 휴대 전화를 분실하면 Android 기기 관리자 또는 다른 유틸리티를 통해 원격으로 휴대 전화를 초기화 할 수 있으며, 휴대 전화를 초기화하기 전에 누군가 오프라인 상태가되면 잠금 화면 비밀번호 (발생할 수 있음)를 우회 할 수있는 행운을 얻습니다. get은 비밀번호를 빠르게 변경할 수있는 몇 가지 사진과 Google 계정 액세스입니다.

고려해야 할 정부 스누핑 문제도 있습니다. 우리 대부분은 전화에 저장 한 결과에 대해 어떤 결과를 두려워 할 이유가 없지만 개인 데이터와 관련하여 여전히 약간의 개인 정보 보호 및 보호가 필요합니다. 전체 디스크 암호화는 데이터를 볼 필요가 있다고 생각하는 정부 기관으로부터 데이터를 안전하게 유지하는 데 도움이됩니다.

완전한 장치 암호화가 필요한지 여부 만 알 수 있습니다.