java - 何时不使用两种方式的 SSL 认证验证
问题描述
我有一个基于 Java 的后端应用程序,它只执行读取操作。后端的工作方式是用户放置一个客户唯一标识符,然后从该 ID 返回客户的信息。此后端应用程序仅由公司内部团队调用。这让我想问什么时候不使用SSL认证验证?仅由公司内部团队调用的此应用程序是否需要双向 SSL 认证?
解决方案
这与Java无关。并且高度取决于贵公司的安全策略。
如果客户信息在公司内部是公开的,则根本不需要身份验证。如果不是公开的,则需要身份验证。(因此您的后端可以检查用户是否有权查看该信息)
通常,贵公司会根据其机密性分类规定访问信息所需的安全等级。
更新我想到的几个原因(使用或不使用 SSL)
不使用 SSL 的唯一原因(例如“强烈尝试避免它”)是
- 如果您有一个高度依赖速度(实时)的通信,并且希望不惜一切代价避免这种开销
使用它的理由(现在你应该至少使用 HTTPS)
- 这样,浏览器就知道它在和谁说话(避免中间人)
- 这样传输就被加密了(有人可能在线上安装了监听器)
使用身份验证和检查用户是否被授权的原因:
- 将来,数据分类可能会发生变化(例如,并非所有员工都可以看到该数据)=> 届时无需更改应用程序,只需更改权限分配。
PS:再补充一件事:
- 身份验证方法(基本与客户端证书与其他方法)仍将取决于用例和机密性分类
推荐阅读
- python-3.x - 在 Django 中构建表单时,使用一个“胖”模型来包含多个表单的所有字段是一种好习惯吗?
- go - 将结构组合传递给函数
- python - 如何为 matplotlib 安装草书字体:找不到字体系列 ['cursive']
- javascript - 当搜索字符串在 typescript/javascript 中包含通配符时搜索数组?
- spring-boot - Spring Boot 应用程序未使用 application-test.properties 中定义的 DB 驱动程序
- javascript - 如何设置div的原点?
- javascript - socket.io 3.0 根据用户显示不同的房间视图/模板
- javascript - 在 JS 中切换...大小写
- python - 如何计算两个不同能力的玩家在 PARS 壁球比赛中获胜的概率?(Python)
- java - 根据作为参数传递的标志执行各种操作的设计模式