Last Call Review of draft-ietf-opsawg-tacacs-13

Request Review of draft-ietf-opsawg-tacacs
Requested rev. no specific revision (document currently at 18)
Type Last Call Review
Team Security Area Directorate (secdir)
Deadline 2019-04-23
Requested 2019-04-09
Authors Thorsten Dahm, Andrej Ota,, David Carrel, Lol Grant
Draft last updated 2019-04-21
Completed reviews Secdir Last Call review of -13 by Joseph Salowey (diff)
Genart Telechat review of -13 by Stewart Bryant (diff)
Assignment Reviewer Joseph Salowey 
State Completed
Review review-ietf-opsawg-tacacs-13-secdir-lc-salowey-2019-04-21
Reviewed rev. 13 (document currently at 18)
Review result Serious Issues
Review completed: 2019-04-21


As the draft mentions the MD5 based stream cipher used by TACACS+ is  completely insecure.  I think there is too much discussion in the security considerations that may lead one to think that in some cases it provides sufficient protection. 

Section 10.1 -
There have been plenty of analysis of the problems with the TACACS+ message protection.  This section should just simply say the encryption/obfuscation mechanism provides no integrity protection, no privacy protection and no replay protection.  An attacker with access to the data stream should be assumed to be able to read and modify all TACACS+ packets.  There are just too many flaws to to enumerate in this document and the rest of the information in this section is wrong or incomplete at best. 

Section 10.2 - 
Why not MUST NOT for TAC_PLUS_AUTHEN_STATUS_FOLLOW?  Is this really still used? 

Section 10.2, 10.3, 10.4 -
You can probably replace most of these sections with
"TACACS+ MUST be used with an addition security mechanism to protection of the communication such as IPSEC or a secure network such as described in 10.5. "

Section 10.5.1 and 10.5.2 - 
Why should I care about secrets if they are just providing obfuscation?   Are you relying on these secrets for something other than obfuscation?

Section 10.5.3 - 
Use "less weak" instead of stronger when referring to CHAP, MS-CHAP, and MSCHAPv2.   Its pretty debatable how much better they are than plaintext passwords.