Security Manager's Journal: Helping out the in-house developers
They're working on a Web-based service and want to build in the authentication capability. But why not just use Active Directory?
Computerworld - This week I found out that my company is developing software in-house. Until now I hadn't known that we were a software development shop, but I guess I shouldn't be surprised. Most companies that I've been with have developed their own software for one purpose or another. I only learned about this software development project when one of the programmers approached me to ask about the best way to store usernames and passwords in the application's database. Yes, that's right -- they built the authentication right inside the application, instead of calling out to an external authentication source.
If you're like me, you're thinking this is crazy. Why build an authentication capability into an application when we already have Active Directory? Seems to me that using Microsoft APIs to perform user authentication would be a lot easier. But I'm not a programmer. I have no idea why people build their own authentication into applications. At my company, we use a lot of off-the-shelf applications, and it seems like only about half of them work with Active Directory. The rest have their own built-in usernames and passwords. So it's not uncommon.
In this case, my company is setting up a new Web-based service for our customers. We use a lot of software-as-a-service (SaaS) applications over the Internet, and I've put each of them through a thorough vendor security review. I want to do the same thing for our new service, now that we are getting into the SaaS business. I'm sure some of our customers will want the same level of security assurance (although I'm consistently amazed when I'm the "first" to review the security of a particular service -- even big-name companies neglect this process). I've written about "The need for real security in a virtual world" (link) and Matthias Thurman wrote about "Stopping stupid human tricks" (link), and this situation is a different but similar take on the subject.
As a first step, I need to answer the question about storing passwords in the application. The developers were planning to save the passwords directly into the application's database, and they wanted to know if those passwords should be stored in encrypted form. Of course the answer is yes -- passwords should always be encrypted, using strong encryption, so that if they somehow leak out, they won't be immediately usable to gain unauthorized access to our application. Next, they wanted to know whether they should create their own encryption in the program, and somehow "hide" the key in the code, or use a public standard like AES. I explained that public standards, especially AES, have gone through a lot of review to ensure that they really work well, and we wouldn't be able to create our own encryption capability with the same level of assurance.
More by J.F. Rice
- Security Manager's Journal: Peering behind the firewall
- Security Manager's Journal: Trapped: Building access controls go kablooey
- Security Manager's Journal: We manage our threats, but what about our vendors?
- Security Manager's Journal: With Heartbleed, suddenly the world is paying attention to security
- Security Manager's Journal: A rush to XP's end of life
- Security Manager's Journal: Security flaw shakes faith in Apple mobile devices
- Security Manager's Journal: Cyberattacks just got personal
- Security Manager's Journal: Target breach unleashes fresh scams
- Security Manager's Journal: Giving thanks for SIEM
- Security Manager's Journal: Hashing out secure applications
- Troubleshooting Common Issues in VoIP Learn more about Voice over Internet Protocol (VoIP), including common VoIP metrics used, best practices in VoIP management and tips and tricks for...
- 2013 Network Management Software (NMS) Buyers Guide This white paper contains an independent comparison study of six different network management solutions and provides guidance on how you can choose the...
- Rightsizing Your Network Performance Management Solution: 4 Case Studies This white paper discusses challenges encountered as organizations search for the most cost-effective network performance management solution.
- Global Growing Pains: Tapping into B2B Integration Services to Overcome Global Expansion Challenges A recent survey by IDG Research explored both the challenges and pain points companies face when growing globally, as well as the capabilities...
- E-Signature RFP Checklist Webcast If your organization is looking to adopt e-signatures, you may be overwhelmed by the number of providers that offer seemingly similar solutions. How...
- Cloud and Collaboration: Driving Your Business Value Mission Critical Cloud from Peer 1 Hosting is enterprise-grade. All Security White Papers | Webcasts
Our new bimonthly Internet of Things newsletter helps you keep pace with the rapidly evolving technologies, trends and developments related to the IoT. Subscribe now and stay up to date!