发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

Tink:用于 GCP、安卓和 iOS 的谷歌加密软件库

  • 2018-09-10
  • 本文字数:1122 字

    阅读完需:约 4 分钟

Tink 是由一些谷歌加密工程师和安全工程师开发的一种多语言的、跨平台的加密软件库,意在帮助开发人员无需成为加密专家就可以正确地实现加密。经过最近两年的开发, 1.2 版本中添加了对 GCP、安卓和 iOS 平台以及 C++ 和 Objective-C 的支持

Tink 源自于另一个谷歌的项目。该项目意在加固加密软件库应对偏斜随机数(biased nonces)、无效曲线(invalid curves)等已知攻击,并确保DSA、RSA、AES-EAX 等广为使用的加密算法给出正常的行为。基于该项目的经验,谷歌工程师着手创建了这个新的软件库,目标是提供易于正确使用并难以误用的安全API。例如,为防止出现可导致加密算法安全性降低的随机数重用问题,Tink 不允许用户传递随机数。同时,Tink 努力使其提供的每个API 都有尽可能明确的安全保证。例如,如果一个特定的操作对选择密文攻击(chosen-ciphertext attack)是安全的,那么该保证会显示在接口上,并且实现该操作所用的每个原语都必须满足同一保证。

Tink 当前提供四种加密操作。每种操作都是由特定的原语实现的:

  • 对相关联数据经认证的加密。(原语:AEAD)。
  • 消息认证代码(原语:MAC)。
  • 数字签名(原语:PublicKeySign 和 PublicKeyVerify)
  • 混合加密(原语:HybridEncrypt 和 HybridDecrypt)。

每个操作都有一组关联的最小属性,并具有一个保证。一个原语可以有多种实现,用户通过实例化相应类型的密钥选择具体使用的实现。例如,下面的代码使用 AEAD 原语实现 AES-EAX 加密文本:

复制代码
import com.google.crypto.tink.Aead;
import com.google.crypto.tink.KeysetHandle;
import com.google.crypto.tink.aead.AeadFactory;
import com.google.crypto.tink.aead.AeadKeyTemplates;
// 1. 生成密钥。
KeysetHandle keysetHandle = KeysetHandle.generateNew(
AeadKeyTemplates.AES256_EAX);
// 2. 获取原语。
Aead aead = AeadFactory.getPrimitive(keysetHandle);
// 3. 使用原语。
byte[] plaintext = ...;
byte[] additionalData = ...;
byte[] ciphertext = aead.encrypt(plaintext, additionalData);

除了加密操作,Tink 还提供对密码管理的支持,包括密钥版本管理、密钥旋转,以及支持远程密钥管理系统(KMS,key management system)。当前,Tink 支持下列 KMS: - Google Cloud KMS。

  • Amazon KMS。
  • Android Keystore。
  • Apple iOS KeyChain(计划中)。

Tink 当前支持 Java、C++ 和 Objective-C。意向于2018 年12 月发布的1.3 版本将提供对C#、Go 和JavaScript/Node 的支持。

尽管Tink 并非受谷歌官方支持的产品,但是它已经用于一些谷歌产品,其中包括AdMob、Google Pay、Google Assistant、Firebase 和Search API 等。

查看英文原文: Tink is Google Cryptographic Library for the Cloud, Android, and iOS

2018-09-10 08:072675
用户头像

发布了 391 篇内容, 共 125.9 次阅读, 收获喜欢 255 次。

关注

评论

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

Vue 发布 3.4 「灌篮高手」版本

南城FE

JavaScript Vue 前端开发

Solana主流钱包盘点和评测:Phantom,Bitget钱包,Ledger等

股市老人

AI大模型引领数智未来

坚果

坚果派

解密2023年云原生的安全优化升级,告别高危漏洞、与数据泄露说“再见”(安全管控篇)

洛神灬殇

云原生 安全技术 开源安全技术与实践 #技术人的2023总结 火山引擎开发者社区

Pytorch和CUDA版本对应关系

百度搜索:蓝易云

Linux nvidia 运维 PyTorch cuda

运用AI技术实现农作物现代化管理

金铲铲的科学猫

Navicat Premium 16(数据库开发工具)v16.1.6 中文版下载

影影绰绰一往直前

BMF:高效视频处理的开源多媒体框架

不会算法。

深入了解WebRTC:实现实时音视频通信的关键技术和应用场景

熬夜磕代码、

Farewell to Pika, Embracing the Arrival of PikiwiDB in 2024

apache/dubbo-go

SketchUp Pro 2023 草图大师 v23.1.340 (x64)特别版下载

影影绰绰一往直前

Maxon Cinema 4D 2024(C4D 2024)v2024.1.0 (x64)特别版

影影绰绰一往直前

JetBrains GoLand 2023 v2023.3.2 激活版

影影绰绰一往直前

Adobe Lightroom Classic 2023(LrC2023)v12.5.0.1 (x64) 直装版

影影绰绰一往直前

强大的数据恢复推荐:Aiseesoft Data Recovery中文最新

mac大玩家j

数据恢复软件 Mac软件 恢复数据软件

4K Video Downloader(高清视频下载软件)特别版下载

iMac小白

Solana主流钱包盘点和评测:Phantom,Bitget钱包,Ledger等

大瞿科技

Web3的未来:DePIN项目引领物理基础设施的去中心化革命

TechubNews

IBM SPSS Statistics 26 (spss统计软件)中文特别版

影影绰绰一往直前

W10 Digital Activation win10激活工具 win11激活

影影绰绰一往直前

StartAllBack(win11开始菜单增强工具)特别版下载

iMac小白

Adobe Audition 2023(Au2023) 中文直装版

影影绰绰一往直前

如何使用C语言进行并发编程?

百度搜索:蓝易云

Linux 运维 C语言 posix pthread

Ableton Live Suite 11(音乐创作软件)v11.3.11 (x64)中文特别版

影影绰绰一往直前

Solana主流钱包盘点和评测:Phantom,Bitget钱包,Ledger等

石头财经

Adobe Substance 3D Painter(pt3D绘画软件)激活版

iMac小白

想在DataGrip里写SQL般丝滑的写FlinkSQL?安装它就完事儿了

泊浮目

vscode FlinkSQL 提高效率 效能提升

多功能屏幕录像机:Mac FoneLab Screen Recorder 激活中文

胖墩儿不胖y

录屏工具 Mac软件 屏幕录屏软件

Solana主流钱包盘点和评测:Phantom,Bitget钱包,Ledger等

EOSdreamer111

JetBrains PyCharm 2023 v2023.3.2 激活版下载

影影绰绰一往直前

Solana主流钱包盘点和评测:Phantom,Bitget钱包,Ledger等

BlockChain先知

Tink:用于GCP、安卓和iOS的谷歌加密软件库_Java_Sergio De Simone_InfoQ精选文章