Profile with Trivial Password but Cannot Sign On
Question: Our installation has created a user profile named PCUSER with the password PCUSER to allow PC support to connect to the AS/400. This user profile is created as follows to prevent sign-on:
CRTUSRPRF PCUSER PASSWORD(PCUSER) LMTCPB(*YES)
INLPGM(*NONE) INLMNU(*SIGNOFF)
The user profile has *USE (read-only) authority to selected production files that PC users can download to their PCs. Does this profile contain any security exposure other than access to files for downloading purposes?
Answer: The attributes of the PCUSER profile are designed to prevent sign-on or interactive use of the profile. There is one small risk that you should consider: Because the password is well-known, a hacker could use this profile to sign on to the system. Before the session terminates, the hacker can then press System Request to access the System Request menu. From the System Request menu, a hacker can display the system operator message queue and, by viewing the messages contained there, determine the names of other profiles on your system. Of course, this is a minor exposure because the hacker would still have to determine the passwords associated with these profiles, which should be almost impossible (one of the reasons the AS/400 is the tightest box around).
Although this exposure is small, avoid it by preventing access to the System Request menu for user profile PCUSER. To prevent specific users from seeing the System Request menu, specify *EXCLUDE authority for those users:
GRTOBJAUT OBJ(QSYS/QGMNSYSR) OBJTYPE(*PNLGRP)USER(PCUSER) AUT(*EXCLUDE)
Keep in mind that the PCUSER profile may have access to other data because of the *PUBLIC authority to objects. You may want to explicitly exclude the PCUSER profile from any libraries that have *PUBLIC access. Another advantage of restricting library access is that you will prevent the potential security risk associated with a user signing on the machine with FTP.
Checking for Default Passwords
Question: If the user profile password is encrypted, how do the security products check that the password is the same as the user profile name?
Answer: Your understanding is correct: The password is encrypted as described in the previous answer.
The third-party security products, including IBM’s Analyze Default Password (ANZDFTPWD) command, use an API to check the password for a user profile. The QSYGETPH API contains the specification of a password. When the password is correct, the API generates a profile handle used for swapping the user profile. If the password is incorrect, the QSYGETPH API sends an escape message and increments the invalid password attempt count. Audit products use this same API to check whether or not the user profile password is the same as the user profile name.
Password Encryption
Question: I hope you can help me out with what should be a simple OS/400 question. I need to know what standard of password encryption OS/400 uses. I’ve searched the Web, including IBM’s site, but I can’t find a “simple” answer to this question. I did find several alternatives and third-party encryption applications, but I did not find out what the standard default encryption method is. I would appreciate the answer or any suggestions for where to find it.
Answer: OS/400 uses the Data Encryption Standard (DES) to “one-way” encrypt passwords. DES encryption, like most encryption methods, encrypts data by using a key that must be kept secret because the key used to encrypt the data can also be used to decrypt the data. The DES algorithm converts the clear text into scrambled text called cipher text.
Because the algorithm uses symmetrical, or private key, encryption, using DES a second time on the cipher text, with the same key, produces the clear text:
DES(key, Clear Text Data) = Cipher Text
DES(key, Cipher Text) = Clear Text Data
When a password is assigned to a user profile, the AS/400 uses the following technique to create a cipher result. The DES algorithm uses the password as the key to encrypt the user ID. OS/400 stores the cipher result, not the password:
DES(Key=password, Data=User ID) = Cipher Result
When a user signs on, OS/400 uses the entered password and user ID to repeat the encryption process, generating a temporary result. The temporary result is compared to the stored cipher result. If they match, the user has entered the correct password; if not, the password is considered invalid.
This encryption method is considered to be “one-way” for the password because the key is never stored; therefore, it is impossible to decrypt the cipher result. If someone
gets access to the cipher result and knows the details of the algorithm, that person still won’t be able to determine the key because the encryption key is the password, which is protected against any kind of attack.
LATEST COMMENTS
MC Press Online