1 00:00:01,020 --> 00:00:06,000 Welcome to the third part of Android security structure, in this lecture, we will talk about encryption 2 00:00:06,150 --> 00:00:09,490 and specifically encryption at rest right now. 3 00:00:09,510 --> 00:00:12,100 Android version 5.0 and later. 4 00:00:12,120 --> 00:00:18,810 So for quite some time, they actually supports full disk encryption and then from Android seven data 5 00:00:18,960 --> 00:00:25,530 and later it actually supports Flyte based encryption as well and basically favors encryption, allows 6 00:00:25,530 --> 00:00:31,320 different files to be encrypted with different keys that can be used to decrypt or decrypted or unlogged 7 00:00:31,320 --> 00:00:32,250 independently. 8 00:00:32,290 --> 00:00:36,440 OK, another thing that I want to cover here is the application signing. 9 00:00:36,450 --> 00:00:42,360 So application signing allows developers to identify the author of the application so that the user 10 00:00:42,360 --> 00:00:47,700 knows that the application is actually legitimate and also to update their application without creating 11 00:00:47,700 --> 00:00:49,890 complicated interfaces or permissions. 12 00:00:49,890 --> 00:00:56,010 Right now, every application that is run on the Android platform by default must be signed by the developer. 13 00:00:56,220 --> 00:01:01,710 So if you wrote it and you go to some other stores, that's definitely a very different applications 14 00:01:01,710 --> 00:01:07,470 that actually attempt the story without being signed by default are rejected by either Google Play or 15 00:01:07,470 --> 00:01:11,190 the package installer on the Android device now on Google Play. 16 00:01:11,220 --> 00:01:17,100 Developers know their application is actually provided by them or modified by them, and the developers 17 00:01:17,100 --> 00:01:20,610 actually can be held accountable for the behavior of the application. 18 00:01:20,890 --> 00:01:24,600 But of course, if it's modified, then all bets are off. 19 00:01:24,600 --> 00:01:31,050 Right now on Android applications, I think is the first step to placing an application in its application 20 00:01:31,050 --> 00:01:31,750 sandbox. 21 00:01:31,770 --> 00:01:38,250 OK, the sign applications are difficult to define video that it is actually associated with video applications 22 00:01:38,250 --> 00:01:41,650 and then different applications run under a different user I.D.. 23 00:01:41,670 --> 00:01:47,580 Now, application signing ensures that one application cannot access another application except through 24 00:01:47,580 --> 00:01:48,970 a well-defined IPC. 25 00:01:49,470 --> 00:01:54,750 Now, when an application or a bigger files, basically applications are a bigger file than ever. 26 00:01:54,750 --> 00:01:57,170 These are installed on an Android device. 27 00:01:57,180 --> 00:02:03,000 The package manager is the entity that actually verifies that the EPICA has been properly signed on 28 00:02:03,000 --> 00:02:05,750 with the certificate included in the applicant. 29 00:02:06,060 --> 00:02:12,390 If the certificate or more accurately, the actual publicly in a certificate matches the key that is 30 00:02:12,390 --> 00:02:19,290 actually used to sign any other APJ in a device, then UAP actually has the option to specify the manifest 31 00:02:19,320 --> 00:02:21,960 that it will actually share a user I.D. with other. 32 00:02:21,960 --> 00:02:28,320 Similarly, sign it, because right now applications can be signed by a third party, OEM or any other 33 00:02:28,320 --> 00:02:29,730 type of marketplaces. 34 00:02:29,730 --> 00:02:35,760 In a lot of cases, actually, some enterprises may have their own app, so they have a different market 35 00:02:35,760 --> 00:02:41,460 will get it not only because the device has been routed and you want to get a free game from some other 36 00:02:41,460 --> 00:02:41,880 market. 37 00:02:42,030 --> 00:02:47,760 But in some cases, actually there are some legitimate stores that are alternate markets that applications 38 00:02:47,760 --> 00:02:53,160 actually need to be signed and those are actually signed with a third party or selfsame certificate. 39 00:02:53,310 --> 00:02:58,260 Now, applications do not have to be signed by a central authority, and Android currently does not 40 00:02:58,260 --> 00:03:02,190 perform any certificate authority verification for application certificates. 41 00:03:02,400 --> 00:03:08,460 And that can be actually huge in the case of security, because it may actually lead to a security compromise 42 00:03:08,460 --> 00:03:10,640 if you don't verify the CEO verification. 43 00:03:11,070 --> 00:03:16,290 Of course, it's a little bit different to skill whenever you provide the operating system and you have 44 00:03:16,290 --> 00:03:21,840 many different implementers in comparison to, let's say, Apple, that they actually control all the 45 00:03:21,840 --> 00:03:22,440 devices. 46 00:03:22,440 --> 00:03:26,190 And it's not like Apple uses running in other vendors hardware.