新名词,BYOD、MDM、MAM。。。读者根据个人兴趣自己挖掘这些信息。

本文谈论的就是随着智能终端的日益普及,很多智能终端承载了企业应用,那么如何使一部终端更好的承载企业应用和个人信息呢?

三星最近推出的S4给大家一些启发,下面就是三星KNox解决方案的概要!

Samsung KNOX™ is the comprehensive enterprise mobile solution for work and play. With the increasing use of smartphones in businesses, Samsung KNOX addresses the mobile security needs of enterprise IT without invading the privacy of its employees.

那么Knox是如何实现的呢?这正是本文要探讨的!

先看图,再吐槽,不能直接粘贴图片,这还是移动互联网应用吗?CSDN!!!

图好大!逐个解释。

先不说底层如何实现,KNOX把个人和企业进行了有效的分割,有个人模式和企业模式之分。从表面上看,每种模式就是一个不同的Launcher。

想要体验的高富帅就买个S4吧。屌丝男呢?我知道你们存钱不容易,也是给女神留着的。

我给你们的推荐方案就是下载这个软件:https://play.google.com/store/apps/details?id=com.enterproid.divideinstaller&referrer=utm_source%3Ddivide.com%26utm_medium%3Dbutton%26utm_content%3Dheader%26utm_campaign%3Ddividemarket

http://www.divide.com/这个公司出品!

这个软件android、ios都支持,它是在应用层实现了两个Launcher,虽然安全性较差,但也从表面上实现了个人和企业的分离。

下图是S4的效果。

点击切换Button,即可在个人/企业模式来回切换,当然为了安全起见,个人切换到企业模式需要认证。

读者可能会问?弄两个模式就安全了吗?无非就是把应用放到不同的launcher而已?那这样设计的价值到底在哪儿呢?

首先在android上搞安全有个悖论,如何在android的安全性和开放性之间取得平衡。android要想安全,非常简单,那就是封堵好软件入口!

可从目前的现实来看,这是有悖于历史的车轮的,也是广大屌丝不能接受的!你把软件入口控制了,那屌丝下班的时间还能干啥!!!

也就是说,你要做一款畅销的终端,原来的应用模式不能改变,如果你搞了一套安全机制,导致原来的应用不能使用了,或者部分不能使用了。那基本就是垃圾!

可我们换的搞安全啊!!肿么办,这就是Konx的价值所在,先把android进行切割,从上到下,上层表现为不同的launcher,底层对个人/企业域的所有数据进行隔离。

个人域我们不对他进行任何的管制!原来该干嘛干嘛!企业域我们就要加固了,怎么加固,首要的就是控制软件入口,这可是万恶之源啊!

那这儿就有个很大的问题,如何真正的实现个人域和企业域的数据隔离,主要有两种方案:

1、虚拟化解决方案,比较彻底。大家搜一下虚拟化吧

2、就是KNOX采用的机制SEAndroid,SeAndroid的价值就是MAC。其实类似SEAndroid的开源架构很多,大家可以搜搜,SEAndroid只是一种,比较复杂,目前没有成功商用案例,完全可以简化。

来源于百度:

访问控制是指控制对一台计算机或一个网络中的某个资源的访问。没有它,所有人都可以访问任何资源。有了访问控制,用户在获取实际访问资源或进行操作之前,必须通过识别、验证、授权。
<wbr><wbr><wbr><wbr> 换言之,访问控制控制着一个主体(subject)可以访问哪些对象(objects)。主体和对象是访问控制模型和技术中的两个重要术语。主体是指可以授予或拒绝访问某个对象的人或事物,如用户,程序,系统进程。对象的例子如文件、打印机、程序、系统进程等。<br> 访问控制模型<br><wbr><wbr><wbr><wbr> 开发者需要在他们的软件和设备中实现访问控制功能,访问控制模型为之提供了模型。有三种不同的模型:DAC,MAC,和RBAC。<br><br> Discretionary Access Control(DAC)<br><wbr><wbr><wbr><wbr> 主体对它所属的对象和运行的程序拥有全部的控制权。例如,Alice拥有一个叫mywork.doc的文件。她许可Bob和Sales group的成员来读这个文件,除此之外别的人都不可以。改进的DAC实现提供了一个基于“need-to-know”的访问授权的方法,默认拒绝任何人的访问。访问许可必须被显式地赋予访问者。<br><wbr><wbr><wbr><wbr> 被某个用户执行的程序拥有与该用户相同的权限。这意味着系统安全依靠运行的程序,因此,当一个程序中发生安全裂缝,会影响到该用户能访问的所有对象。这使得DAC在特洛伊木马前特别脆弱。例如,假设Alice对文件file1.doc拥有读写权限。Charlie,一个恶意攻击者,写了一个程序,这个程序在执行时生成文件file2.doc.这个程序授予Alice写权限和Charlike读权限。Charlie把这个程序伪装成合法的程序发给 Alice。当Alice运行这个程序是,它就具有了和Alice相同的权限。它可以拷贝file1.doc到file2.doc,这样charlie就窃取了file1.doc的内容。如果一个管理员执行这个程序,攻击者会获取最大的特权,危害整个系统的安全。<br><br> Mandatory Access Control(MAC)<br><wbr><wbr><wbr><wbr> 在MAC这种模型里,管理员管理访问控制。管理员制定策略,用户不能改变它。策略定义了哪个主体能访问哪个对象。这种访问控制模型可以增加安全级别,因为它基于策略,任何没有被显式授权的操作都不能执行。MAC被开发和实现在最重视保密的系统中,如军事系统。主体获得清楚的标记,对象得到分类标记,或称安全级别。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

那么SEAndroid通过MAC机制,通过在内核层的强制访问控制,可以控制那些应用之间可以相互访问,那些应用能访问那些数据。。个人域和企业域的隔离。

即使Root也无可奈何!而且MAC机制对Root也能起到很好的防范作用。建议读者看http://wenku.baidu.com/view/fed9abb569dc5022aaea002d.html。

看看上图,全局读的文件都无法访问,这就是MAC的神奇作用,ROOT 用户照样是屌丝!

有了SEandroid机制以后,个人域和企业域就切割了,个人域大家随便玩,企业域就可以部署企业应用了。个人域和企业域的数据严格隔离,企业老板不用担心企业的敏感数据不会通过个人域泄露,个人域的用户也无需担心企业域的应用会偷窥你的短信!当然这个企业域还可以结合MDM进行深度管理。

MDM课题很大,后续再表。

我现在想说的KNOX提供的不仅仅是个人/企业模式。而是两种模式,至于哪两种,读者自己可以定义。如果是艳照门的早知道这手机,就不会再发生艳照门了。

这种情况的模式就是普通模式/艳照模式。艳照模式里面也有个应用叫照相机,这个照相机很神奇,照出来的照片个人模式可是看不见的!而且在企业模式还是加密的。

有了双模式!!从此艳照算个啥!!!

这儿就引出了KNOX的第二个功能:加密!

企业模式(艳照模式)虽然和个人模式已经进行了隔离,个人模式的木马是无法访问的,但丢了手机肿么办!!!这就是加密!!!提供存储加密和文件加密两种。

存储加密给予Linux DM机制,在内核扇区级透明加密,我们指定一个加密分区,所有在这个分区部署的应用都是透明加密的。密钥就是个人模式和企业模式的切换口令。

只要这个口令保护好,神都解不开!!!!!

还可以外挂硬件加密卡比如TF卡,耳机孔,蓝牙盾。。。android 加密没来得及展开,内容太多了。

第三个KNOX的功能:DLP。。。pc上好熟悉的概念

企业域虽然已经很安全了,可现在很多信息都是内部泄露的,,,那肿么办,,,那就是VPN,通过内核IP重定向保证那些应用的数据流向的严格控制!防止数据泄露。

这个VPN的厉害之处就是通过管理平台控制,从内核控制数据流向!防止软件漏洞(比如应用设置的web地址是白宫地址)导致数据泄露到白宫!

最后简单说一下,通常有了企业域,就会有对企业域的管理平台MDM,

有兴趣的读者看看吧。另外三星的KNOX还有些噱头,比如TIMA(TrustZone-based Integrity Measurement Architecture),给予ARM的TZ。

很多高通的芯片都是TIMA,不过大部分被攻破了。

最后再说一下双域的核心技术:SEAndroid和虚拟化技术的弱点。

SEAndroid的风险就是内核漏洞,现在linux的漏洞大部分在native层,内核的比较少。

虚拟化的就是HypV的漏洞了。。。

写的有点累,这种模式还有很多商业价值,入安全支付等!后续再扯!

android 安全的未来(I)相关推荐

  1. android 安全的未来(II)

    上文android 安全的未来(I)谈到了双域的概念,个人域和企业域分离.其实理解为个人域和企业域之外,还可以理解为普通域/安全域. 普通域随便玩,安全域可以部署一些对安全要求比较高的应用,比如支付宝 ...

  2. android 启动白屏_为什么说Android 架构的未来是 MVVM?

    据<第45次中国互联网络发展状况统计报告>,2019年市场上监测到的APP数量比2018年减少85万款- 这两年,很多朋友都会有这样的疑惑: "现在Android的坑还值不值得入 ...

  3. android应用设计规范,未来的Android应用设计规范应如是

    [慧聪汽车电子网]Material Design设计被认为是未来Android的设计指导方向,AndroidL很好的诠释了Material Design的设计精髓,谷歌希望开发者也会依照Materia ...

  4. 《ArcGIS Runtime SDK for Android开发笔记》——(8)、关于ArcGIS Android开发的未来(“Quartz”版Beta)...

    1.前言 今天再一次在官网看到了ArcGIS Runtime SDK for Android下一个版本"Quartz"版的更新资料,它将是一个非常重要的更新,包括API接口的重构和 ...

  5. 2019年Android开发的未来发展方向该如何走?

    作为一名资深的Android 开发者.从2017年下半年开始,就听到各种言论,例如"Android 开发凉凉"."移动端开发没出路了赶紧转行"."要被 ...

  6. 股市大跌对于IT行业的我们应该如何应对!2020年Android开发的未来发展方向该如何走?

    作者:Android架构 原文链接:https://zhuanlan.zhihu.com/p/64736562 最近这几天基金股市一片绿油油,心拔凉拔凉的.虽然我是一名Android开发者,但是更是一 ...

  7. 谷歌创始人布林:Android和Chrome未来或合并

    据国外媒体报道,谷歌联合创始人谢尔盖-布林(Sergey Brin)称,谷歌手机操作系统Android和桌面电脑操作系统Chrome OS将来可能会合并为一个单独的操作系统. [caption id= ...

  8. Android开发的未来发展方向

    现状 从2010年开始Android市场开始需要大量的Android开发人员,招聘市场上也开始大量招Android开发人员,大量java开发者开始学习Android开发,招聘市场面试要求上只要有一定j ...

  9. Android 开发者的未来在哪里?

    阅读文本大概需要 2.8 分钟. 最近经常有人后台给我留言,说自己是刚工作没多久的 Android 开发者,现在很迷茫,也很焦虑,各种行情表明,移动开发已经不再那么火热,甚至有慢慢退潮的趋势,从昨天发 ...

最新文章

  1. 程序猿惯用口头禅与内心真实 OS,快来看看你中招没?
  2. silverlight 客户端之间的通讯
  3. List 的add()与addAll()的区别
  4. Spring MVC 4.1 支持jsonp
  5. zigbee之SampleApp_ProcessEvent()
  6. 原型图Mockplus:怎样使用图片裁切功能
  7. 浏览器打开php显示空白,pc微信浏览器打开页面显示空白,其他浏览器正常
  8. 教你一秒分辨真假芯片!
  9. 订单编号,递增且不连续(php版)
  10. linux audio A2B
  11. BeautifulSoup库findAll()、find()方法详解
  12. 五大常用算法:贪心算法
  13. 【Python】Python第三方库概览
  14. matlab 三角函数积分,正弦函数与三角函数积分及Matlab编程.doc
  15. java中的方法重载
  16. warning: #188-D: enumerated type mixed with another type
  17. 一文搞懂CSS 3D动画效果
  18. 背后的力量 | 升级电子病历基础架构 华云数据助力华中科技大学同济医学院附属协和医院打造就医新模式
  19. 【微信小程序】圆环进度条
  20. 王健林电商梦为何会是一场噩梦?

热门文章

  1. 8086汇编语言实现8253计时器对时且实时定点显示时间(全注释)
  2. 华为机试HJ32:密码截取
  3. 电大c 语言程序设计程序,中央电大 C语言程序设计A
  4. c语言低级语言分为,认识C语言 -低级语言是什么?
  5. android 代码植入,Android Studio之Debug运行期代码植入的方法
  6. java第八章数组上机,上机题目(初级)- 用数组实现记事本(Java)
  7. c语言利用循环结构解决密码转换,C语言课件第六章循环结构.ppt
  8. 面试必考题:基本95%的面试都会被问到的?
  9. 比较器matlab,用于比较 MATLAB 对象的公共属性的比较器 - MATLAB - MathWorks 中国
  10. 4种实例 advice aop_JAVA动态代理 和 Spring AOP 4种通知的简单实现