# Kerberos
使用**Kerberos**作为**用户和服务的强身份验证和身份传播**的基础。**Kerberos 是一种计算机网络认证协议,它允许某实体在非安全网络环境下通信,向另一个实体以一种安全的方式证明自己的身份。**
![](https://img.kancloud.cn/5e/2a/5e2ac1173910f5820abfcd2acc24f6ac_538x548.png)
## 主要角色
* 用户鉴权后台AS (Authentication Server)
* 票据后台TGS(Ticket-Granting Server)
* 业务后台App Server
## 流程
* 密码校验、安全通道的建立,获取大票TGT
* 获取业务票据,TGT换取相应的业务小票ST
* 使用业务小票ST去访问业务服务器
## 优点
* 用户的密码从不会在网络中传输,从不会以任何形式存储在客户端机器上,使用完之后立即删除,也从不会把明文密码存储在认证服务器(KDC)上的数据库里。
* 实现单点登录(Single Sign-On),用户在每一个work session仅仅会输入一次密码或者指定keytab,之后用户就可以免密显示地访问他们授权的所有服务了。
## 密码校验、安全通道的建流程
C->S
1. 本地的有服务端的公钥K,生成客户端的公钥/私钥,
2. 用加盐的密码S加密(用户信息和公钥)得到S1
3. 用服务端的公钥加密 SK1
S->C
1.用私钥解密,S1
2.用加盐的密码S解密得到(用户信息和客户端公钥)S1
3.生成大票TG
4.用客户端公钥加密大大票
# ECDH
![](https://img.kancloud.cn/7e/d4/7ed4dc7ca17a0e8fc4ff39c2ee08285e_808x488.png)
ECC+DH 密钥交换算法
## 算法原理
* A 随机生成一对公私钥 PrivateA 和 PublicA
* B 随机生成一对公私钥 PrivateB 和 PublicB
* A 和 B 把自己的公钥(公开参数)发给对方
* A 和 B 使用自己的私钥和对方公钥生成 ShareKey
* ShareKeyA \= ShareKeyB
# 网关取号
## 好处
1. 节约成本 普通下发短信3毛 网关取号2秒
2. 快捷 一键登录
## 方案
解决证明手机号是你本人目前在用的
![](https://img.kancloud.cn/d3/8b/d38b1388b06a4fe7ffb3e9e526d0de80_554x474.png)
## 难点
1. 通用性
2. 判断手机状态(运营商)
# 唯一id的方案
https://blog.csdn.net/m0_65322636/article/details/122643074
## 目标
唯一性, 稳定性
## 方案(本地收集 + 云端生成)
1. 找到系统的特征值,比如OAID(广告id):300多个 相关性比
2. 云端会生成自己的唯一id,并且建设 唯一id与特征值之间的映射
3. 云端可以显现更多的容错性算法,某个id突然异常
# 实时监控
略
- Android
- 四大组件
- Activity
- Fragment
- Service
- 序列化
- Handler
- Hander介绍
- MessageQueue详细
- 启动流程
- 系统启动流程
- 应用启动流程
- Activity启动流程
- View
- view绘制
- view事件传递
- choreographer
- LayoutInflater
- UI渲染概念
- Binder
- Binder原理
- Binder最大数据
- Binder小结
- Android组件
- ListView原理
- RecyclerView原理
- SharePreferences
- AsyncTask
- Sqlite
- SQLCipher加密
- 迁移与修复
- Sqlite内核
- Sqlite优化v2
- sqlite索引
- sqlite之wal
- sqlite之锁机制
- 网络
- 基础
- TCP
- HTTP
- HTTP1.1
- HTTP2.0
- HTTPS
- HTTP3.0
- HTTP进化图
- HTTP小结
- 实践
- 网络优化
- Json
- ProtoBuffer
- 断点续传
- 性能
- 卡顿
- 卡顿监控
- ANR
- ANR监控
- 内存
- 内存问题与优化
- 图片内存优化
- 线下内存监控
- 线上内存监控
- 启动优化
- 死锁监控
- 崩溃监控
- 包体积优化
- UI渲染优化
- UI常规优化
- I/O监控
- 电量监控
- 第三方框架
- 网络框架
- Volley
- Okhttp
- 网络框架n问
- OkHttp原理N问
- 设计模式
- EventBus
- Rxjava
- 图片
- ImageWoker
- Gilde的优化
- APT
- 依赖注入
- APT
- ARouter
- ButterKnife
- MMKV
- Jetpack
- 协程
- MVI
- Startup
- DataBinder
- 黑科技
- hook
- 运行期Java-hook技术
- 编译期hook
- ASM
- Transform增量编译
- 运行期Native-hook技术
- 热修复
- 插件化
- AAB
- Shadow
- 虚拟机
- 其他
- UI自动化
- JavaParser
- Android Line
- 编译
- 疑难杂症
- Android11滑动异常
- 方案
- 工业化
- 模块化
- 隐私合规
- 动态化
- 项目管理
- 业务启动优化
- 业务架构设计
- 性能优化case
- 性能优化-排查思路
- 性能优化-现有方案
- 登录
- 搜索
- C++
- NDK入门
- 跨平台
- H5
- Flutter
- Flutter 性能优化
- 数据跨平台