Security manager's journal: Helping in-house developers

They're working on a Web-based service and want to build in the authentication capability. But why not use Active Directory?

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.

But I still think we should be using Active Directory or LDAP. That's what those products are for. They not only take care of the username and password challenge and authentication, but they also have built-in account management capabilities, policy enforcement, and password change and reset features. Why build all that when you don't have to?

My company's business leadership has decided that we can provide better service to our customers by giving them a new Internet application. That's a noble idea, but I think it's going to be a bit more complicated than they expected, especially if we want to do it right, by safeguarding our application and our customers with good security practices.

This week's journal is written by a real security manager, "J.F. Rice," whose name and employer have been disguised for obvious reasons. Contact him at

Join in

To join in the discussions about security, go to

Join the CSO newsletter!

Error: Please check your email address.

Tags application developmentsecurityAccess control and authenticationsoftware

More about AES EnvironmentalMicrosoftTopic

Show Comments

Featured Whitepapers

Editor's Recommendations

Solution Centres

Stories by J.F. Rice

Latest Videos

  • 150x50

    CSO Webinar: Will your data protection strategy be enough when disaster strikes?

    Speakers: - Paul O’Connor, Engagement leader - Performance Audit Group, Victorian Auditor-General’s Office (VAGO) - Nigel Phair, Managing Director, Centre for Internet Safety - Joshua Stenhouse, Technical Evangelist, Zerto - Anthony Caruana, CSO MC & Moderator

    Play Video

  • 150x50

    CSO Webinar: The Human Factor - Your people are your biggest security weakness

    ​Speakers: David Lacey, Researcher and former CISO Royal Mail David Turner - Global Risk Management Expert Mark Guntrip - Group Manager, Email Protection, Proofpoint

    Play Video

  • 150x50

    CSO Webinar: Current ransomware defences are failing – but machine learning can drive a more proactive solution

    Speakers • Ty Miller, Director, Threat Intelligence • Mark Gregory, Leader, Network Engineering Research Group, RMIT • Jeff Lanza, Retired FBI Agent (USA) • Andy Solterbeck, VP Asia Pacific, Cylance • David Braue, CSO MC/Moderator What to expect: ​Hear from industry experts on the local and global ransomware threat landscape. Explore a new approach to dealing with ransomware using machine-learning techniques and by thinking about the problem in a fundamentally different way. Apply techniques for gathering insight into ransomware behaviour and find out what elements must go into a truly effective ransomware defence. Get a first-hand look at how ransomware actually works in practice, and how machine-learning techniques can pick up on its activities long before your employees do.

    Play Video

  • 150x50

    CSO Webinar: Get real about metadata to avoid a false sense of security

    Speakers: • Anthony Caruana – CSO MC and moderator • Ian Farquhar, Worldwide Virtual Security Team Lead, Gigamon • John Lindsay, Former CTO, iiNet • Skeeve Stevens, Futurist, Future Sumo • David Vaile - Vice chair of APF, Co-Convenor of the Cyberspace Law And Policy Community, UNSW Law Faculty This webinar covers: - A 101 on metadata - what it is and how to use it - Insight into a typical attack, what happens and what we would find when looking into the metadata - How to collect metadata, use this to detect attacks and get greater insight into how you can use this to protect your organisation - Learn how much raw data and metadata to retain and how long for - Get a reality check on how you're using your metadata and if this is enough to secure your organisation

    Play Video

  • 150x50

    CSO Webinar: How banking trojans work and how you can stop them

    CSO Webinar: How banking trojans work and how you can stop them Featuring: • John Baird, Director of Global Technology Production, Deutsche Bank • Samantha Macleod, GM Cyber Security, ME Bank • Sherrod DeGrippo, Director of Emerging Threats, Proofpoint (USA)

    Play Video

More videos

Blog Posts

Market Place