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: 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
- Security Manager's Journal: Why the shutdown is like the cloud
- Security Manager's Journal: Thinking about passwords
- Security Manager's Journal: Android panic
- Security Manager's Journal: Auto-forwarded emails could be a huge problem
- Radicati: Cloud Business Email - Market Quadrant 2013 Google was named the top cloud business email provider in a recent report by research firm Radicati. Out of 14 key players, Google...
- Tablets in the Enterprise: A Checklist for Successful Deployment How can you enterprise manage and secure tablets in order to protect corporate data while providing access to the information and applications employees...
- Enterprise Mobility: A Checklist for Secure Containerization The advantages and disadvantages of the multiple approaches to containerization. Learn More>>
- Enterprise File Sync & Share Checklist File sync and share has changed the way people work and collaborate in today's tech-savvy world. Gone are the email roadblocks, clunky FTP...
- Live Webcast LIVE EVENT: 5/7, The End of Data Protection As We Know It. Introducing a Next Generation Data Protection Architecture. Traditional backup is going away, but where does this leave end-users?
- LIVE EVENT: 5/7, The End of Data Protection As We Know It. Introducing a Next Generation Data Protection Architecture. Traditional backup is going away, but where does this leave end-users?
- On-demand webinar: "Mobility Mayhem: Balancing BYOD with Enterprise Security" Check out this on-demand webinar to hear Sophos senior security expert John Shier deep dive into how BYOD impacts your enterprise security strategy... All Security White Papers | Webcasts