IT professional here, though I’m in System Administration and not strictly Security…
I’m not sure exactly what you’re asking about. Are you talking about personal security (how long/complex should my passwords be? How can I choose passwords that are easy enough to remember but complex enough to be secure?) Or are you talking about corporate policy (What should password complexity rules be? How often should passwords be changed?)
A couple thoughts, that you can insert as answers to whichever questions they might apply…
Ideally, passwords should contain a mix of upper and lower case letters, numbers and special characters, be at least 8 characters long, and not have any dictionary words within the password string. They should also be changed every 60-120 days, users should not be able to use previously used passwords, and they should not be able to use the same password for two different applications/websites/etc.
The problem with this is that if you make the restrictions too draconian, people will simply write all of their passwords down on a sticky note attached to their monitor.
One way to help with this is to stop using “passwords” and instead use “passphrases”. Instead of having your password be “Rf5l#e7q”, which is nearly impossible to remember, choose an easily memorizes phrase and alter it to fit your restrictions. Start with “statue of liberty”; capitalize the ‘s’ and ‘l’, and change each ‘e’ to a ‘3’ and the ‘o’ to a ‘0’, and you get “Statu3 0f Lib3rty”. This meets all password requirements and will stand up to and dictionary search.
These days, more an more applications are “AD Aware”, meaning that they can use Microsoft Active Directory accounts for authentication. This allows users to not need a separate account and password for their application, but just uses their network logon to authenticate (assuming, of course, that you are on a Microsoft AD Network). This is great from the users’ standpoint, but makes it all the more imperative that you enforce password security on you network accounts, since their is now only one ‘master’ account and password’.
The biggest challenge really has nothing to to with IT at all. It goes like this:
Bob is going on vacation for a week. Mary needs to fill in for him while he is gone, but she doesn’t have access to the Widget Management System. Instead of Mary’s supervisor putting a ticket in to grant Mary access to the application, Bob simply writes his account and password on a sticky note and hands it to Mary, so she can use his account. At that point, it doesn’t matter that you have 64-character passwords that must be a combination of Greek, Latin, and Cherokee place names and changed every full moon. Your multi-billion dollar security system has been defeated by a 5 cent Post-It.
Along the same lines, most security breaches are not caused by hackers, but by employees (former or current) who either have access to data they shouldn’t, or who misuse access that they rightly are given. From an IT perspective, there is nothing that can be done about the latter; however, the former can be controlled by frequent security audits. The challenge there is that as a System Administrator I have no idea whether or not Mary needs access to the Widget Management System. I need Mary and Bob’s boss to tell me so. And as long as he would rather compromise security for the sake of convenience, there’s nothing I can do except crack down on ‘violations’ when I see them. By which time, it’s already too late.
I hope this hasn’t been too rambling, and that I’ve made at least a bit of sense…