作者:禅与计算机程序设计艺术
1.简介
2020年是微服务领域一个重要的分水岭,随着云计算、容器化技术的普及,大量微服务应用开始向云平台迁移,同时也带来了新的安全风险。微服务的架构模式使得系统被切割成多个独立服务,它们之间需要进行密集通信,这就给攻击者提供了一个便利的攻击点。传统的单体架构已经无法满足微服务架构的需求了。安全防护面临着重构的困境,而HashiCorp Vault则可以帮助我们解决这个问题。本文将讨论微服务环境下的服务间认证机制——基于Hashicorp Vault实现服务间密钥共享和数据一致性保障。文章中使用的技术包括docker,Vault,Consul,Golang等。
2.基本概念术语说明
2.1 服务间身份验证(Service-to-service authentication)
服务间身份验证是指两个服务之间的相互认证,目的是保证彼此之间的通信内容完整性和真实性。微服务架构下服务的拆分使得通信复杂度增加,如何确保不同服务之间的通信内容安全是当前面临的主要问题之一。服务间身份验证通常采用共享密钥的方式,其中服务发送请求时会将自己的私钥签名并包含在请求中,接收方收到请求后可以使用公钥对签名进行校验,从而确定请求是否合法。