Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Master Minion
- ======= ======
- pubkey-Master pubkey-Minion
- privkey-Master privkey-Minion
- AES-key Master
- SETUP PHASE
- ============================================================================================
- MINION MASTER
- === connect ==>
- 1. gen msg(auth, pubkey-minion)
- === send msg ==>
- 1. accept pubkey-Minion
- 2. gen msg: pubkey-Master
- AES-Key
- publish port
- 3. enc(msg, pubkey-Minion)
- <== send msg ===
- 1. decrypt(msg, pubkey-Minion)
- 2. write AES-Key
- 3. write pubkey-Master
- === connect publisher ==>
- 1. accept pubkey-Minion
- 2. accept connect-Minion
- COMMUNICATION
- ============================================================================================
- MINION MASTER
- 1. gen msg: tgt
- cmd
- params
- 2. enc(msg, AES-Key)
- <== publish msg ===
- 1. decrypt(msg, AES-key)
- 2. exec(cmd, params)
- 3. gen msg(result)
- 4. enc(msg, AES-Key)
- === send msg ==>
- decrypt(msg, AES-key)
- MASTER RESTART
- ============================================================================================
- MINION MASTER
- 1. restart salt-master
- 2. generate NEW-AES-Key
- ...
- 3. gen msg: tgt
- cmd
- params
- 4. enc(msg, NEW-AES-Key)
- <== publish msg ===
- 1. decrypt(msg, AES-key)
- FAIL!
- 2. gen msg(auth, pubkey-minion)
- === send msg ==>
- 1. accept pubkey-Minion
- 2. gen msg: pubkey-Master
- AES-Key
- publish port
- 3. enc(msg, pubkey-Minion)
- <== send msg ===
- 1. decrypt(msg, pubkey-Minion)
- 2. write AES-Key
- 3. write pubkey-Master
- 4. decrypt(msg, AES-key)
- 5. exec(cmd, params)
- 6. gen msg(result)
- 7. enc(msg, AES-Key)
- === send msg ==>
- decrypt(msg, AES-key)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement