- 博客(427)
- 收藏
- 关注
原创 Linux内核学习轨迹第十一部:系统卡顿、负载高的根因分析与优化(第四节)
关键技巧:wchan字段会直接显示进程在内核态阻塞的函数名,比如balance_dirty_pages是脏页回写阻塞、mutex_lock是锁竞争阻塞、blkdev_issue_flush是磁盘IO阻塞,一步定位阻塞根因。系统卡顿、负载过高是生产环境最常见的通用故障,核心痛点是「现象泛化,根因分散」——CPU瓶颈、IO阻塞、内存颠簸、中断风暴、锁竞争都可能导致负载飙升,本小节提供。负载高 + %sy/%soft高,内核态/软中断瓶颈,大概率是中断风暴、系统调用滥用、内存颠簸。
2026-10-23 11:27:57
241
原创 Linux内核学习轨迹第十一部: 内存泄漏、OOM的全链路排查(第三节)
kmemleak是内核内置的内存泄漏检测器,原理是跟踪内核的内存分配与释放,扫描内存中是否还有指向已分配内存的指针,若没有,则判定为内存泄漏,无需修改代码,仅需开启内核配置即可使用。和用户态OOM(Out Of Memory)两大类,核心痛点是「问题缓慢发生,难以复现,定位难度大」,本小节提供全链路的排查流程与工具链,适配Linux 6.6 LTS内核。开启后,内核运行时检测到内存泄漏,会立即输出完整的警告日志、分配与释放的调用栈,直接定位根因。系列托管API,资源生命周期与设备绑定,自动释放;
2026-10-22 11:45:09
347
原创 Linux内核学习轨迹第十一部:死锁、软锁、硬锁的排查与解决(第二节)
锁故障是Linux内核与驱动第二大高频稳定性问题,分为死锁、软锁(soft lockup)、硬锁(hard lockup)三类,这类故障的核心痛点是「系统完全卡死,无日志输出,难以复现和定位」,本小节提供标准化的排查流程与解决方案。lockdep直接明确了死锁的根因:CPU0先拿lock2再拿lock1,CPU1先拿lock1再拿lock2,形成循环等待,必然导致死锁,同时给出了完整的调用栈,可直接定位到代码位置。单个CPU核心占用100%,系统卡顿,可响应NMI中断,内核会输出警告日志与栈回溯。
2026-10-21 09:47:58
275
原创 Linux内核学习轨迹第十一部:内核panic、oops的解析与根因定位(第一节)
kdump是内核原生的崩溃转储机制,内核Panic时会自动启动一个最小的捕获内核,将崩溃内核的完整内存镜像保存到磁盘,重启后可通过crash工具做离线深度分析,适合服务器、工业计算机场景。,覆盖生产环境80%以上的高频故障场景,提供标准化的排查流程、可直接复用的工具命令、根因定位方法与落地方案,彻底解决「故障发生后无思路、无方法、无法复现、无法定位」的核心痛点。pstore是内核原生的持久化存储机制,将崩溃日志保存到预留的物理内存中,重启后可完整读取,无需额外存储设备,是嵌入式平台的首选方案。
2026-10-20 18:09:20
236
原创 Android系统性能瓶颈定位全攻略:四步法+八大维度深度剖析
irq/irq_handler_entry,irq/irq_handler_exit(你设备上irq:*通配符抓不到 exit,必须显式写全)、dma/*、gpiod/*Expected/Actual Timeline、主线程、RenderThread、BufferTX、VsyncWorkDuration(app/sf/appSf)每个 CPU 核心的行、目标线程的状态泳道(Runnable/ Running / Sleeping / Blocked)、全局 Runnable 计数。
2026-10-16 17:09:01
298
原创 Android系统全核调度揭秘:SystemUI响应背后的黑科技
CPU 调度升压:临时提升对应核心的调度优先级/频率,依次对 CPU0/1/2/3 四个核心执行 boost,是前台进程的专属调度加速。利用率钳位计算:计算每个核心的实际 CPU 利用率,配合 boost 设定频率的上下限,确保升压幅度匹配实际负载,避免过度调频。计算 CFS(完全公平调度器)就绪队列的总负载,这里统计的是 CPU3 的队列负载,为后面把线程迁移到 CPU3 运行做依据。重新计算调度实体的负载,把新线程的负载计入 CPU0 的调度队列,更新全局负载平衡。,选了负载更低的核心执行。
2026-10-15 18:08:51
201
原创 CSPRNG安全基石:熵源与nonce唯一性揭秘
随机数是密码安全的基石,其质量直接决定系统可靠性。CSPRNG依赖高质量熵源(如TRNG)播种,确保输出不可预测;而熵不足或种子泄露将导致密钥、nonce、ECDSA临时k等关键参数被破解。实践中应禁用rand(),统一使用RAND_bytes等安全接口。尤其注意GCM/CTR中nonce不可重复,同一密钥下复用nonce将导致机密性与完整性双重崩溃。对称密钥需全随机生成,非对称私钥亦须由CSPRNG驱动,优先在安全芯片内生成。系统级熵源(如Linux getrandom、Windows BCryptGen
2026-10-10 11:11:53
160
原创 TLS 双向认证全解析:证书、握手
mTLS双向认证中,服务器与客户端需预置对方信任的CA证书、自身证书及私钥。握手时双方验证证书链:从叶子证书逐级验签至信任根,校验主机名、有效期、用途(serverAuth/clientAuth)及签名。关键步骤包括证书链构建、签名验证、主机名匹配与私钥持有证明(CertificateVerify)。通过SSL_get_verify_result()获取验证结果,失败可定位至未知CA、证书不匹配或吊销等问题。使用verify_callback可审计每级证书,确保安全。证书与私钥必须配对,否则握手失败。
2026-10-08 14:49:27
177
原创 TLS1.3加密套件解析:命名拆解、协商流程与选套件策略
这也是你早期 SSL_CTX_set_cipher_list、128 个套件、ALPN 那类问题的系统化梳理。是 RSA 就要 RSA 证书。set_cipher_list 只管 1.2,TLS1.3 必须用 set_ciphersuites,混用导致"怎么配都不生效"。握手后可 SSL_get_current_cipher() 读实际协商结果、SSL_get_version() 读实际版本。应在握手后打印 SSL_get_version/current_cipher/peer_tmp_key?
2026-09-24 10:20:15
191
原创 TLS 1.3密钥派生揭秘:从ECDH到全链路加密
以 ECDH 共享为根,用 HKDF 结合"标签 + 握手转录"逐级、确定性地派生出彼此隔离的全部密钥。双方输入相同,独立算出完全一致的密钥树,无需再传输任何密钥。三个 Secret 层(Early / Handshake / Master)对应三个时代(epoch),每次 Extract 都是一次"密钥换层"。把分布可能不均匀的输入密钥材料 IKM,结合可选 salt,提炼成定长、伪随机的 PRK。它是密钥派生的 Context,保证密钥和"实际发生的握手过程"绑定。32 字节原始共享密钥。
2026-09-22 09:55:18
121
原创 X.509证书链全解析:从信任根到TLS握手
前面讲完非对称算法,本篇解决"凭什么相信对面发来的公钥"——证书就是把"公钥"和"身份"用 CA 签名绑定的凭证。DN(Distinguished Name)是一组键值对,代码里用 X509_NAME_add_entry_by_txt 添加 CN、O。服务器发证书链(叶子+中间)→ 客户端用本地根验链 → 校验 SAN 与访问主机名一致 → 用证书公钥验证服务器签名,确认身份。主体密钥标识、颁发者密钥标识,用于在多级、多密钥场景下快速对齐"这张证书由上级哪把公钥签发",是大型证书链的重要辅助。
2026-09-20 10:49:19
323
原创 X25519与前向安全:密钥协商
椭圆曲线离散对数只有平方根级攻击,P-256 就有 128 位强度,公钥仅 65 字节(未压缩)、共享 32 字节,运算快、功耗低,特别适合 POS/嵌入式。双方各自加入"私色",交换混合色后再各自加私色,最终得到相同的"共同色",窃听者只看到两次混合色却无法还原。,随后双方各自 HKDF 派生密钥。双方得到同一个 S,而窃听者只拿到 A、B、g、p,面对离散对数难题,算不出 a、b,也就算不出 S。逆向(难):给定 g、y、p,求 x = log_g(y) mod p —— 离散对数,极难。
2026-09-20 10:26:17
393
原创 ECC椭圆曲线密码学
取模 p 后,点变成离散的、有限的集合(约 p 个点),点与点之间没有几何连续性,只有代数运算关系,这正是它能用于密码的原因——离散、难逆推。在 POS/嵌入式上,这意味着密钥、签名、证书、运算量、功耗全部数量级地减小——这是 v7 明确选 P-256 的根本原因。+ G(d 次),实际用"倍点-加法"(double-and-add)在 O(log d) 步完成,类似模幂的快速幂。用 EC_POINT_mul(grp, Q, d, NULL,NULL,ctx) 手工算出 d·G,和密钥生成的公钥逐点相同。
2026-09-14 14:58:35
365
原创 ECIES加密原理:一行公式搞定安全通信
S = r × Q = r × (d × G) 代入 Q = d × G = (r × d) × G。解密方:S' = d × R = d × (r × G) = (d·r) × G。加密方:S = r × Q = r × (d × G) = (r·d) × G。所以:(r × d) × G = (d × r) × G 即:S = S'代入 R = r × G = (d × r) × G。所以 HKDF(S.x) = HKDF(S'.x)所以 S = S' 所以 S.x = S'.x。
2026-09-14 11:51:19
346
原创 OpenSSL RSA所有权陷阱:一文看懂set1/set0/get1/get0
OpenSSL 3.0 引入了 provider 架构,EVP_PKEY 内部不再直接持有 RSA *,而是通过 provider 管理。的,生命周期更短,建议优先用 EVP_PKEY_get1_RSA 或直接用 EVP_PKEY 层面的 API(如 EVP_PKEY_get_bits)。:OpenSSL 3.0 中 EVP_PKEY_get0_RSA 返回的指针可能是。不要RSA_free,pkey 不能提前释放。返回内部缓存的 RSA*(可能是临时构造)转移给 EVP_PKEY。不要RSA_free。
2026-09-11 16:23:43
358
原创 libcrypto RSA加密真相:从数学原理到使用安全陷阱
知道 n、e,要算出 d,必须先知道 φ(n),而求 φ(n) 等价于把 n 分解成 p、q(大整数分解难题)。防止"算法混淆攻击":签名里明确写"这是 SHA-256 的摘要",验签时防止攻击者把 SHA-256 摘要冒充成别的算法摘要。用 BN_mod_exp 分别算 m1、m2,再按公式组合,并和直接 c^d mod n 比较,结果完全相等。RSA 只解决"密钥安全送达",数据加密交给对称密码,各取所长。选 e、d 满足 e·d ≡ 1 (mod φ(n)),即 e·d = 1 + k·φ(n)。
2026-09-11 11:09:54
250
原创 libcrypto 别忽略这行代码,否则加密会失败
在RSA-OAEP加密中,显式设置oaep_md和mgf1_md为SHA-256至关重要。第二组代码仅设oaep_md,导致mgf1_md默认为SHA-1(尤其在OpenSSL 1.1.x中),引发跨平台解密失败、安全强度下降及PCI PTS合规风险。第一组代码通过显式设置两者,确保行为一致、兼容性强、安全达标。建议所有RSA-OAEP场景统一使用三行配置,避免隐蔽漏洞。
2026-09-11 10:29:48
291
原创 TLS SHA-256/384/512 与 HMAC/HKDF 详解
在原生 64 位 CPU(POS 的 ARM Cortex-A 就是)上,64 位运算一条指令完成,SHA-512 处理每字节的轮数反而更少,吞吐可能高于 SHA-256。HKDF 是哈希无关的框架,把内部 HMAC 换成 HMAC-SHA512 就成了 HKDF-SHA512(PRK/OKM 每块 64 字节,输出上限 255×64)。HMAC-SHA256 的 ipad/opad/key 阈值是 64,HMAC-SHA384/512 是 128。:哈希是公开的、确定性的,任何人都能计算。
2026-09-10 17:36:49
315
原创 TLS AES 加密模式详解
最经典的演示是 ECB 加密 Linux 企鹅(ECB Penguin):图片加密后,每 16 字节独立加密,相同颜色区域产生相同密文,企鹅轮廓依然清晰可见。P[i+1] = D(K, C[i+1]) XOR C[i],C[i] 出错会直接 XOR 进 P[i+1]。它们的密钥流只依赖 IV/计数器和密钥,不依赖密文,所以密文错误只影响当前块的 XOR 结果。P[i] 整块错误 + P[i+1] 对应 1 位错误,P[i+2] 恢复。,就像查密码本一样,每个明文块对应固定的密文块,所以叫"电子密码本"。
2026-09-10 14:24:32
168
原创 TLS DES / 3DES 调用 API 测试
要求:3DES 全部改用三个独立密钥 K1≠K2≠K3 实测(不再 K1=K2=K3 冒充);所有 IV 一律非零,CBC 首块用链接公式 C1 = E(K)(IV⊕P1) 验证,不再用全零 IV。首块分步复算 E(K3)[D(K2)[E(K1)(P1⊕IV)]] == ede3_cbc 输出 + 往返。:K1=K2=K3 时 3DES 输出和单 DES 完全一样(测试 [5][6] 就是验证这个)。:传 len=10,加解密"成功",但解密回来只剩前 8 字节,后 2 字节丢了,不报错。
2026-09-09 11:57:04
299
原创 TLS MD5 调用 API 测试
echo -n "abc" | openssl dgst -md5 # -n = 不输出换行 # 900150983cd24fb0d6963f7d28e17f72 printf "abc" | openssl dgst -md5 # printf 不会自动加换行 # 900150983cd24fb0d6963f7d28e17f72。:哈希是"流式"的——Update 只负责把数据攒进 data[],攒满 64 字节就丢给压缩函数处理一次,同时把长度累加进 Nl/Nh。
2026-09-09 10:29:43
256
原创 OpenSSL中d2i与i2d的理解
PEM_read_bio_X509 = base64解码 + d2i_X509;你之前 mtls 系列程序里 SSL_CTX_use_certificate_file(...SSL_FILETYPE_PEM) 走的就是路径 A。有:SSL_CTX_use_certificate_file等文件版 API,内部自动走完 ①②③④;DER buffer → d2i_* → X509*/EVP_PKEY*→ SSL_CTX_use_*(密钥),挂到 SSL_CTX 上后握手时库自动取用。
2026-09-08 10:22:41
632
原创 TLS中密钥容器核心数据结构
TLS中密钥容器的三个核心数据结构:所有大数运算(模幂 n^d mod m、乘、逆元)都在这个字数组上做,SSL 针对 x86-64/ARM 有汇编加速(bn_mul_mont 等)。:空壳——d=NULL,不能做任何运算,必须先 BN_bin2bn/BN_hex2bn/BN_set_word 填入数据。API语义引用计数之后谁 free接管所有权,不增引用不变只EVP_PKEY_free(pkey),绝不能再 RSA_free(rsa)拷贝引用(内部 RSA_up_ref)+1。
2026-09-07 14:57:40
438
原创 TLS公钥证书读取方法
用 PEM_read_bio_RSA_PUBKEY 去读 -----BEGIN RSA PUBLIC KEY----- 的文件会失败——它找的是 PUBLIC KEY 标签。反过来 PEM_read_bio_RSAPublicKey 读 PUBLIC KEY 标签的文件也会失败。:统一用 PEM_read_bio_PUBKEY(SPKI,自动识别算法),碰到 PKCS#1 裸公钥文件才用 PEM_read_bio_RSAPublicKey。名字像"RSA 公钥"但读 SPKI。(自动识别 RSA/EC)
2026-09-07 12:03:23
395
原创 密钥格式与存储
tbsCertificate 又含版本/序列号/颁发者/有效期/主体/公钥/扩展(源码x_x509.c ASN1_SEQUENCE_enc(X509_CINF))d2i_X509 PEM_write_bio_X509。PEM = -----BEGIN 标签----- + base64(DER) + -----END 标签-----。-----END CERTIFICATE-----结尾,中间是 base64 编码的 DER,每 64 字符换行。-----BEGIN CERTIFICATE-----开头、
2026-09-07 11:52:11
455
原创 TLS 1.2 vs TLS 1.3 对比
TLS 1.3 套件名 = TLS_<加密算法>_<模式>_<哈希>,不再包含密钥交换和认证算法——因为 1.3 只支持 ECDHE/DHE 密钥交换,认证由证书签名算法单独协商。TLS 1.2: 300+ 注册套件(其中大量已不安全) TLS 1.3: 5 个套件(全部安全,全部 AEAD,全部前向保密)rsa_pkcs1_sha1、rsa_pkcs1_md5_sha1、ecdsa_sha1 等弱哈希签名。多个子密钥(客户端写密钥/服务器写密钥/IV/MAC密钥)
2026-09-04 10:08:42
342
原创 全球支付与国际标准对比
Visa、Mastercard、JCB、American Express、Discover、UnionPay(银联)GOST R 34.10(非对称)、GOST R 34.11(哈希)、GOST 28147(对称)已在新加坡、不丹、尼泊尔、斯里兰卡、毛里求斯、法国、阿联酋、卡塔尔等10+国家上线。SM2(非对称)、SM3(哈希)、SM4(对称),金融领域强制推广。银联系统使用8583变种,大额支付系统已迁移ISO 20022。Field 55(EMV)、60(终端)、62(POS参数)
2026-09-01 16:26:24
420
原创 EMV 与各卡组织关系
做终端内核 = 一个通用 EMV L2 内核框架 + 各卡组织的 AID/参数配置 + 特殊流程分支(如 qPBOC 的快速流程、Visa 的 qVSDC、Mastercard 的 PayPass 等)。接触式兼容 EMV,非接有本土化设计(qPBOC 流程比 EMV 非接更简化)M/Chip 接触 + PayPass 非接,含 M/Chip Fast、CDCVM。JCB 接触 + J/Speedy 非接(QUICPay 另测)接触 PBOC + 非接闪付(qPBOC),含电子现金、小额免密。
2026-08-31 11:13:34
329
原创 应用验签:不修改 PMS 的实现方案
问题答案不修改 PMS 能做应用验签吗?能,用 VerificationAgent 标准机制VerificationAgent 能拦截所有安装方式吗?能,只要走 PMS 标准流程都会触发Android 16 下还能用吗?能,这是稳定标准 API,Google Play Protect 也依赖它最佳实践是什么?四层防护:自定义安装器 + VerificationAgent + 运行时控制 + SELinux/TEE验证代理放哪个分区?
2026-08-27 15:38:50
358
原创 EMV 脱机认证三层密钥架构
Tag 9F46(证书主体)+ Tag 9F47(公钥余数,可选)+ Tag 9F48(公钥指数)RID(5字节卡组织ID)+ 公钥索引(1字节),例如银联 RID =A000000333。Tag 90(证书主体)+ Tag 92(公钥余数,可选)+ Tag 9F32(公钥指数)以证书形式存在卡中(Tag 9F46),用发卡行私钥签名;存在卡组织的 HSM 中,永不离开,用于签发发卡行公钥证书。发卡行自己生成私钥,但公钥证书由 CA(卡组织)签名颁发。卡个人化时生成或注入私钥,公钥证书由发卡行签名颁发。
2026-08-25 09:34:19
334
原创 DUKPT原理对比:3DES与AES密钥派生详解
请求/响应、生成/校验用不同密钥(3DES 靠 FF 位置区分,AES 靠 usage 码),防止重放。:IPEK/PEK 的 KCV 对不上,99% 是 KSN 字段切分或派生数据拼错。:用尽后(3DES 为 2²¹,AES 为 2³²)密钥失效,需重新注入。终端和主机不能每次都存同样的工作密钥,又要保证每笔交易用不同的密钥。:用密钥加密 8 字节零块取前 3 字节,两边一致说明派生正确。:KSN 相同、计数器相同 → 密钥相同;用 KSN 计数器派生当前密钥 → 相同用途码派生工作密钥。
2026-08-19 18:44:07
323
原创 Android底层开发大变革:GKI架构全解析
编译模块 10-60 秒 + 重新 insmod/rmmod(无需重启)Android 13+新增:通用init ramdisk(Google)新增:厂商ramdisk + 厂商DTBO + 厂商init。GKI 模式(Android 12+,14/15强制)碎片化(4.9/4.14/4.19/5.4/5.10)kernel(厂商编译) + ramdisk(厂商)改模块→重编→rmmod/insmod(不重启)简单(Google推送GKI更新,模块不用重编)强制 /vendor/lib/modules/
2026-08-18 16:43:48
458
原创 Android GKI:不可逆转的碎片化终结者
GKI 不是"要不要转"的问题,而是"什么时候转、怎么转得顺"的问题。对于开发者来说,越早适应模块化开发和用户态方案,越主动。不是,从 Android 14 开始强制,预计 2026-2027 年新设备全面 GKI 化。是的,新项目必须跟上,这是 Google + SoC 厂商双重推动的必然方向。这是最现实的推动力——不是 Google 逼你,是芯片厂商已经帮你决定了。真正让厂商"不得不转"的,不只是 Google 的政策,更是。不会,但技能栈要从"改内核"转向"写模块+用户态方案"
2026-08-18 16:27:19
367
原创 Android 系统的身份与访问管理(IAM)03
风险信号: 设备信誉/位置/时间/行为/令牌新鲜度/登录频率 ──▶ 风险引擎打分 ──▶ 低风险 → 免密/弱认证(无感) 中风险 → 密码 + 推送 高风险 → 强制 MFA + 验证码 + 冻结高风险操作。:Google 账号的"可疑登录保护"、金融机构 App 的"大额转账二次验证(step-up authentication)"。MFA 把防线从"一个因子"变成"至少两个"——攻击者同时骗到密码+设备+生物特征的成本陡增。产生了大量新的"非人身份"(Agent 身份),需要灵活的身份层;
2026-08-17 16:22:48
336
原创 Android 系统的身份与访问管理(IAM)02
API 密钥、Service Account、云工作负载身份、mTLS 证书、 IoT 设备、容器身份、机器人(Bot)、CI/CD 流水线令牌……:Google 的"异常登录检测""不安全应用阻止登录"、Play Protect 对恶意应用(身份窃取木马)的拦截,本质上都是"身份安全"的落地。——身份安全的"SOC":实时监控身份行为(异常登录、异常授权变更、令牌异常流动),在攻击链早期切断。,把分散的身份系统(多个 IdP、目录、风险引擎、规则引擎)串成一个可定制的。(而非员工)的 IAM。
2026-08-14 16:17:13
340
原创 Android 系统的身份与访问管理(IAM)01
这一篇从"身份为什么成为边界"讲起,把 IAM 的完整骨架——数字身份、机器身份、认证、授权、SSO、MFA、生物识别、数字凭证、最小权限、PAM、生命周期——全部构建起来,并全程映射到 Android 系统的具体机制上。:你的手机锁屏是"设备内身份验证",你登录的每个 App 是"生态身份验证"——两者由。:你在 lk 上做的 Secure Boot,本质是把"信任边界"从软件推进到硬件——是云端的身份边界:登录、同步、FRP、Play 权益。攻击者现在攻击的已经不是"网络",而是"身份"。
2026-08-14 11:24:04
207
原创 Android 系统安全视角的漏洞管理05
传统做法是"写完再测",但漏洞修复成本随发现时间指数上升(设计期发现成本 ≈ 1,生产环境发现成本 ≈ 100+)。:移动应用十大安全风险(如:不安全的日志、弱加密、不安全的 IPC、不当的平台使用等);:JNI 调用注意内存安全(缓冲区、字符串)、启用 ASan 做 fuzzing;第十一章 应用安全(Application Security,AppSec):root/模拟器检测、反 Frida 检测(但别过度,误杀会伤用户体验);11.1 应用安全的核心理念:安全左移(Shift-Left)
2026-08-13 10:38:22
244
原创 Android 系统安全视角的漏洞管理04
Binder IPC(系统服务间)、/proc、/sysfs、内核驱动(GPU/触摸屏/传感器)、JNI 层;攻击面 = 网络的攻击面 + 软件的攻击面 + 人的攻击面 (+ 物理的攻击面 + 供应链的攻击面):Wi-Fi、蓝牙(BLE/Classic)、NFC、蜂窝 modem(RIL)、UWB;:攻击面缩减是"预防医学",漏洞扫描是"体检"。:如"平均漏洞修复时间 MTTR""漏洞密度""补丁覆盖率""资产可见率";类比:漏洞管理是"修墙上的洞",安全态势是"整座城的防御体系评估"。
2026-08-13 10:32:10
298
原创 银行卡报文鉴别码(MAC)解析:ISO9797-1到HMAC
任何用 3DES 密钥做的 CBC-MAC 家族(ISO 9797-1 算法 2/3/4 的双长度甚至三长度密钥做法,HSM 里通常叫 M0 / M1 等 key variant)。ISO/IEC 9797-1、ANSI X9.9 / X9.19、AS 2805.4.1、TDES CBC-MAC、Retail、CMAC、HMAC —— 一次讲清楚它们都是什么、什么关系、怎么算。"零售 MAC"不是谁新发明的算法,它就是 ISO 9797-1 算法 3 + 填充法 1,用双密钥 3DES。
2026-08-12 10:12:09
1252
原创 Android 系统安全视角的漏洞管理03
发现补丁可用(公告) → 评估影响 → 测试(回归/兼容) → 分批部署(Canary/灰度) → 验证 → 回滚预案 → 记录与度量。每月(通常第二个星期一)由 Google 发布,列出当月修复的 Android 漏洞及其 CVE、严重级别、影响组件。静态分析工具在不运行 App 的情况下,通过反编译、源码或字节码分析来寻找敏感数据泄露、组件暴露、配置不当等漏洞。针对 Android 系统固件(ROM)、驱动、内核(Linux Kernel)或硬件接口的漏洞扫描。它是漏洞管理体系的"眼睛"。
2026-08-12 09:55:43
395
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅