2

When attempting to load an SRVTAB over TFTP, I receive an "Unsupported keytype" error:

abc(config)#kerberos srvtab remote 1.2.3.4 abc.srvtab
Loading abc.srvtab from 1.2.3.4 (via Vlan123): !
[OK - 121 bytes]
Unsupported keytype 18!  Discarding...
No principals in srvtab!  Discarding...
Failed to retrieve srvtab from tftp://1.2.3.4/abc.srvtab

However, no error is received if the entry is specified manually:

abc(config)#kerberos srvtab entry host/abc@REALM 1 1418612000 1 18 32 0123456...

…but the resulting key doesn't work (and, despite no config-key having been set, the key value appears corrupted when viewing the configuration file). Worse still, the configuration leads IOS to attempt allocating gigabytes of memory when initiating a Kerberos session:

Dec 15 19:42:03.030: AAA/BIND(00000B9A): Bind i/f  
Dec 15 19:42:03.035: %SYS-2-MALLOCFAIL: Memory allocation of 4294580232 bytes failed from 0x1488F68, alignment 0 
Pool: Processor  Free: 5121120  Cause: Not enough free memory 
Alternate Pool: None  Free: 0  Cause: No Alternate pool 
 -Process= "Virtual Exec", ipl= 0, pid= 399
-Traceback= 53C8ECz 1DCFBF8z 1DD6FDCz 1DD77B4z 2ACF704z 1488F6Cz 146BF6Cz 148C61Cz 14816A8z 1255930z 1255BC4z 1255C64z 12483C0z 494B7Cz 299BEA8z 2996448z
Dec 15 19:42:03.040: Kerberos: Failed to generate authentication data!
Dec 15 19:42:03.040: AAA/AUTHEN/LOGIN (00000B9A): Pick method list 'default' 
Dec 15 19:42:03.040: kerberos(00000B9A): krb_is_user_authenticated 0

So, one presumes that aes256-cts-hmac-sha1-96 isn't supported on this device—but how can one determine which algorithms are supported?

eggyal
  • 392
  • 4
  • 16
  • What device and iOS version/edition? (`show version` for the iOS info.) – HopelessN00b Dec 15 '14 at 19:58
  • @HopelessN00b: This particular device is a Catalyst 3560C, running IOS 15.0(2)SE5—however we have a number of Cisco devices and would be very grateful for a generic answer (if at all possible)! – eggyal Dec 15 '14 at 20:02
  • Oh, geez, that complicates things. Last I looked a couple years ago, the easiest way to get this information was to upgrade all our devices to the latest iOS, so I did... though I was working with some gear that hadn't been updated in several years. – HopelessN00b Dec 15 '14 at 20:06
  • @HopelessN00b: Mmmkay. Well, even taking this device alone: the IOS was "Compiled Fri 25-Oct-13 14:53"—so one would expect it to be fairly up-to-date with support for AES? – eggyal Dec 15 '14 at 20:08
  • It's actually not that simple. Due to Clinton-era regulations that classified strong cryptography as munitions, Cisco (and a lot of other vendors), ended up splitting their products into two categories - one with no crypto that could be exported anywhere, and another with crypto that could only be shipped to designated "friendly" nations. At least as of a couple years ago, Cisco IOSes came in two flavors - one with cryptographic capabilities, and one without. – HopelessN00b Dec 15 '14 at 20:25
  • Do you have the proper license? Use the `show license` command to see if you have the `Feature: advsecurity` enabled. – Ron Maupin Aug 09 '16 at 14:13
  • @RonMaupin: We only have `ipbase`, so that may very well be the issue. How/where can we learn what feature sets are available for a given device, and what features those feature sets provide? – eggyal Aug 09 '16 at 14:55
  • The `show license` command will tell you for the newer IOS versions. You can upgrade your license to include what you need. You can get a paper license which you can use to enter the key and upgrade that way. – Ron Maupin Aug 09 '16 at 14:57
  • @RonMaupin: I'm awaiting confirmation from Cisco, but it seems that the 3560C only supports the one license and feature set... not sure I'm any further along in working out what Kerberos key types it will accept, though! – eggyal Aug 09 '16 at 16:12
  • If you can't get a security license for it, then it isn't going to let you do that. Cisco has [plenty of documentation regarding Kerebos](https://www.cisco.com/c/en/us/td/docs/ios/12_2/security/configuration/guide/fsecur_c/scfkerb.html). Just search for it. – Ron Maupin Aug 09 '16 at 16:14
  • @RonMaupin: The `ipbase` feature set for the 3560-C apparently includes Kerberos support (according to Cisco Feature Navigator, anyway)... I've read a lot of documentation—that's how I knew the commands to enter (shown in the question)—but nowhere can I find it documented what key types are supported, or how to discover that information. Hence this question! – eggyal Aug 09 '16 at 16:21
  • I don't follow; it supports Kerebos 5. "_Kerberos is a secret-key network authentication protocol, developed at the Massachusetts Institute of Technology (MIT), that uses the **Data Encryption Standard (DES)** cryptographic algorithm for encryption and authentication. Kerberos was designed to authenticate requests for network resources. Kerberos, like other secret-key systems, is based on the concept of a trusted third party that performs secure verification of users and services. In the Kerberos protocol, this trusted third party is called the key distribution center (KDC)._" – Ron Maupin Aug 09 '16 at 16:28
  • @RonMaupin: Interesting. You're suggesting that (inaccurate) introductory description of Kerberos amounts to a definitive statement that the only key type supported on all Cisco products, irrespective of model or feature set, is DES (widely considered to be insecure for decades now)? Maybe you're right... but if that's the case, then any Cisco device using Kerberos for authentication is extremely vulnerable... is that really the situation we're in? – eggyal Aug 09 '16 at 16:42
  • For that particular IOS version in the document, if it supported anything else, it would have said so. You just need to search for the documentation for your IOS version. – Ron Maupin Aug 09 '16 at 16:44
  • You know that Kerebos is only used to authenticate, not to encrypt traffic, correct? If you use telnet, Kerebos will authenticate you, but the telnet traffic is still in plaintext. You are better off using SSH. – Ron Maupin Aug 09 '16 at 16:58
  • @RonMaupin: I was intending to authenticate SSH using Kerberos. – eggyal Aug 09 '16 at 17:08
  • Most people use RADIUS, or even better, TACACS+ for authentication. – Ron Maupin Aug 09 '16 at 17:13
  • @RonMaupin You've generalized from your viewpoint to cover *most people*. RADIUS and TACACS+ require additional infrastructure. Some networks do not want to dedicate resources to create such a rarely used infrastructure. SSH with Kerberos authentication is secure and able to be set up and accessed out of the box. His question remains valid. Of the many options for encryption algorithms capable of being used by Kerberos to encrypt the Kerberos keys, how do you determine which ones are usable by a given Cisco device? – Jeter-work Aug 10 '16 at 16:41
  • Agreed, @Xalorous. Moreover, Kerberos supports numerous key types that use DES encryption (eg depending on which hash algorithm is used). "DES" alone cannot be a complete answer. – eggyal Aug 10 '16 at 18:27

0 Answers0