注记:
- 消息类型(同步与异步的判定就是判断该对象需不需要必须等待你的相应,没有相应就不能做其他事的那种)
- > > >:简单消息
- × > \times > ×>:异步消息
- —:同步消息
- 发送方式
- 实线:主动发送消息
- 虚线:返回消息
1. 示意图
sequenceDiagram
Title: 中间人攻击时序图
participant 消息发送者A
participant 攻击者C
participant 消息接受者B
消息发送者A->> 攻击者C:1.请发送你的公钥(被截取)
攻击者C->>消息接受者B:"2.请发送你的公钥"
消息接受者B-->>攻击者C:3.这是我的公钥
攻击者C-->>消息发送者A:4.C拦截B的公钥,并替换成C的公钥
activate 消息发送者A
Note left of 消息发送者A:A误以为收到的是B的公钥,实际上却用了C的公钥加密
消息发送者A->>攻击者C:2.A向B发送密文,用C的公钥加密
deactivate 消息发送者A
攻击者C->>消息接受者B:6.C拦截信息,用自己的私钥解密,并伪造新的信息,用B的公钥加密后发给B
Note right of 消息接受者B:B用私钥解密
1.1 加入活动期
sequenceDiagram
Alice->>John: Hello John, how are you?
activate John
John-->>Alice: Great!
deactivate John