Skip the navigation

We need good code, says Diffie at Black Hat Europe

Cryptography pioneer formulates three rules for making applications secure

By Loek Essers
March 14, 2012 08:16 AM ET

IDG News Service - AMSTERDAM -- Cryptographer Whitfield Diffie reckons one of the most important things for good cryptography and security in the age of the Internet is good code.

Unfortunately, really good code is generally too expensive to write, he said at the Black Hat Europe conference.

"We are as much moving into a software age as we moved into an iron age," Diffie said, comparing the Internet evolution to the first cities formed on earth. "We take our cultural machinery and are moving that into the Internet," told the audience in the opening keynote of Black Hat Europe here this week.

This calls for a good plan to secure software, said Diffie, one of the pioneers of public-key cryptography.

There are three elements to computer security that everybody should keep in mind, he said.

"First you have to know what you have to do," he said. If a developer knows exactly what the purpose is of the application is going to be, the software becomes more secure.

Secondly, programmers need to write good code, Diffie said.

One of the obstacles to writing good applications is the state of the current programming languages, he said, calling some of them "vastly inaccurate" and not the best tool for that job. "We have languages that actually encourage buffer overflows."

He also noted that writing code is almost always a trade off. "We thought in the 70s that we could get full formal proof of the code," he said. But achieving that is not a realistic scenario, he noted, calling it mainly a money problem.

The third thing to keep in mind is money, he said. "All good code is expensive," and more money should be spend on writing really good code so applications can become secure, he said.

There are other hurdles to be aware of: One of the problems in trying to make software secure is the rate at which Internet technology develops, Diffie said. Software is easily spread through the Internet, and often downloaded by users who do not think about possible security issues.

To protect against such issues, browser sandboxes are created to confine code. "That allows you to download an application from the Internet from a source you never seen before and run it," Diffie said, adding that this way of working is inadequate for a lot of applications.

That eventually lead Diffie to three challenges that need to be met: First, "We need to learn good programming", he said. The second challenge is fixing human interfaces, so every Internet user can understand what is happening. And third, liability issues should be fixed. "That isn't easy", he said, because fixing liability issues should go hand in hand with the technologies that system producers need.

Loek covers all things tech for the IDG News Service. Follow him on Twitter at @loekessers or email tips and comments to loek_essers@idg.com

Reprinted with permission from IDG.net. Story copyright 2014 International Data Group. All rights reserved.
Our Commenting Policies
Internet of Things: Get the latest!
Internet of Things

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!