V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  mightybruce  ›  全部回复第 1 页 / 共 20 页
回复总数  390
1  2  3  4  5  6  7  8  9  10 ... 20  
历史上这种自作聪明在安全体系里面加这些还有自我设计安全协议的,都是非常非常可笑的。

密码学和网络安全协议设计是非常非常严谨的学科, 协议每一步都需要经得住逻辑验证,甚至有了专门的形式化验证工具比如 BAN logic 。在下面链接里介绍一下长达几十年没有发现逻辑问题的协议 Needham-Schroeder 协议和后续修复,因为这个分析实在太长了,很多人也不会看

https://codelife.me/blog/2013/06/13/needham-schroeder-protocol/


建议详细读一下这本不错的安全著作,不要自作聪明,画蛇添足。
Protocols for Authentication and Key Establishment
Book by Anish Mathuria and Colin Boyd
身份认证体系
1 、基于密码的认证
也称为基于知识的身份验证,基于密码的身份验证依赖于用户名和密码或 PIN 。密码是最常见的身份验证方法,任何登录过计算机的人都知道如何使用密码。

2 、双因素/多因素身份验证
双重身份验证(2FA)要求用户提供除密码之外的至少一个附加身份验证因素。MFA 需要两个或多个因素。其他因素可以是本文提及的其他身份验证类型或通过文本或电子邮件发送给用户的一次性密码。“多因素”的涵义还包括带外身份验证,其中涉及第二个因素与原始设备位于不同的通道上,以减轻中间人攻击。这种身份验证类型增强了帐户的安全性,因为攻击者需要的不仅仅是访问凭据。

3 、生物特征认证
生物识别技术使用用户自身生物特征进行验证,较少依赖容易被盗的秘密(例如密码口令)来验证用户是否确实拥有帐户。生物识别身份也是唯一的,这使得破解帐户变得更加困难。

4 、单点登录
单点登录(SSO)使员工能够使用一组凭据访问多个应用程序或网站。用户拥有身份提供者(IdP)的帐户,该身份提供者是应用程序(服务提供者)的可信来源。服务提供商不保存密码。IdP 通过用户通过它验证的 cookie 或令牌告诉站点或应用程序。

5.基于令牌的认证
令牌身份验证使用户能够使用物理设备(例如智能手机、安全密钥或智能卡)登录帐户。它可以用作 MFA 的一部分或提供无密码体验。使用基于令牌的身份验证,用户在预定的时间段内验证一次凭据,以减少持续登录。

6. 基于证书的认证
证书身份验证使用证书颁发机构颁发的数字证书和公钥加密来验证用户身份。证书存储身份信息和公钥,而用户拥有虚拟存储的私钥。

在一些登录系统需要提供提供预先协商好生成的 x.509 证书就是

流行的身份验证方法协议

Kerberos

OpenID

LDAP
首先,你说的密码是身份认证和资源授权相关,不是加密

身份认证体系有哪些,我这里列举一下


那个知乎链接中对中间人攻击其实一点都不懂, 不了解 TLS 如何工作, 干的事情也是脱裤子放屁

我要再次强调一下任何加密没有安全认证和解决身份和信任问题都是可笑的。
赞同 ZE3kr 所说, 是这么回事。

这个问题要展开可以看看知乎密码学博士的回答吧
https://www.zhihu.com/question/20306241
8 小时 32 分钟前
回复了 rambo92 创建的主题 程序员 请 [吸词] 的作者出来解释一下密码明文传输的问题
有同学说服务之间调用和日志会暴露信息,可以了解一下服务网格的零信任安全是怎么做的,现在欧美很多大厂要求微服务使用 mTLS 来保证通信安全。
8 小时 58 分钟前
回复了 rambo92 创建的主题 程序员 请 [吸词] 的作者出来解释一下密码明文传输的问题
说实话,除了不想让服务端或这个服务商获取信息外需要再次在内容加密外,我真的看不出有必要,也就是端到端加密这种才需要再次对信息内容加密,


密码学本身对于大多数程序员实在太过遥远,这门专业的领域谷歌等大公司在具体业务方面有时候都能爆出问题,就不要说普通程序员的理解了。
有很多算法是根本不需要密码这种体系的,但是成本高实现起来也难,就说几个吧
1.基于身份的加密体系 IBE 可以做到不依赖公钥基础设施 PKI 来保证安全
2. 同态加密, 加密信息搜索以及各种之上的运算能达到明文的效果,可以确保隐私数据没有任何人能看到
3. 谷歌的零信任安全项目 beyondcorp 的系列论文
15 小时 49 分钟前
回复了 zhao8681286 创建的主题 程序员 你是开发,你看到这个需求会咋办?
这个是标准的规则引擎实现的, 然后运营和营销人员只要添加一些规则就能实现这些效果,本身不是开发写死的呦

这些规则也往往鼠标在 GUI 界面上点点就能搞定

比如 java 的 drools 例子
https://www.cnblogs.com/binyue/p/17428268.html
7 天前
回复了 1800x 创建的主题 Go 编程语言 有没有轻量级分布式消息队列
nanomsg 有好几种语言的实现,原来是为了进入 linux 内核,把 zeromq 用 C 改写了,现在也有纯 go 语言实现。
https://github.com/nanomsg/mangos
7 天前
回复了 1800x 创建的主题 Go 编程语言 有没有轻量级分布式消息队列
1.云原生 nats.io
2.redis stream
3. 自己用消息中间件 zeromq 或 nanomsg 自己封装一下想有什么功能就有什么功能。
zeromq 几乎有所有流行语言的库
12 天前
回复了 coderMonkey 创建的主题 OpenAI AI 关于字符串回答总是错误的问题
出这种蠢的问题,意义何在?为了显示比 AI 聪明?
这个调用一下函数库就能得到结果,还不如让 AI agent 根据自然语言生成相应的函数调用回答准确。
如果是一些计划任务,建议用 k8s 的 cronjob 来处理
业务代码角度
任务状态和任务信息保存在 DB 中, 修改代码逻辑,在服务里面加一些请求处理,服务增加优雅关闭处理,能够处理 sigterm 的信号。

从 k8s 角度
使用自定义钩子
Deployment 资源支持以下几种钩子:

PostStart 钩子:在容器启动后立即执行。这通常用于执行容器启动后的初始化任务,例如等待其他服务启动、注册服务到服务发现系统等。
PreStop 钩子:在容器关闭之前执行。这通常用于执行容器关闭前的清理任务,例如保存数据、关闭连接、发送信号给其他进程等。

在关闭之前执行一些持久化操作
比如 可以执行一个 HTTP GET 请求 或者 exec 命令,并且它们执行是阻塞的,可以利用这个特性来做优雅停止。

调用 HTTP GET

spec:
contaienrs:
- name: my-container
lifecycle:
preStop:
httpGet:
path: "/stop"
port: 8080
scheme: "HTTP"

修改 terminationGracePeriodSeconds , 将它调整到合适的值,不要过大。
terminationGracePeriodSeconds 等于 服务优雅退出超时时间和 preStopHook 之和
16 天前
回复了 afxcn 创建的主题 Go 编程语言 使用 go 遇到的一个奇怪问题,求教
回答竟然都是竞态并发安全问题, 你们真的是认真的吗
27 天前
回复了 chowdpa02k413 创建的主题 程序员 某五百强信创数据库运维幽默记录
华为的确是关系硬,背后是军工背景,看过油管二爷故事介绍的。
27 天前
回复了 chowdpa02k413 创建的主题 程序员 某五百强信创数据库运维幽默记录
赞同 az467 #40
信创数据库为了方便一体化还自带运维平台,不是通常意义上的单纯数据库。
所以不但有 kafka ,甚至还可能有 redis ,zookeeper ,es 等等一堆东西。
kafka 作为收集事件流和日志的。
查了 gaussdb 的文档,果然要求 ssh, ping 一堆端口
https://support.huawei.com/enterprise/en/doc/EDOC1100345160?currentPartNo=k001&togo=content
27 天前
回复了 Azure99 创建的主题 程序员 分享一下自己训练的大模型
@Azure99 prompt injection attack 科普可以看看这个
https://www.youtube.com/watch?v=jHwHPyWkShk
1  2  3  4  5  6  7  8  9  10 ... 20  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1438 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 23:45 · PVG 07:45 · LAX 16:45 · JFK 19:45
Developed with CodeLauncher
♥ Do have faith in what you're doing.