차례:
최종 Android Nougat 기능 및 API에 대한 정보로 2016 년 8 월 13 일에 업데이트되었습니다.
Android N에는 많은 코드 변경 사항이 있습니다. 새 알림과 같이 일부는 볼 수 있지만 다른 부분은 볼 수 없습니다 (아직 큰 문제는 아닙니다). 우리는 모든 업데이트에서 똑같은 것을 본다. 인터페이스에는 개선 사항과 변경 사항이 있지만 안드로이드 조정을 개선하고 안전하게 수행하기 위해 변경 사항과 변경 사항이 적용되었습니다.
Google은 소수의 다른 영역에서 Android Nougat의 보안을 개선했습니다. 일부는 Android 자체를 강화하도록 설계되었으며 다른 일부는 개발자가 사용할 수있는 도구이므로 앱을 설치할 때 그대로 유지됩니다. 변경 사항을 살펴 보겠습니다.
원활한 업데이트
Google은 이미 Chrome OS에서 '완벽한 업데이트'를 수행하며 실제로 잘 작동합니다. 안드로이드에서도 상황이 매우 비슷합니다.
완벽한 업데이트는 두 개의 별도 시스템 파티션을 사용합니다. 그중 하나는 매일 휴대 전화를 사용할 때 실행중인 시스템입니다. 업데이트 시간이되면 다른 시스템 파티션이 변경 및 업데이트되며 다음에 재부팅 할 때 자동으로 전환됩니다. 다음에 업데이트가 있으면 다른 시스템 파티션이 변경되고 다시 전환합니다.
: Android 7.0: 완벽한 업데이트 란 무엇이며 어떻게 작동합니까?
즉, 작업 중이거나 연주하는 동안 작업을 수행 할 수 있으며 작업이 완료되면 정상적으로 재부팅하면됩니다. 당신은 놀랐을 것입니다 (내가 들었을 때). 꽤 많은 사람들이 시간이 걸리기 때문에 휴대 전화를 업데이트하지 않습니다. 그들은 한 번 해본 다음 그곳에 앉아서 다시는하지 않기로 결정했습니다. 알림을 쉽게 해제 할 수 있습니다. 그러나 "앱 업데이트"대화 상자를 보면서 절차를 변경하고 업데이트를보다 쉽게하고 끔찍한 대기 시간을 제거함으로써 더 많은 사람들이 그렇게 할 것입니다.
네트워크 보안 구성
네트워크 보안 구성을 통해 앱 개발자는 시스템 수준 변경을 요청하는 대신 네트워크 보안 설정을위한 사용자 지정 구성 파일을 만들고 사용할 수 있습니다. 구성 파일은 앱 자체를 수정하지 않고 변경하고 장치 대신 사용자 지정 인증 기관을 사용하도록 설정할 수 있습니다. 기본값이며 시스템에서 신뢰하는 일부 또는 모든 CA를 무시하도록 설정할 수도 있습니다. 이는 자체 서명 된 CA가있는 호스트 (엔터프라이즈 앱과 같은 경우) 또는 특정 CA 만 신뢰해야하는 앱에 연결하는 데 중요합니다.
또한 일반 텍스트 네트워크 트래픽을 옵트 아웃하고 HTTPS 프로토콜을 사용하여 암호화 된 통신을 강제 실행하도록 구성을 설정할 수 있습니다. 네트워크 관리자이거나 네트워크 앱을 개발하는 경우 이러한 변경의 중요성을 알고 있습니다. 우리 중 나머지 사람들은 개발하기 쉬운 앱에서 더 안전한 네트워크 트래픽을 가질 수 있다는 사실에 만족할 수 있습니다.
미디어 서버 강화
Stagefright를 기억하십니까? 많은 미디어에 의해 비율이 맞지 않았지만 하이퍼 볼 뒤에 숨겨진 실제 문제가있었습니다. 미디어 파일을 재생하고 강제로 재부팅하거나 모든 오디오를 잃어 버릴 수있는 능력은 매우 어려운 문제이며 이론 상으로는 루트 권한을 비밀리에 얻는 데 사용될 수 있다는 사실은 훨씬 더 무섭습니다. Google은 매우 진지하게 생각하며 매월 미디어 서버 라이브러리에 패치를 제공하여 버그와 보안 문제를 해결하려고 노력합니다.
Android N에서는 미디어 서버가 대대적으로 개선되었습니다. Google은 미디어 서버를 WebView 구성 요소와 마찬가지로 전체 시스템 업데이트 외부에서 업데이트 할 수있는 더 작은 구성 요소로 나누었습니다. 즉, 새 패치가 있으면 휴대 전화를 만든 사람이 패치를 보내겠다고 결정하기까지 6 개월 이상 기다리지 않고 Google Play에서 업데이트를받을 수 있습니다.
또한 미디어 서버의 권한 모델을 변경하여 더 이상 전체 시스템 권한을 부여하지 않습니다. 낮은 권한으로 실행하면 미디어 서버에 들어가면 누구나 시스템에 침입하기가 더 어려워집니다. 이것은 중대한 변화이며, 안드로이드 전화 해킹 (나쁜 종류의 해킹)을 예전보다 훨씬 어렵게 만들 것입니다.
주요 증명
키 증명을 통해 개발자는 앱에서 사용중인 키가 소프트웨어가 아닌 휴대 전화의 하드웨어 지원 키 저장소에 유효하고 저장되어 있는지 확인할 수 있습니다. 증명 도구에 키에 대해 생성 된 별명이 주어지면 (실제 키를 공유해서는 안 됨) 키를 확인하는 데 사용할 수있는 인증서 체인을 생성합니다. 개발자는 키와 확인 된 부팅 상태를 모두 확인하여 모든 것이 유효한지 확인할 수 있습니다.
Android N과 함께 제공되고 Google 서비스를 사용하는 휴대 전화에는 Google에서 루트 (또는 기본) 권한으로 발급 한 인증서가 있으며 업그레이드 된 다른 휴대 전화에는 해당 회사에서 발급 한 인증서가 필요합니다.
Android N을 실행할 수있는 모든 전화가 암호화 키를 저장하는 신뢰할 수있는 하드웨어 환경을 가지고있는 것은 아니며, 이 경우 소프트웨어 레벨 키 증명이 대신 사용됩니다. 시스템 소프트웨어가 변경되지 않았는지 확인 된 부팅 상태를 여전히 확인할 수 있습니다. 예, 개발자가 루트를 확인할 수 있음을 의미합니다. 휴대 전화를 근절 한 사용자에게는 과도한 벌금이 부과되지 않는 것이 좋습니다.
파일 레벨 암호화
이전에는 Android에서 블록 수준 암호화를 사용하여 전체 파티션 또는 저장 장치를 한 번에 암호화했습니다. 이것은 매우 안전한 암호화 방법이었으며 실제 토큰을 저장소와 하드웨어에 보관하는 것은 올바른 암호 또는 PIN을 사용하는 유일한 방법을 의미했습니다. Android N에서는 파일 수준 암호화로 변경되었습니다.
Direct Boot는 파일 수준 암호화와 함께 작동하여 보안 성과 보안 성을 모두 제공합니다.
암호화 된 Android 장치가 부팅되거나 주머니에서 재부팅되면 장치가 암호화되어 잠 깁니다. 특정 응용 프로그램 만 실행할 수 있으며이를 직접 부팅 모드라고합니다. 그것은 여전히 전화를 받거나 알람이 울리거나 메시지 알림을 볼 수 있지만 더 많은 일을하려면 장치의 잠금을 해제하고 암호를 해독해야합니다. 잠금이 해제되면 N은 파일 수준 암호화를 사용하여 우리 (사용자)와 응용 프로그램이 데이터가 잠기는 방식을 조금 더 제어 할 수있게합니다.
여기에는 두 가지 장점이 있습니다. FDE (블록 계층 전체 디스크 암호화)는 로우 엔드 장치의 성능을 저하시킵니다. Google은 Nexus 6을 올바르게 사용하기 위해 몇 번의 노력을 기울였으며 50MB / s 미만의 읽기 및 쓰기 플래시 스토리지 하드웨어를 사용하는 모든 기기는 여전히 어려움을 겪고 있습니다. 두 번째 (더 중요한) 장점은 Associated D ata (AEAD)와의 인증 된 암호화를 위해 파일 레벨 암호화를 사용한다는 것입니다. AEAD는 권한이없는 사용자 나 응용 프로그램이 액세스하기 어려운 데이터를 의미합니다. AEAD에 관심이있는 사람들을 위해 UC Davis 교수 필립로가 웨이 (Phillip Rogaway) (. pdf 파일)가 읽어 보았습니다.
이처럼 다 계층 암호화 방식을 사용하면 예산이 매우 저렴한 Android를 제작하는 회사는 성능 저하없이 암호화를 제공 할 수 있습니다.
직접 부팅
파일 수준 암호화는 직접 부팅 기능으로 더 잘 작동합니다. 직접 부팅은 개발자가 활용할 수있는 새로운 모드를 제공하므로 사용자가 전화를 잠금 해제하거나 암호를 해독 할 때까지 기다리지 않고 시스템에 전원을 공급하자마자 앱을 실행할 수 있습니다.
이는 새로운 장치 저장소 영역과 함께 이루어지며 Direct Boot를 사용하는 앱은 일반 자격 증명으로 보호 된 파일 시스템 및 개별적으로 암호화 된 파일 또는 디렉토리와 상호 작용하지 않습니다.
: Android 7.0: Direct Boot 란 무엇이며 경험이 어떻게 향상됩니까?
범위가 지정된 디렉토리 액세스
범위가 지정된 디렉터리 액세스는 앱이 외부 저장소의 특정 디렉터리에 액세스 할 수있는 권한을 얻는 방법입니다 (외부 저장소는 시스템 외부의 파티션이며 전화의 저장소와 SD 카드 또는 기타 연결된 저장소 장치를 모두 포함 함). 전체 볼륨에 대한 권한 또는 팝업 창을 사용하여 폴더 권한을 요청하십시오.
저장된 데이터에 안전하게 액세스하는 것이 중요합니다. Music 또는 Photos 저장 폴더에만 액세스해야하는 응용 프로그램은 다른 것을 보지 않아야하며 기존 Storage Access Framework를 사용하여 작업 범위를 좁히기위한 코드를 작성하면 많은 개발자가 거부하는 것으로 입증되었습니다. 새로운 Scoped Directory Access API를 사용하면 개발자가 데이터를 안전하게 보호하고 보호하는 앱을보다 쉽게 구축 할 수 있습니다.
이러한 중요한 보안 기능은 Android N의 큰 부분입니다. 일부 휴대 전화 (특히 Nougat와 함께 제공되지 않는 휴대 전화)에서는 일부 휴대 전화를 사용하지 않을 수 있지만 각 휴대 전화가 제대로 사용되면 데이터를 보호하는 데 도움이됩니다. 안드로이드는 성숙해졌으며 7.0에서 Google이 보여주는 세부 사항에 대한 관심은 새로운 이모티콘이나 새로운 색 구성표만큼 화려하지는 않지만 훨씬 더 중요합니다.