写点什么

Google 的基础设施安全

  • 2017-02-07
  • 本文字数:1241 字

    阅读完需:约 4 分钟

Google 基础设施在设计时就确保了信息在整个生命周期内都是安全的。这里所说的安全涉及多个层面,包括服务部署、数据存储、进程与进程及外部系统之间的通信,以及运维层面。

物理层

在物理层,安全是通过以下措施确保的:

  • 限制并严格控制对数据中心的访问。
  • 仔细审核组件提供商并审计其组件的安全属性。
  • 服务器和外围设备使用定制芯片以便于识别 Google 的设备。
  • 每次启动或者更新的时候都对 BIOS、引导加载程序、内核以及基础操作系统镜像的加密签名进行验证。

服务部署

在服务级别,Google 并没有为运行在同一基础设施上的服务假定任何信任关系。这对服务的识别、授权,以及数据的隐私和完整性造成了一些重要的影响,包括:

  • 每一个服务都有一个加密了的身份,在进行远程过程调用(RPC)的时候会使用。
  • 服务可以被配置成由经过特定复审、检入、测试和审批的源码构建,从而限制入侵者修改源码的能力。
  • 使用沙箱、硬件虚拟化等隔离技术保护服务不受运行在同一台机器上的其他服务的影响。对于非常敏感的服务,可能会同时使用多种隔离技术,包括将服务独立运行在一台专用设备上。
  • 通过白名单、中央访问控制列表和组数据库对 API 访问进行服务和工程两个级别的限制。
  • 对所有的 RPC 通信应用加密技术。
  • 从一个服务到另一个服务的所有用户级别的请求(例如 Gmail 对通讯录服务的请求)都必须经过一个身份验证流程的处理,该流程会使用用户会话 token 获取临时 token 以用于远程过程调用。

数据存储

Google 在应用程序层和驱动层都使用了加密技术。实际上,在被存储到磁盘之前,Google 还会使用一个提供审计日志、自动化密钥轮替等功能的中央密钥管理服务对数据进行加密。另外,硬盘和 SSD 使用硬件加密,这些设备只有在经过严密的多步擦除处理之后才会被重用。

互联网通信

Google 的基础设施与因特网是隔离的,只有一部分机器暴露到了外部环境中。Google 这一策略的基石是 Google Front End(GFE),它为所有可以通过因特网访问的内部服务提供了注册、发布服务。GFE 会确保 TLS 终止会被正确的处理,强制实施最佳实践,并通过反向代理功能提供拒绝服务(DOS)保护。通过一个专用的中央服务,DOS 保护可以得到非常有效的实施,因为它能够监视所有进入负载均衡器的请求,同时能够命令负载均衡器丢弃或者限制攻击流量。

确保互联网通信安全的一个非常关键的步骤是用户身份验证,对此 Google 是通过一个得到了中央身份服务支持的登陆页面实现的。众所周知的是,Google 的认证并不仅仅局限于用户名和密码,尝试登陆过程中产生的其他所有信息都将作为认证参考,例如使用的设备、地理位置等信息。为了进一步增强安全性,Google 身份验证还支持双重认证。

另外,与 Google 基础设施安全性相关的其他方面还包括运维安全,它决定了软件的创建方式,保护雇员的机器和证书,阻止来自于入侵者以及外部行为的可能威胁。

如果想查看更详细的信息可以查看Google 的Web 网站,该网站给出了一个文档列表分别对相关的具体领域进行了详细的介绍。

查看英文原文 All Google’s Servers Contain Custom Security Silicon

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2017-02-07 18:001624
用户头像

发布了 321 篇内容, 共 115.9 次阅读, 收获喜欢 18 次。

关注

评论

发布
暂无评论
发现更多内容

Android面试题(window、进程、线程篇

android 程序员 移动开发

Android:AsyncTask使用

android 程序员 移动开发

cmake使用教程(九)-关于安卓的交叉编译

android 程序员 移动开发

Cocos2d-x 3(1)

android 程序员 移动开发

Cocos2d-x 3

android 程序员 移动开发

Android面试:IntentService源码分析

android 程序员 移动开发

Dalvik 和 ART 有什么区别?深扒 Android 虚拟机发展史,真相却出乎意料!(1)

android 程序员 移动开发

App怎么做才能永不崩溃

android 程序员 移动开发

APP 热修复都懂了,你会 SDK 热修复吗?最全方案在这里!

android 程序员 移动开发

App基于手机壳颜色换肤?先尝试一下用 KMeans 来提取图像中的主色

android 程序员 移动开发

Bmob后端云+ImageLoader框架实现图文列表

android 程序员 移动开发

Dart _ 浅析dart中库的导入与拆分

android 程序员 移动开发

Android:彻底消灭OOM的实战经验分享(千分之1-5----万分之0-2)

android 程序员 移动开发

Android高频网络面试专题必知必会

android 程序员 移动开发

Android:帧动画和补间动画看这篇就足够了!

android 程序员 移动开发

AOP 最后一块拼图 _ AST 抽象语法树 —— 最轻量级的AOP方法

android 程序员 移动开发

APP终极瘦身方案

android 程序员 移动开发

C语言(二):指针基础

android 程序员 移动开发

DatePickerDialog时间选择器+MVPPlugin开发插件的使用

android 程序员 移动开发

Android题集四大组件之Service

android 程序员 移动开发

Android高级面试题:面试十几家公司入职外企后,掌握这几个关键点面试通过率很大

android 程序员 移动开发

App 金刚区导航菜单,类似淘宝、QQ 音乐等 APP 导航,方格布局横向滑动翻页带滚动条

android 程序员 移动开发

ARouter系列3:继续学习(手写一个Arouter框架)

android 程序员 移动开发

Dagger2在SystemUI中的应用

android 程序员 移动开发

Android面试:一个进程有多少个-Context-对象?看似初级的问题,答的好的人确不多

android 程序员 移动开发

Angular-集成-Typescript-版本-Echarts-(附代码)

android 程序员 移动开发

AsyncTask相关知识

android 程序员 移动开发

BAT资深面试官-带你破解Android高级面试

android 程序员 移动开发

ClassLoader在热修复中的应用

android 程序员 移动开发

Dalvik 和 ART 有什么区别?深扒 Android 虚拟机发展史,真相却出乎意料!

android 程序员 移动开发

Android高级架构师整理面试经历发现?(大厂面经+学习笔记

android 程序员 移动开发

Google的基础设施安全_Google_Sergio De Simone_InfoQ精选文章