<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Taz Lake, MBA, PMP, Atlanta-based Technical Project Manager specializing in Web and Internet - IA, BA, KMS, DMS, CMS, CRM &#187; Technology</title>
	<atom:link href="http://www.tazlake.com/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tazlake.com</link>
	<description>Project Manager, Information Technologist, Instructor</description>
	<lastBuildDate>Wed, 23 Sep 2009 01:30:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Mind the Gap &#8211; Mobile Devices and the Web</title>
		<link>http://www.tazlake.com/technology/mind-the-gap-mobile-devices-and-the-web/</link>
		<comments>http://www.tazlake.com/technology/mind-the-gap-mobile-devices-and-the-web/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 18:52:16 +0000</pubDate>
		<dc:creator>Taz Lake</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Content Management]]></category>
		<category><![CDATA[ECM]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[mobile devices]]></category>
		<category><![CDATA[WAP]]></category>
		<category><![CDATA[WCM]]></category>
		<category><![CDATA[web applications]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web history]]></category>
		<category><![CDATA[WML]]></category>

		<guid isPermaLink="false">http://www.tazlake.com/?p=112</guid>
		<description><![CDATA[I built my first web site in 1994 while an undergraduate.  I used the pico editor which of course required building everything using text and that most revered of markup languages, HTML.  I probably chose pico because it was like pine, my e-mail tool.  Of course, there was no WYSIWYG, which is not always a [...]]]></description>
			<content:encoded><![CDATA[<p>I built my first web site in 1994 while an undergraduate.  I used the pico editor which of course required building everything using text and that most revered of markup languages, HTML.  I probably chose pico because it was like pine, my e-mail tool.  Of course, there was no WYSIWYG, which is not always a bad thing.  After many hours of work and looking at HTML for the first time, I launched my first web site. </p>
<p>It was horrible.</p>
<p>It wasn&#8217;t just sort of bad either.  The category of &#8220;abysmal&#8221; comes to mind, but only if there were actually enough public web sites to actually form categories back then.  There weren&#8217;t.  Actually, all the sites back then were as horrible as only the early-90&#8217;s era web could be.  They were meant to run on NCSA&#8217;s Mosaic and share basic information (usually a photo, my university e-mail and research links).  Of course it didn&#8217;t really matter as they were being rendered on ancient university computers the processing power of which we marvelled at because they could also run MATLAB, do word processing and possibly draw some black and white images (not at the same time of course).   </p>
<p>It wasn&#8217;t just the computers, it was the network.  The pages were being sent over fairly slow university networks, possibly via my SLIP connection or, *GASP*, AOL or Prodigy, and a speedy 28.8 or 36.6 modem&#8230; maybe faster if money was no object and you got lucky.  Animated gifs (remember those?) loaded slowly&#8230; but once they did we could all get a good chuckle about the animated dog running back and forth at the bottom of the page or the dance of numerous small fuzzy rodents filling the screen.</p>
<p>The bad news is that there were limits, the good news is that there were limits.  That isn&#8217;t a typo.  Limitations and constraints make us think about what we&#8217;re doing.  It forces trade-offs and, possibly, leads us to a more rigorous thought process where we are forced to make choices.  Fast forward 15 years and the world of the web has less limits.  We now face a gap that is forming between what designers and developers can do and the systems users use to access those web systems.</p>
<p>For a (hopefully) brief moment in our history, we are being thrown backwards as the mobile web becomes more important and the capability gap of mobile devices vs. their desktop/laptop brethren are painfully obvious.  Once again economy of design and speed are important.  The first mobile phone call was made by Martin Cooper at Motorola in 1973.  He first called a competitor at Bell Labs, presumably to gloat, much like associates who acquired first generation iPhones in 2007. Now we have mobile web browsers on devices such as Blackberries and iPhones and a growing dependence on mobile technology.  Mobile subscriptions worldwide have far exceeded those of fixed lines.  Some estimates put those mobile subscriptions at 4x more than landlines, while also growing at a faster rate than landlines.</p>
<p>Unfortunately, many designers and developers are simply trying to make web sites that have the most flash, features, buttons and advertisements in an attempt to monetize their content, create traffic to their web site, generate leads or meet some other business goal.  Many of the aspects of these sites can not be utilized by mobile web browsers. </p>
<p>Sure, maybe the iPhone users can view your &#8220;awesome&#8221; flash-based web site, with some work, but everyone in the world doesn&#8217;t use iPhones.  Designing just for the iPhone is the equivalent of designing for a particular browser, instead of testing for cross-browser compatibility.  Notably, in the United States, iPhone users are stuck on AT&amp;T&#8217;s 3G network which is abysmal and unpredictable&#8230; faster than dial-up in 1994, yes, but only when it works.  Apparently this is helped by praying for forgiveness to Steve Jobs nightly for that old PC you still use from time to time. </p>
<p>Also, many phones don&#8217;t have the horsepower or compatibility to look at your flash-based web site.  As a matter of fact, maybe you didn&#8217;t know, Mr. and Mrs. Designer, your site actually crashes some browsers on regular desktop computers.  The fact that it locks up many of our mobile web browsers should be obvious. </p>
<p>It is time once again to reconsider what good web design is and consider anew how to best approach building or repurposing web sites for mobile.  Some of the lessons of the &#8220;old days&#8221; of the web can still be instructive as we wait for mobile devices to catch up to the modern web.  Content is still king (well, services too) and economy of design, AKA &#8220;less is more&#8221;, is still the best philosophy.  If the web is about content and applications to utilize that content then the central system to your mobile strategy should be a Content Management System (CMS).  I am continually amazed at how many international companies do not have a CMS.  They have plenty of content, but they horde it, serve it up in a single language, don&#8217;t repurpose it for the web and generally have poor work flows for updating the content. </p>
<p>These are well known problems a CMS can help solve, along with a group of people in the organization committed to change.  Multi-platform content distribution applies to mobile devices as well, no surprise.  Mobile devices are almost a language unto themselves, they require that we translate our sites so that they can understand, often with WAP or WML, but most importantly with the way we produce and distribute content and services.  This would be tedious to do by hand, but with a CMS it becomes much easier and will help bridge the gap between mobile devices and the latest web content and applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tazlake.com/technology/mind-the-gap-mobile-devices-and-the-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Why shouldn’t I store SSNs in databases?</title>
		<link>http://www.tazlake.com/technology/do-not-store-ssn-in-databases/</link>
		<comments>http://www.tazlake.com/technology/do-not-store-ssn-in-databases/#comments</comments>
		<pubDate>Mon, 04 May 2009 19:54:16 +0000</pubDate>
		<dc:creator>Taz Lake</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AES]]></category>
		<category><![CDATA[COTS]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[hacker]]></category>
		<category><![CDATA[identity theft]]></category>
		<category><![CDATA[mySQL]]></category>
		<category><![CDATA[osCommerce]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[SSN]]></category>
		<category><![CDATA[Zen Cart]]></category>

		<guid isPermaLink="false">http://mykaizenevent.com/?p=70</guid>
		<description><![CDATA[I get this question a lot more than I would expect.  There are still many misconceptions from clients, students and even developers about what is ok and what is not when storing sensitive data in web applications.  This is particularly problematic for small and medium sized businesses that may not have the resources or expertise [...]]]></description>
			<content:encoded><![CDATA[<p>I get this question a lot more than I would expect.  There are still many misconceptions from clients, students and even developers about what is ok and what is not when storing sensitive data in web applications.  This is particularly problematic for small and medium sized businesses that may not have the resources or expertise to put the appropriate security mechanisms in place.  This is especially true in a business where capturing SSNs are a necessary part of doing business.</p>
<p>Almost all of us have personally identifiable information stored in a database somewhere on the Internet.  Quite commonly this information is stored in the public view in the form of social networking sites like Facebook or Twitter.  However, the real litmus test of data sensitivity for consumers is whether or not the information may be used to compromise the user’s identity.  There are certain security standards in place to help with this such as HIPAA or PCI.</p>
<p>Your web host is PCI compliant.  You’re using Zen Cart, osCommerce, or a COTS e-commerce solution.  Your database is mySQL and you have SSL running to protect the transport.  By all practical measures your e-commerce environment is secure. </p>
<p>However, if a compromise should occur no one can steal your customer’s identity by simply finding out their name and address.  Anyone can find that easily via the white pages, Google or any number of other mechanisms.  To steal my identity, the attacker would also have to also know something unique about me.  In fact, they may need multiple unique pieces of information to effectively steal my identity (my billing history, my SSN, mother&#8217;s maiden name, etc.).  Anyone can get names and addresses from any list provider.<br />
 Credit reports with billing information can be had.  The brokering, and compromise, of SSNs has been around for a while… maybe you’ve heard of the ChoicePoint debacle?</p>
<p>The latter is the worst, because if a database is compromised, and SSNs get out in the open, they are very difficult to change.  If a piece of data, like a credit card, is compromised then the problem can be contained.  Simply change the number, reverse the charges and open a criminal investigation.  If an SSN is compromised, it cannot be changed easily and may be utilized until the criminal is caught.  The criminal may also sell this data to others. </p>
<p>The risk to any company collecting data is enormous, but even more so when collecting SSN data.  The question of how to shift this risk is answered by the process used for collection and whether or not the data is stored.  There are ways to protect the SSN using well known techniques like AES encryption.  These are built into some databases or can be coded fairly easily. </p>
<p>Unfortunately to decrypt the data, to view the clear text after initial encryption, requires a developer to use encryption methods which allow for the data to be decrypted.  This mechanism can also be attacked by compromising a password for the administrative interface where the SSN is viewed.  If an authorized human can view it, a hacker could view it also.</p>
<p>For something with a well known pattern, like an SSN, it is also possible to do a brute force or dictionary attack to compromise the SSN if the encryption algorithm is known or can be guessed. </p>
<p>Let&#8217;s say a hacker, we’ll call him Bob, compromises your database and gains access.  However, you have encrypted the data using a built-in algorithm.  Good for you, the clear text identifying data is not in the open… yet.  However, Bob knows there are a few limited mechanisms used for encryption (AES for example).  Bob also knows there are a limited number of numeric combinations for SSNs.  So, Bob can write a program to run through all possibilities, encrypt them with various algorithms, and then match the encrypted string in your database.  By matching these, Bob knows what the SSN is because he knows the starting clear text.  Because the information is stored in the same DB Bob also has matching names and address data.  Obviously, if it is stored in clear text, Bob has a much easier time.</p>
<p>So, how do we defeat Bob the hacker?  Here are some suggestions and more are welcome:</p>
<ul>
<li> Use an API from a credit reporting agency.  This shifts the risks to the credit reporting agency because the SSNs are never stored.  You can still do a credit check based on information entered by the user.</li>
<li>Add &#8220;salt&#8221; to the original SSN string if you are storing an encrypted version.  This can be done at time of encryption and means the dictionary attack won’t work in a feasible amount of time with a strong salt value.</li>
<li> Set up a separate encrypted database for SSNs.  This keeps the data separate from your main e-commerce system and allows additional security measures to be put in place.</li>
</ul>
<p>The good news is that hackers don&#8217;t often waste their time on small and medium sized companies, unless they are small to medium sized hackers.  The prize is simply not big enough.  Unfortunately, automated scripts can help hackers find vulnerabilities to exploit, which includes your web site.  Follow some of the suggestions above and you can feel more comfortable conducting business online where SSNs are required as part of the transaction.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tazlake.com/technology/do-not-store-ssn-in-databases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
