如何防范 AI 盗取你的密码
现如今,随着人工智能(AI)应用的普及和快速迭代,几乎任何人都可以轻而易举地利用AI进行密码破解之类的攻击。这已经引起了业界的担忧。下面,我将围绕着:密码破解究竟意味着什么,基于AI的密码猜测技术,以及我们该如何保护自己的密码免受此类攻击这三个方面展开讨论。

破解密码意味着什么?
长期以来,密码始终是网络攻击者关注的焦点。他们只需获取密码,就能绕过所有的安全系统,攫取整个系统的相关信息,及其存储在其中的所有数据。
让我们先来了解一下与密码破解有关的散列(哈希,hashing)概念。密码散列是一种通过更改原始记录中的数字,来安全地存储用户密码的方法。其过程为:对用户的真实密码(通常为纯文本)进行数学计算处理,以输出固定长度的加密散列值。例如,您在登录某个网站时将密码设置为“secret_password123”,那么该网站的预定义散列函数会根据该输入的数据,生成类似“3a5b9c1d8e7f2b6g”的特定散列输出。换句话说,您在该网站数据库中留存的数据记录将是“3a5b9c1d8e7f2b6g”,而不是“secret_password123”。对此,如果网络攻击者劫持了该网站的数据库,他们就不得不通过计算“3a5b9c1d8e7f2b6g”值,来逆向推导出您的真实密码。然而,散列(哈希)算法的一个特点便是单向性。这会使得密码的破解过程变得相当复杂。不过,随着AI的赋能,黑客如今已可以采用多维度、不同的方法,去尝试着破解真实的散列密码。
AI能够破解密码吗?
凭借人工智能的快速计算、以及处理大型数据集的能力,网络攻击者能够据此,来缩短并破解某些由加密算法保护的密码。其中,最为典型的当属AI在密码破解过程中的学习能力。只要有足够的数据和时间被用来学习特定的加密算法,人工智能模型就能够学会理解和破解加密所用到的数学关系。可见,与普通的试错方法相比,人工智能可以更有效、更快速地破解密码。
除了机器学习,网络攻击者仍然可以借助人工智能,对密码开展暴力破解的攻击方式。此处的暴力破解是指,尝试所有可能的密码组合,以找到正确密码的过程。而人工智能完全可以优化该过程,以减少重复破解密码的尝试次数。
此外,人工智能还可以研究文本语言以及语法,成功地破解出那些基于自然语言的加密密钥。也就是说,利用人工智能的语言模型,网络攻击者可以更加高效地在密码分析中,使用基于频率分析的方式予以破解。
基于AI的密码猜测技术
密码的猜测往往直接涉及到各种数学方法。作为密码学研究领域的一个分支,密码分析最典型的方式莫过于历史上赫赫有名的英格玛密码(Enigma Code)。当然,人工智能也会用到如下以数学为基础的方式:
- 频率分析:它试图通过分析密文中字母或符号的出现频率,来猜测加密密钥或密码。通常,自然语言中的字母有着一定的频率分布规律,而经过加密后的文本字母也会出现类似的频率分布。这种规律的捕捉对于简单的加密算法而言,是特别有效的。
- 差分密码分析:这是发现块密码算法(block cipher algorithms)弱点的理想方法。该分析方法试图通过检查加密算法,在输入和输出之间的差异中,找到所使用的加密密钥。
- 线性和微分密码分析:它涉及到用于分析对称密钥加密算法的数学技术。该技术试图利用加密算法的线性方程、或差分方程,去发现加密密钥。
- 错误分析:在加密算法的实际执行过程中,系统极可能会出现各种潜在的错误,或是暴露出与安全相关的漏洞。该分析试图利用此类错误或漏洞,来伺机获取加密密钥。
- 随机性测试:由于加密算法的安全性主要取决于随机性,因此攻击者可以通过数学方法,来测试确定加密算法中使用到的随机性(其实是基于算法的“伪随机性”),以预测算法的输出结果。
- 特殊算法攻击:利用加密算法的相关知识和深入研究,网络攻击者可以发现某些典型算法的弱点,进而在此基础上开发出专门设计好的攻击方式。
上述密码分析方法不仅能够帮助到网络攻击者,也能够协助密码分析师,来评估正在使用、或已经采用的密钥算法的健壮程度。因此,它们对于密码安全的重要程度,是不言而喻的。
如何加强密码安全,防范人工智能攻击
鉴于网络攻击者可以将人工智能和密码破解技术结合起来发起攻击,普通用户又该如何采取行之有效的措施,来予以应对呢?
使用长而复杂的密码
许多人趋向使用简单的短语作为密码,以方便记忆。素不知,此举也方便了攻击者。对此,我们需要采用足够长的密码(至少12个字符),以应对简单的猜测攻击。
与此同时,密码中必须包含不同类型的字符,如:大、小写字母、数字和特殊字符等。例如,您不应该使用曾被认为神秘难测的“P@ssw0rd”之类的简单密码,而应当使用“Tr#78sF$a24pQ”这样在结构上更为复杂的密码。
如果您担心自己记不住长而复杂的密码的话,请使用一些功能强大的密码管理工具来协助您。当然,笔和纸这种老套的方式,并非毫无使用场景。
为每个平台设置不同的密码
许多人会在不同平台的多个账户中使用相同的密码。这种所谓的“图省事儿”往往潜藏着重大的安全风险。试想,如果网络攻击者获取了您其中一个账户的访问权限,那么他将轻而易举地访问您的其他账户。因此,我们需要通过为每个平台创建不同的密码的方式,来切断账户之间的联系。注意,此处所谓的“账户之间的联系”,不应只是简单地从一个应用的“password_1234”密码,更换为另一个应用的密码--“1235_password”,而是要尽量减少重复字符组合的出现频率。
使用双因素身份验证
双因素身份验证(Two-factor authentication,2FA)可以提供额外的安全保障。除了密码,2FA机制需要向您的手机、电子邮件或其他设备发送一串代码,以完成后续的身份验证。由于此举能够更好地保护您的账户免受恶意攻击,因此请确保您在主动支持 2FA 的平台上启用此项功能。
遵守密码更新和注销政策
定期更改密码有助于防范那些曾被用到过的密码被盗取,而不会波及到现有使用的密码。此外,请养成注销个人资料的习惯。此举将能够避免那些不再使用的设备、应用等在您毫不知情的状态下泄漏出去。
人工智能和网络安全的未来
人工智能技术的发展可谓日新月异。不只是技术专家和软件开发者正在积极探索AI的使用场景,让人类的生活更加轻松;也不乏黑客和恶意攻击者使用AI获取他人的密码,或达到其他不可告人的目的。针对如何防范AI盗取用户密码,希望上述简单实用的规避要点,能够给您提供帮助。
相关文章:
如何防范 AI 盗取你的密码
现如今,随着人工智能(AI)应用的普及和快速迭代,几乎任何人都可以轻而易举地利用AI进行密码破解之类的攻击。这已经引起了业界的担忧。下面,我将围绕着:密码破解究竟意味着什么,基于AI的密码猜测…...
华清远见第六课程作业day3
类 栈 #include <iostream>using namespace std;class Sta{ private:int *data;int top; public:Sta():data(new int(128)){top-1;cout<<"stack::无参构造:"<<endl;}~Sta(){delete data;cout<<"stack::析构函数:"<<this<…...
Rabbitmq配置定义
RabbitMQ 环境变量 RabbitMQ 的环境变量都是以"RABBITMQ_"开头的,可以在Shell 环境中设置,也可以在配置文件中定义。默认的配置文件如下: ## /etc/rabbitmq/rabbitmq-env.conf 定义配置文件: /va/lib/rabbitmq/ 的目…...
2023年数模国赛时间分配
2023年数模国赛时间分配 写在前面赛前准备第一天(9.7 18:00发布题目)第二天(9.8)第三天(9.9)第四天(9.10 20:00提交)总结 写在前面 国赛马上就要开始啦 今年的比赛时间是9月7日&…...
kubernetes(K8S)笔记
文章目录 大佬博客简介K8SDocker VS DockerDockerK8S简介K8S配合docker相比较单纯使用docker 大佬博客 Kubernetes(通常缩写为K8s)是一个用于自动化容器化应用程序部署、管理和扩展的开源容器编排平台。它的构造非常复杂,由多个核心组件和附加…...
vue 部署到本机IIS 部署 SPA 应用
安装 URL Rewrite Works With: IIS 7, IIS 7.5, IIS 8, IIS 8.5, IIS 10 URL Rewrite : The Official Microsoft IIS Site 目前电脑IIS是6版本的,以下的方法不太合适操作。目前用Nginx部署,够用了。 nginx配置参考: uni-app 前面项目&am…...
面试那些事——Java全栈
今年年初因为个人的精神状态和职业方向辞职休息了一段时间,最近重新找了一份开发的工作,还是在太原,在这里分享一下自己的一些面试经验。 面试,面的是什么 我们要知道,目标的就职地行业的需求是什么,目标的…...
LINUX 文件基本管理
一、文件类型和根目录结构 1、文件类型 可以通过 ls -l 或者 ll来查看文件类型 可以根据显示,查看第一个字符,就表示文件类型。 - 字符:普通文件,类似于Windows的记事本。 d 字符:目录文件,类似于Wind…...
一、认识GitHub项目 —— TinyWebServer
认识GitHub项目 —— TinyWebServer 一、前言 这个项目是Linux下C轻量级Web服务器。几乎是想从事C服务器开发方向的同学的必备初始项目了。属于那种,“烂大街”,但是你又不能不会的项目。 对这个项目笔者打算多分几章讲解,帮助刚用GitHub&a…...
66.C++多态与虚函数
目录 1.什么是多态 2.多态的分类 3.对象转型 3.1 向上转型: 3.2 向下转型: 4.虚函数 1.什么是多态 生活中的多态,是指的客观的事物在人脑中的主观体现。例如,在路上看到⼀只哈士奇,你可以看做是哈士奇…...
【ICer的脚本练习】通过perl脚本来检查仿真log的结果
系列的目录说明请见:ICer的脚本练习专栏介绍与全流程目录_尼德兰的喵的博客-CSDN博客 前言 这是一个非常简单的perl脚本示例,展示一下perl语言“极简”的编码习惯。perl是我脚本入门的语言,一度也是最擅长的,但是因为python的强势现在我基本不写perl了。上一个大的perl脚本…...
创邻科技图数据库课程走进一流高校
《图数据库原理和实践》 正式开课! 最近,浙江大学计算机学院新开了一门名为 《图数据库原理和实践》 的新课程,该课程由创邻科技和浙江大学联合推出,吸引了许多学生踊跃参与! 曾为浙大学子的创邻科技CTO周研博士作为…...
RabbtiMQ的安装与在Springboot中的使用!!!
一、安装Erlang与Rabbitmq 安装教程本教程是在centos8下试验的,其实linux系统的都差不多RabbitMQ官方:Messaging that just works — RabbitMQRabbitMQ是开源AMQP实现,服务器端用Erlang语言编写,Python、Ruby、 NET、Java、JMS、c…...
【可定制、转换时间戳】解析nc文件,并保存为csv文件
解析nc文件,并保存为csv文件 写在最前面解析nc文件(代码汇总放最后面)读取nc文件获取气象文件中所有变量解析时间解析部分代码汇总 写入csv文件 写在最前面 愿称之为:支持私人订制、非常完美的版本 参考: 解析部分参…...
介绍串行和并行两种通信方式
前言 参考文章: 串行和并行- CSDN搜索 并行传输和串行传输的区别_金陵大掌柜的博客-CSDN博客 串行和并行介绍 (1)串行和并行是计算机领域中两个重要的概念。串行是指在计算机中,任务按照顺序一个一个执行,每个任务执行…...
优化爬虫效率:利用HTTP代理进行并发请求
网络爬虫作为一种自动化数据采集工具,广泛应用于数据挖掘、信息监测等领域。然而,随着互联网的发展和网站的增多,单个爬虫往往无法满足大规模数据采集的需求。为了提高爬虫的效率和性能,我们需要寻找优化方法。本文将介绍一种利用…...
关于磁盘空间不够,导致报错 springboot内置tomcat相关的临时目录无法创建等问题,如何自定义配置 tomcat 缓存文件路径
问题 关于磁盘空间不够,导致报错 springboot内置tomcat相关的临时目录无法创建等问题,如何自定义配置 tomcat 缓存文件路径 解决方法: shell 脚本命令:(配置自定义缓存路径 java-Djava.io.tmpdir ) tmp…...
Android HAL - hidl-gen
1.hidl-gen的使用 hidl-gen 编译器会将 .hal 文件编译成一组 .h 和 .cpp 文件,这些 自动生成的文件用于编译客户端 / 服务端实现链接到的共享库,同 时也可以生成 Android.bp 编译文件。 1.1 生成的文件 HIDL 软件包中自动生成的文件会关联到与该软件…...
CGAL 数值类型
文章目录 一、简介二、内置数值类型三、CGAL提供的数值类型四、GMP提供的数值类型五、LEDA提供的数值类型六、CORE提供的数值类型七、区间运算参考资料一、简介 数字类型必须满足一定的语法和语义要求,这样它们才能在CGAL代码中成功使用。一般来说,它们被认为是一个代数结构概…...
建站系列(六)--- 后端开发语言
目录 相关系列文章前言一、常见后端开发语言二、PHP三、Java四、Python五、Go 相关系列文章 建站系列(一)— 网站基本常识 建站系列(二)— 域名、IP地址、URL、端口详解 建站系列(三)— 网络协议 建站系列…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
