<?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>WebProNews &#187; Encryption</title>
	<atom:link href="http://www.webpronews.com/tag/encryption/feed" rel="self" type="application/rss+xml" />
	<link>http://www.webpronews.com</link>
	<description>Breaking News in Tech, Search, Social, &#38; Business</description>
	<lastBuildDate>Mon, 13 Feb 2012 02:48:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>ASP.NET: HttpModule for Query String Encryption</title>
		<link>http://www.webpronews.com/aspnet-httpmodule-for-query-string-encryption-2007-01</link>
		<comments>http://www.webpronews.com/aspnet-httpmodule-for-query-string-encryption-2007-01#comments</comments>
		<pubDate>Thu, 25 Jan 2007 16:44:01 +0000</pubDate>
		<dc:creator>Mads Kristensen</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Encryption]]></category>
		<category><![CDATA[HttpModule]]></category>
		<category><![CDATA[query]]></category>

		<guid isPermaLink="false">http://www.webpronews.com/?p=34763</guid>
		<description><![CDATA[URL parameters or query strings are often used to carry information that can be used by hackers to do identity theft or other unpleasant things.
]]></description>
			<content:encoded><![CDATA[<p>URL parameters or query strings are often used to carry information that can be used by hackers to do identity theft or other unpleasant things.</p>
<p>Consider the URL <i>example.com/?user=123&#038;account=456</i> and then imaging what a hacker could do with it. Security or not, sometimes you just don&#8217;t want the visitors to see all the query strings for whatever reason. </p>
<p>In those cases it would be nice if we could encrypt the entire query string so it wouldn&#8217;t carry any readable information. The problem with one big encrypted query string is that we would break all the code that referenced the query. Code like Request.QueryString["user"] would no longer work, but as usual ASP.NET has the answer to that problem. </p>
<p>What we need is an HttpModule that can turn the encrypted query string into a normal readable one, so that we can still use our old logic like Request.QueryString["user"]. In other words, we want the user to see this </p>
<p><b><code>?enc=VXzal017xHwKKPolDWQJoLACDqQ0fE//wGkgvRTdG/GgXIBDd1 </code></b></p>
<p>while your code sees this </p>
<p><b><code>?user=123&#038;account=456.</code></b></p>
<p><b>The HttpModule</b></p>
<p>The module we need for this task must be able to do a few simple things. It must be able to encrypt the regular query string so that all your current links will automatically be encrypted. It must also be able to decrypt it again so that you can write the code as you normally would. It must also provide a method for encrypting a regular query string if you don&#8217;t want to use automatic encryption.</p>
<p>The most important feature of the module is to make it totally plug &#8216;n play. You should be able to apply the module to any existing website and automatically have query string encryption and decryption without changing any of your code. </p>
<p><b>Implementation</b></p>
<p>Download the QueryStringModule.cs below and put it in the App_Code folder of your website. Then add the following lines to the web.config&#8217;s <system.web> section:</p>
<p><code>&lt;httpModules&gt;</p>
<p>&nbsp;&nbsp;  &lt;add type="QueryStringModule" name="QueryStringModule"/&gt;</p>
<p>&lt;/httpModules&gt;</code></p>
<p>Because automatic encryption is not always desirable the module has a comment that tells you how to turn it off. The module is well commented and should be easy to modify for any ASP.NET developer.</p>
<p><b>Example</b></p>
<p>You can encrypt query strings by using the Encrypt() method of the module from any web page or user control. </p>
<p><code>string query = QueryStringModule.Encrypt("user=123&#038;account=456");</code></p>
<p>Then just add the encrypted query string to the links that need encryption. You don&#8217;t need to use the method if you use automatic encryption.</p>
<p><b>Download</b></p>
<p><a href="http://www.madskristensen.dk/blog/ct.ashx?id=a6a478df-245a-4cd8-a3cc-80bb8c9c8004&#038;url=http%3a%2f%2fwww.madskristensen.dk%2fblog%2fcontent%2fbinary%2fQueryStringModule.zip" class="bluelink">QueryStringModule.zip (1,55 KB)</a></p>
<p><a href="http://www.madskristensen.dk/blog/CommentView,guid,a6a478df-245a-4cd8-a3cc-80bb8c9c8004.aspx" class="bluelink">Comments</a></p>
<p>Tag:   </p>
<p><a href="javascript:location.href='http://reddit.com/submit?url='+encodeURIComponent(location.href)+'&#038;title='+encodeURIComponent(document.title)"><img  src="http://images.ientrymail.com/webpronews/reddit.png" border=0>Reddit</a> | <a href="javascript:location.href='http://www.furl.net/storeIt.jsp?u='+encodeURIComponent(document.location.href)+'&#038;t='+encodeURIComponent(document.title)+ '   '"><img src="http://images.ientrymail.com/webpronews/furl-pic.png" border=0> Furl</a> </p>
<p> Bookmark WebProNews: <a href="http://www.webpronews.com"><img src="http://images.ientrymail.com/webpronews/wpn-readit.jpg" border=0></a></p>
<p>Mads Kristensen currently works as a Senior Developer at Traceworks located<br />
in Copenhagen, Denmark. Mads graduated from Copenhagen Technical Academy with a multimedia degree in<br />
2003, but has been a professional developer since 2000. His main focus is on ASP.NET but is responsible for Winforms, Windows- and<br />
web services in his daily work as well. A true .NET developer with great passion for the simple solution.</p>
<p>http://www.madskristensen.dk/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webpronews.com/aspnet-httpmodule-for-query-string-encryption-2007-01/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>White Papers Crack Encryption, RSS Issues</title>
		<link>http://www.webpronews.com/white-papers-crack-encryption-rss-issues-2006-07</link>
		<comments>http://www.webpronews.com/white-papers-crack-encryption-rss-issues-2006-07#comments</comments>
		<pubDate>Thu, 27 Jul 2006 14:44:58 +0000</pubDate>
		<dc:creator>WebProNews Staff</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Encryption]]></category>
		<category><![CDATA[GeoRSS]]></category>
		<category><![CDATA[Government]]></category>
		<category><![CDATA[White Paper]]></category>

		<guid isPermaLink="false">http://www.webpronews.com/?p=30578</guid>
		<description><![CDATA[Encryption usage by the federal government needs to be defined better, while GeoRSS offers the promise of geo-enabling RSS feeds with location information.
]]></description>
			<content:encoded><![CDATA[<p>Encryption usage by the federal government needs to be defined better, while GeoRSS offers the promise of geo-enabling RSS feeds with location information.</p>
<p>Embarrassing data losses by the Department of Veterans Affairs and the Internal Revenue Service have led the Office of Management and Budget to issue a memorandum on encrypting personally identifiable information when it is taken away from the office.</p>
<p>Agencies have until August to comply with the OMB request. This will enable them to compensate for a lower level of physical security when data leaves the confines of a secure facility.</p>
<p>The data security company <a href=http://www.guardianedge.com/white_papers/protecting_remote_information.html class=bluelink>GuardianEdge</a> released a white paper on the topic to assist those agencies in complying with OMB.</p>
<p>&#8220;This White Paper is a one-stop companion guide for completing the NIST security checklist and achieving the objectives set forth by the OMB memo, providing key information about how to properly identify and protect PII in a timely and cost-effective manner,&#8221; the company said.</p>
<p>On the syndication side of the world, there is a new way to tag RSS feeds. </p>
<p>Called GeoRSS, the Open Geospatial Consortium (OGC) has developed it as a way for feed creators to place location information into those feeds.</p>
<p>The <a href=http://www.opengeospatial.org/pt/06-050r3 class=bluelink title="PDF reader required">OGC GeoRSS White Paper</a> discussed the proposal, and cited GeoRSS as &#8220;important stepping stone in the evolution of the geo-semantic web.&#8221;</p>
<p>World Wide Web inventor Tim Berners-Lee has espoused the Semantic Web concept; it also has a place in a <a href=http://www.w3.org/2005/Incubator/geo/charter class=bluelink>W3C project</a>. </p>
<p>That project has noted challenges exist when it comes to placing geospatial information into online content; we think those challenges will exist for GeoRSS as well.</p>
<p><i>Discuss this article with your fellow WebPros at <a href="http://www.webproworld.com/viewtopic.php?p=314862" class=bluelink>WebProWorld</a>.</i><br />
&#8212;</p>
<p>Add to <a href="http://del.icio.us/post" onclick="window.open('http://del.icio.us/post?v=4&#038;partner=wpn&#038;noui&#038;jump=close&#038;url='+encodeURIComponent(location.href)+'&#038;title='+encodeURIComponent(document.title),'delicious','toolbar=no,width=700,height=400'); return false;" CLASS="printMailTop"><img src=http://images1.ientrymail.com/webpronews/delicious-pic.png border=0> Del.icio.us</a> | <a href="javascript:void window.open('http://digg.com/submit?phase=2&#038;url='+encodeURIComponent(window.location.href)+'&#038;ei=UTF-8','popup','width=520px,height=420px,status=0,location=0,resizable=1,scrollbars=1,left=100,top=50',0)"><img src=http://images1.ientrymail.com/webpronews/digg-pic.png border=0> Digg</a>  | <a href="javascript:void window.open('http://myweb2.search.yahoo.com/myresults/bookmarklet?t='+encodeURIComponent(document.title)+'&#038;u='+encodeURIComponent(window.location.href)+'&#038;tag=White Paper,Government,Encryption,GeoRSS','popup','width=520px,height=420px,status=0,location=0,resizable=1,scrollbars=1,left=100,top=50',0)"><img src=http://images1.ientrymail.com/webpronews/yahoo-pic.png border=0> Yahoo! My Web</a> | <a href="javascript:location.href='http://www.furl.net/storeIt.jsp?u='+encodeURIComponent(document.location.href)+'&#038;t='+encodeURIComponent(document.title)+' '"><img src=http://images1.ientrymail.com/webpronews/furl-pic.png border=0> Furl</a></p>
<p>Bookmark WebProNews: <a href=http://www.webpronews.com><img src=http://images.ientrymail.com/webpronews/wpn-readit.jpg border=0></a> </p>
<p><script language=JavaScript src="http://aj.600z.com/aj/1095/0/vj?z=1&#038;dim=1088&#038;pos=15"></script></p>
<p>David Utter is a staff writer for WebProNews covering technology and business. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.webpronews.com/white-papers-crack-encryption-rss-issues-2006-07/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OS X File Encryption</title>
		<link>http://www.webpronews.com/os-x-file-encryption-2006-05</link>
		<comments>http://www.webpronews.com/os-x-file-encryption-2006-05#comments</comments>
		<pubDate>Thu, 25 May 2006 21:58:20 +0000</pubDate>
		<dc:creator>A.P. Lawrence</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Encryption]]></category>
		<category><![CDATA[file encryption]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[os x]]></category>

		<guid isPermaLink="false">http://www.webpronews.com/?p=29519</guid>
		<description><![CDATA[I'm going to look at two methods for encrypting files on Mac OS X. The first is built in, and uses DisK Utilty to create an encrypted disk image.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m going to look at two methods for encrypting files on Mac OS X. The first is built in, and uses DisK Utilty to create an encrypted disk image.</p>
<p>Disk Utility</p>
<p>Disk Utility needs to work from a folder, so you first need to create a directory to put your protected files in. I used &#8220;secrets&#8221; as my directory name, and moved my important files into it. I then invoked (in Terminal):</p>
<p><code>hdiutil create -encryption -stdinpass -srcfolder secrets foo.dmg </code></p>
<p>You can also do this with the graphical Disk Utility tool. This will ask for an encryption passphrase, or you could just do:</p>
<p><code>echo "your passphrase" | hdiutil create -encryption -stdinpass -srcfolder secrets foo.dmg</code></p>
<p>This creates &#8220;foo.dmg&#8221; and the passphrase you used is required to open it. If you do that graphically through Finder, you&#8217;ll be prompted for your phrase, or you can do it from the command line:</p>
<p><code>hdiutil attach -stdinpass foo.dmg </code></p>
<p>Entering the correct passphrase gives you a mounted disk image where you can access your files. By the way, don&#8217;t forget to remove the &#8220;secrets&#8221; directory and its contents.. not much point in encrypting a disk image of a folder and leaving the unencrypted version on the disk.</p>
<p><b>GNU Privacy Guard</b></p>
<p>You can download this from <a href="http://macgpg.sourceforge.net/" class="bluelink" title="GNU Privacy Guard">http://macgpg.sourceforge.net/</a>. Run the installer, and then at the Terminal command line run:</p>
<p><code>gpg --gen-key</code> </p>
<p>This asks a few questions, including requesting a passphrase, and generates the files it needs. Generating these will take a fair amount of time &#8211; you need patience. You also need your machine to be doing something; I did &#8220;ls -lR /&#8221; in a terminal window while continuing with my ordinary work. Eventually gpg will finish up:</p>
<p><code>gpg: /Users/apl/.gnupg/trustdb.gpg: trustdb created<br />
gpg: key 5D604AE8 marked as ultimately trusted<br />
public and secret key created and signed. </p>
<p>gpg: checking the trustdb<br />
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model<br />
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u<br />
pub 1024D/5D604AE8 2006-05-14<br />
Key fingerprint = F08A C9DC 53DF AF02 8E50 B683 2A0B 47EC 5D60 4AE8<br />
uid Tony Lawrence (Key for files) <tony@aplawrence.com><br />
sub 4096g/100D68F5 2006-05-14 </code></p>
<p>For simple use, gpg is very easy. For example, given a file &#8220;stuff&#8221;:</p>
<p><code>gpg -e stuff </code></p>
<p>is all you need. That will ask for a user id (you provided that when you created the gpg keys) and will create &#8220;stuff.gpg&#8221;. This does not remove &#8220;stuff&#8221;, so if you are using this to protect files on your disk, remove the original. To decrypt, &#8220;gpg stuff.gpg&#8221;. For that, you&#8217;ll need your passphrase.</p>
<p>For more on gpg in general, see <a href="http://aplawrence.com/Basics/gpg.html" class="bluelink" title="GPG/PGP Basics">GPG/PGP Basics</a> and for more on integrating GNU Privacy Guard with Mac OS X programs, see <a href="http://fiatlux.zeitform.info/en/instructions/pgp_macosx.html" class="bluelink" title="Configuring GnuPG">Configuring GnuPG (Mac OS X)</a></p>
<p>*Originally published at <a href="http://www.aplawrence.com" class="bluelink" title="A.P. Lawrence">APLawrence.com</a></p>
<p>Add to <a href="http://del.icio.us/post" onclick="window.open('http://del.icio.us/post?v=4&#038;noui&#038;jump=close&#038;url='+encodeURIComponent(location.href)+'&#038;title='+encodeURIComponent(document.title), 'delicious','toolbar=no,width=700,height=400'); return false;">Del.icio.us</a> | <a href="javascript:void window.open('http://digg.com/submit?phase=2&#038;url='+encodeURIComponent(window.location.href)+'&#038;ei=UTF-8','popup','width=520px,height=420px,status=0,location=0,resizable=1,scrollbars=1,left=100,top=50',0)">DiggThis</a>  | <a href="javascript:void window.open('http://myweb2.search.yahoo.com/myresults/bookmarklet?t='+encodeURIComponent(document.title)+'&#038;u='+encodeURIComponent(window.location.href)+'&#038;tag=StreamCast,Skype,eBay,Kazaa','popup','width=520px,height=420px,status=0,location=0,resizable=1,scrollbars=1,left=100,top=50',0)">Yahoo! My Web</a> | <a href="javascript:location.href='http://www.furl.net/storeIt.jsp?u='+encodeURIComponent(document.location.href)+'&#038;t='+encodeURIComponent(document.title)+' '">Furl</a></p>
<p>A.P. Lawrence provides SCO Unix and Linux consulting services http://www.pcunix.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webpronews.com/os-x-file-encryption-2006-05/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Deal With Wireless Encryption Security Threats</title>
		<link>http://www.webpronews.com/how-to-deal-with-wireless-encryption-security-threats-2006-02</link>
		<comments>http://www.webpronews.com/how-to-deal-with-wireless-encryption-security-threats-2006-02#comments</comments>
		<pubDate>Wed, 08 Feb 2006 18:21:20 +0000</pubDate>
		<dc:creator>Kevin Erickson</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Encryption]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://www.webpronews.com/?p=26715</guid>
		<description><![CDATA[Because nobody wants to compromise the integrity of their network by having some hacker "borrow" your bandwidth or gain access and start snooping around you need to lock down your network.
]]></description>
			<content:encoded><![CDATA[<p>Because nobody wants to compromise the integrity of their network by having some hacker &#8220;borrow&#8221; your bandwidth or gain access and start snooping around you need to lock down your network.</p>
<p>Fortunately, encryption is built into wireless technology; it&#8217;s simply a matter knowing how to turn it on.   </p>
<p><b>Wired Equivalent Privacy (WEP) or WiFi Protected Access (WPA) </b></p>
<p> The good news is that wireless technology does have pre-built security but the bad news is there&#8217;s a flaw in that security. The problem lies in the fact that it&#8217;s been built upon two completely incompatible standards with the result being that it&#8217;s a pain in the &#8220;you know what&#8221; to set up a whole network to use encryption.   </p>
<p>Like most new technologies it starts out using a certain standard and then as the technology evolves better ways are developed that make the original technology obsolete. Flaws are also exposed in the original standard that make it less desirable. Problems then develop as business and individuals scramble to transition from the old to the new because during the transition there&#8217;s always equipment and devices that use the old technology and the differences usually cause compatibility issues.   </p>
<p>WEP was the original standard for encryption over 802.11 wireless networks but in 2001 a research paper was published entitled: &#8220;Weaknesses in the Key Scheduling Algorithm of RC4&#8243; which demonstrated critical flaws in the security of WEP that made it rather simple for someone with reasonable know how to break it and have access to someone&#8217;s network.    </p>
<p>In a nutshell, WEP made it too easy to discover its&#8217; secret key and once you have the key; you can hack in and stay for as long as you want. Owners quickly recognized that it was virtually useless to use WEP on their networks but by the time the industry discovered the security flaw the WEP method was built into almost every piece of wireless equipment made.   </p>
<p>Clearly, the WEP standard had to be replaced and in 2003 WPA was introduced and fortunately it fixed most of its predecessor&#8217;s flaws. WPA is much more secure than WEP. Unfortunately, WPA took a long time to reach the market and WPA devices were rather expensive when first released. As a result, WEP was and still is the default in a high percentage of the software being used because it&#8217;s supported by more devices. Now you can see why we find ourselves in the confused situation we are today.   </p>
<p><b>WPA is the Here and Now </b></p>
<p> If you plan on to enable encryption, always use WPA. Any devices purchased after 2003 should be WPA compatible because the upgrade was made a mandatory part of the standard.    </p>
<p>Without a doubt WEP is better than nothing because it will; at least, deter the casual intruder, who won&#8217;t try anything more than double-clicking to gain access to your network. In addition, WEP can also make you less of a target for wardrivers because there&#8217;s so many completely open networks that are even easier targets than those using WEP that they simply access them. However, it&#8217;s silly to use WEP nowadays (post 2003) when WPA is so easily available.   </p>
<p><b>Encryption &#8211; Turning It On </b></p>
<p> Actually turning on encryption in Windows is fairly easy. The problem isn&#8217;t complexity it&#8217;s time or aggravation because it does involve a fair amount of clicking which is probably why so few people bother. </p>
<p>  Step one is to turn on encryption for your wireless router or access point. The exact method will vary between devices but you can usually do it by visiting the router or access point&#8217;s configuration page in your web browser, find the encryption settings and then choosing WPA. If you have any trouble, refer to your manual.   </p>
<p>Once you&#8217;ve done that, you&#8217;ll need to change the encryption settings on your computers. Open the &#8220;View Available Wireless Networks&#8221; screen by right-clicking on your wireless connection (bottom right of your screen) and selecting it from the menu that appears. Next, click &#8220;Change advanced settings&#8221; go to the Wireless Networks section and click your network&#8217;s name and then click Properties.   </p>
<p>Next, where it says &#8220;Network authentication&#8221; select WPA and click OK on everything you&#8217;ve opened. Really not that bad but then again, that&#8217;s not the fun part. The fun comes when you get to do this for &#8220;every computer on your network&#8221;. Sorry to be the bearer of bad news but grab a latte, put your feet up and start clicking.   </p>
<p><b>Easier for New Networks </b></p>
<p> As you can see, the process is your basic &#8220;pain in buns&#8221; for existing networks but fortunately it&#8217;s much easier for networks that have not been set up. You still need to turn on encryption at the wireless router or access point but once you&#8217;ve done that you can set up encryption using the Wireless Network Setup Wizard.  </p>
<p>  You&#8217;ll have to ask Mr. Gates about this one but for some reason Windows still turns on WEP by default when you set up your wireless network. What this means is that each time you go through the wizard, you&#8217;ll need to remember to check the box on the third screen that says &#8220;Use WPA encryption instead of WEP&#8221;. A pain, but it&#8217;s still easier than changing the settings manually down the road.</p>
<p>Kevin Erickson is an entrepreneur and writer.<br />
For more articles he&#8217;s written visit: http://www.zephyrnet.com |<br />
<a href="http://www.eyeonvoip.com">http://www.eyeonvoip.com</a> | <a href="http://www.usfairtrade.com">http://www.usfairtrade.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webpronews.com/how-to-deal-with-wireless-encryption-security-threats-2006-02/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Overview of XML Encryption</title>
		<link>http://www.webpronews.com/overview-of-xml-encryption-2005-10</link>
		<comments>http://www.webpronews.com/overview-of-xml-encryption-2005-10#comments</comments>
		<pubDate>Tue, 04 Oct 2005 20:22:50 +0000</pubDate>
		<dc:creator>Pawan Bangar</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Encryption]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.webpronews.com/?p=23561</guid>
		<description><![CDATA[XML encryption classifies a course of action for encrypting plain text data, generating ciphertext, and decrypting the ciphertext to retrieve the plaintext data.
]]></description>
			<content:encoded><![CDATA[<p>XML encryption classifies a course of action for encrypting plain text data, generating ciphertext, and decrypting the ciphertext to retrieve the plaintext data.</p>
<p>Both the &lt;EncryptionMethod&gt; and &lt;KeyInfo&gt; are optional i.e. the sender and receiver may agree on the encryption method and key in advance. Several elements use the definitions from the DSIG.</p>
<p>If the recipient does not know the decryption key in advance, then the sender generates and sends it. The key can be protected in transit by encrypting method or key agreement.</p>
<p>If the plaintext data to encrypt is an XML element or content, you encode it using UTF-8 and perform any necessary transforms to it, otherwise, if it is an external resource, you simply consider it as an octet sequence. You then encrypt the data, creating CipherValue, which you place in EncryptedData.</p>
<p>Care must be taken when signing content that may later be encrypted; clearly; the content must be restored to exactly the original plaintext form for the signature to validate properly. To restore the plaintext in the signed content, use the decryption transform method for XML signature defined by the XML encrypt joint W3C and IETF working group.</p>
<p>This transform also allows specifications of XML fragments that were encrypted and then signed with rest of the document and, therefore, are not decrypted to validate the signature. Often, encrypted fragments are removed from the signed information by using the XPATH transform in the reference element, since the meaningful information is the plaintext.</p>
<p>We can sign the plaintext version of an encrypted element by including the appropriate reference element pointing to it. When the signed document is confidential and encrypted after being signed, you should also protect against surreptitious forwarding in which the recipient forwards the signed confidential document to a competitor, encrypted by the competitor public key, trying to make it look as if the sender sent the confidential information. To prevent surreptitious forwarding, the signer should append the recipient identities to the document being signed.</p>
<p>If the recipient does not know the decryption key in advance, then the sender generates and sends it. The key can be protected in transit by encrypting method or key agreement.</p>
<p>If the plaintext data to encrypt is an XML element or content, you encode it using UTF-8 and perform any necessary transforms to it, otherwise, if it is an external resource, you simply consider it as an octet sequence. You then encrypt the data, creating CipherValue, which you place in EncryptedData.</p>
<p>Care must be taken when signing content that may later be encrypted; clearly; the content must be restored to exactly the original plaintext form for the signature to validate properly. To restore the plaintext in the signed content, use the decryption transform method for XML signature defined by the XML encrypt joint W3C and IETF working group.</p>
<p>This transform also allows specifications of XML fragments that were encrypted and then signed with rest of the document and, therefore, are not decrypted to validate the signature. Often, encrypted fragments are removed from the signed information by using the XPATH transform in the reference element, since the meaningful information is the plaintext.</p>
<p>We can sign the plaintext version of an encrypted element by including the appropriate reference element pointing to it. When the signed document is confidential and encrypted after being signed, you should also protect against surreptitious forwarding in which the recipient forwards the signed confidential document to a competitor, encrypted by the competitor public key, trying to make it look as if the sender sent the confidential information. To prevent surreptitious forwarding, the signer should append the recipient identities to the document being signed.</p>
<p>Pawan Bangar, Technical Director, Birbals, #1047,Sector 42-b, Chandigarh. <a href="http://www.ebirbals.com">www.ebirbals.com</a>,  <a href="http://www.birbals.com">www.birbals.com</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.webpronews.com/overview-of-xml-encryption-2005-10/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is the Point of Encryption if you Don&#8217;t Know Who For?</title>
		<link>http://www.webpronews.com/what-is-the-point-of-encryption-if-you-dont-know-who-for-2005-06</link>
		<comments>http://www.webpronews.com/what-is-the-point-of-encryption-if-you-dont-know-who-for-2005-06#comments</comments>
		<pubDate>Tue, 21 Jun 2005 22:16:01 +0000</pubDate>
		<dc:creator>Dr. Colin Walter</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Encryption]]></category>
		<category><![CDATA[trust]]></category>

		<guid isPermaLink="false">http://www.webpronews.com/?p=19930</guid>
		<description><![CDATA[Phishing is the fastest growing threat in the history of Internet and has gained immense popularity amongst Internet fraudsters and hackers as a simple yet effective way to gain unsolicited access to confidential user information.
]]></description>
			<content:encoded><![CDATA[<p>Phishing is the fastest growing threat in the history of Internet and has gained immense popularity amongst Internet fraudsters and hackers as a simple yet effective way to gain unsolicited access to confidential user information.</p>
<p>Using social engineering tactics, fraudsters ensure that the trust relationship established by a company with its customers is exploited to maximum effect. It is for this reason that moving towards stronger identity assurance techniques is the only long term strategy that will maintain the stability of the Internet.</p>
<p>Identity and authentication are fundamental concepts in every marketplace. People and institutions establish trust before conducting business. Traditionally there has been a reliance on physical credentials such as a business license or a letter of intent. In the age of the Internet, e-business will only succeed if this ability to pass trust remains consistent. Authenticated SSL certificates have been proven to provide the critical online identity assurance necessary to establish trust between parties. In fact the future success of a multitude of e-commerce eco- systems rests directly upon the continual strengthening of that trust relationship.</p>
<p><b>WHY DO WE NEED ENCRYPTION?</b></p>
<p>The Web presents a unique set of trust issues, which businesses must address at the outset to minimize risk. Consumers submit information and purchase goods or services via the Internet only when they are confident that their personal information, such as credit card numbers and financial data, is secure. The solution for businesses reliant upon e-commerce is to implement a complete e-commerce trust infrastructure based on encryption technology. Let us take a closer look at &#8220;encryption&#8221;. The dictionary definition is:</p>
<p><img src="http://images.ientrymail.com/enterprisesecuritynews/0621figure1.gif"></p>
<p>1. To put into code or cipher. </p>
<p>2. <u>Computer Science</u>. To alter (a file, for example) using a secret code so as to be unintelligible to unauthorized parties. </p>
<p>3. The manipulation of data to prevent accurate interpretation by all but those for whom the data is intended. Financial institutions use encryption to increase the security of data transmitted via the Internet. </p>
<p>So in essence encryption is the process of transforming information to make it unintelligible to <b>all unauthorized parties </b>except the intended recipient and forms the basis of data integrity and privacy which is necessary for e-commerce. What this means is that the whole purpose of encryption is to make sure that the <b>intended recipient </b>is the only one who receives in intelligible form the information which has been encrypted. </p>
<p>Unless you have authenticated the &#8220;<b>intended recipient</b>&#8221; how do you know who that entity is? The answer is you don&#8217;t! So it would be fair to say from the definitions above that, <b><font color="red">if you don&#8217;t know who you are encrypting for, then encryption is potentially pointless</font>.</b></p>
<p>&#8220;High Assurance&#8221; certificate authorities (CAs) perform that authentication for you with due diligence, and put their name to this in the SSL certificates which they sign. This is not done by &#8220;Low Assurance&#8221; CAs which issue SSL certificates providing encryption of dubious worth. Let&#8217;s look more specifically at other legal, technical and commercial issues facing consumers and businesses where entity authentication is not performed.</p>
<p><b>Should consumers take the 60,000,000:1 gamble on privacy and confidentiality? </b></p>
<p><a name="Today"></a>Today, new web site registrations are running at approximately 5 million new domains per quarter with a cumulative total of over 60 Million . Without a pre-existing trust relationship, consumers have no trusted method available to verify the ownership of a web site and therefore are completely reliant upon the entity authentication processes performed by Certification Authorities. If no authentication process is performed then this forces consumers to gamble with privacy and confidentiality. </p>
<p><center> <img src="http://images.ientrymail.com/enterprisesecuritynews/0621figure2.gif"> </p>
<p><i>With &#8220;authentication&#8221; consumers can identify the entity with whom they wish to communicate. </i> </p>
<p><img src="http://images.ientrymail.com/enterprisesecuritynews/0621figure3.gif"> </p>
<p><i>With no &#8220;entity authentication&#8221; &#8216;n&#8217; is approximately 60,000,000 and growing at 55,000 per day. Enterprises and businesses which force users to gamble private and confidential information will lose out to those whose identity can be established directly from their SSL certificate.</i> </center></p>
<p>Let&#8217;s look at SSL itself in more detail.</p>
<p><b>What is SSL?</b></p>
<p>Established by Netscape in 1994, the SSL protocol is now widely accepted as a method of providing confidentiality, authentication and integrity for on-line transactions. Companies such as VeriSign and Comodo deliver high assurance certificates to individuals and organization&#8217;s following a subscriber authentication process that includes verification of the organizations existence, the organization&#8217;s right to use the domain name included within the certificate and the authority of the requester to obtain a certificate on behalf of the organization. </p>
<p>The original concept from Netscape stated:-</p>
<ul>&#8220;<font color="gray">Third-party CAs are critical for some applications. For example, a bank that wishes to put a server on the Internet for online banking cannot just issue its own certificate to that server and ask customers to believe that it really is the bank&#8217;s server. Instead, the bank will purchase a server certificate from a third-party CA.</font> <font color="red">The third-party CA <b>takes responsibility </b>for performing <b>due diligence </b>and ensuring that the company requesting the certificate <b>really is </b>the company it says it is <b>before</b> issuing the certificate</font>.&#8221; </ul>
<p>The use of SSL certificates is a critical building block for secure electronic commerce and one of the most ubiquitous uses of public key infrastructure (PKI). SSL certificates are &#8220;High Assurance&#8221; if they provide three security services &#8211; confidentiality, authentication and integrity. They enable a user to:</p>
<li>Communicate securely with a web site &#8211; Information which the user then provides cannot be intercepted in transit (confidentiality) or altered without detection (integrity) </li>
<li>Verify that the site is actually the company&#8217;s web site and not an imposter&#8217;s site (authentication) </li>
<p>For example, an SSL certificate with the organizational name &#8220;ABC Software Inc.&#8221; is intended to provide assurance that the Web site being viewed (e.g. www.abcsoftware.com) is actually an ABC Software Inc Web site (and not a &#8220;spoofed&#8221; site created specifically by another, unrelated entity to trick unsuspecting web surfers into doing business with someone pretending to be ABC Software Inc.) </p>
<p>Why is it important? A domain name URL (uniform resource locator) is equivalent to a telephone number. It is assigned to a paying customer (organization or individual) for the period of time it is registered.</p>
<p>The domain name system was designed to support open-systems information flow. While there are restrictions on certain types of domains (e.g. .mil is restricted to US military entities, .fr is restricted to organizations physically located in France), there are no such restrictions on .com, .org, .net and others. To register for these types of domains the individual or organization need only pay an annual fee. <font color="red">There is no requirement for registrars to verify the accuracy of the information provided</font>. </p>
<p><center> <img src="http://images.ientrymail.com/enterprisesecuritynews/0621figure4.gif"> </center></p>
<p>With multiple browsers available to view the Internet, the importance of providing a consistent assurance mechanism to an Internet population of greater than 1 Billion individuals is paramount. The architecture of leading Internet browsers available from Microsoft, Mozilla Foundation, Opera and others was originally constructed in such a way as to provide assurance through the use of simple icons (in the form of locks and keys). </p>
<p>However, <font color="red">changes in the SSL certificate marketplace have posed a significant security risk</font> with a huge potential threat to consumer confidence in the security of online commerce.</p>
<p><img src="http://images.ientrymail.com/enterprisesecuritynews/0621figure5.gif"></p>
<p><img src="http://images.ientrymail.com/enterprisesecuritynews/0621figure6.gif"></p>
<p>Internet Explorer does not differentiate between high and low assurance certificates. Even more recent browsers like Firefox, although displaying the signatory authority, still require in-depth analysis by the user of the certificate itself.</p>
<p><font color="red">Due to the practices of Low Assurance certification authorities, the padlock can no longer be assumed to symbolize trust</font></p>
<p>Browser providers have recognized this. The latest version of the Opera Browser (8.0) now has the ability to display organizational (entity) information directly from the web site&#8217;s SSL certificate. </p>
<p><img src="http://images.ientrymail.com/enterprisesecuritynews/0621figure7.gif"></p>
<p><i>Entity information is available from the SSL certificate. </i></p>
<p><img src="http://images.ientrymail.com/enterprisesecuritynews/0621figure8.gif"></p>
<p><i>No Entity information is available &#8211; Encryption is of unknown worth and so trust cannot be established. </i></p>
<p><b>Authentication of an organization</b></p>
<p>Providers of low assurance SSL certificates do not perform all the necessary checks, choosing instead to offer a reduced cost, rapid fulfillment model. This is in direct conflict to accepted industry practice and serves as a source of distrust, confusion and fear for internet users. Whereas in the past it was merely acceptable to rely on the lock symbol, users without tools like Opera must now examine and understand the contents of the SSL certificate, in order to distinguish between the varying levels of assurance. In some cases users may need to refer back to the CPS (Certificate Practice Statement) to be able to understand the level of assurance provided. Industry standards for subscriber registration require that a certification authority (CA) maintains controls to provide reasonable assurance that:</p>
<li>Subscribers are properly identified and authenticated, </li>
<li>Subscriber certificate requests are accurate, authorized and complete. </li>
<p>A certification authority&#8217;s code of practice is detailed in a CPS (Certificate Practice Statement) or disclosed within the CA&#8217;s published certificate policy (CP). There are three fundamental verification steps necessary to be able to issue an SSL certificate to an organization:</p>
<li>Domain ownership &#8211; Does the organization or individual have the right to use the Domain identified on the certificate? </li>
<li>Confirmation of legal status &#8211; Is the organization a legal entity? </li>
<li>Confirmation of the requestor&#8217;s authorization &#8211; Does the individual making the request have authorization from the organization to make the said request? </li>
<p>The importance of the validation steps are identified in the risk table below. In general, an internet user incurs a higher risk if any verification steps are not performed. In each example scenario, the failure to complete the specified checks could expose:</p>
<li>Unsuspecting Internet users to direct financial loss due to fraud. </li>
<li>The legitimate organization to direct financial loss due to fraud, or undue business risk and loss or productivity, or public relations, or legal action. </li>
<li>The certification authority to undue business risk, bad public relations or legal action. </li>
<table style="border: 1px #000000 solid;" cellpadding="2" cellspacing="0">
<tr style="background-color: #0099CC; color: #ffffff;">
<th>Example Scenario</th>
<th>Risk or Threat Posed</th>
</tr>
<tr>
<td>
<ul>
<li>No authentication of the organization by the CA</li>
</ul>
<p> or
<ul>
<li>No check of the applicant&#8217;s right to use the domain name</li>
</ul>
</td>
<td valign="top">A malicious individual operating a spoofed web site tries to masquerade as an existing organization, thus deceiving Internet users into believing that the individual&#8217;s web site is operated under the auspices of an existing organization whose name is included in the SSL certificate.  This then creates a false level of trust by association between the malicious individual and the legitimate organization.</td>
</tr>
<tr class="lightsilver">
<td>
<ul>
<li>No check of the organization&#8217;s existence by the CA</li>
</ul>
</td>
<td>A malicious individual could pretend to be an organization even though no such organization exists (i.e. the articles of incorporation or business documents have not been registered with the appropriate government body)</td>
</tr>
<tr>
<td>
<ul>
<li>No check by the CA of the applicant&#8217;s identity or of his authority to request a certificate for the organization</li>
</ul>
</td>
<td>A malicious individual who is not authorized by the organization could obtain an SSL certificate bearing the organization&#8217;s name, allowing the malicious individual to masquerade as the organization</td>
</tr>
</table>
<p>SSLv2 versus SSLv3/TLSv1 and Assurance Level<br />
It&#8217;s now widely accepted that SSLv2 was insecure. A critical failing of SSLv2 was its susceptibility to a Man-in-the-Middle attack . With SSLv2, it was not possible to guarantee that you were communicating securely with the owner of the private key.</p>
<p>With SSLv3 and the equivalent TLSv1 you can now be sure that only the owner of the server&#8217;s private key can decrypt any information sent. However, as we have already established, where Low Assurance SSL is used, no entity authentication is performed and therefore it is not possible to know who the owner of the private key is. <font color="red">SSLv3.0 is therefore open to a Man-in-the-middle attack with Low Assurance SSL.</font></p>
<p><center><img src="http://images.ientrymail.com/enterprisesecuritynews/0621figure9.gif"></p>
<p><i>With no entity authentication consumers have no ability to know if they are subject to a man-in-the-middle attack. </i></center></p>
<p><b>The Legal implications of using Low Assurance SSL certificates.</b></p>
<p>The role of a Certification Authority (CA) is to certify that an applicant is a legitimate and legally accountable entity. Consumers are afforded far greater protection with High Assurance SSL certificates in the event of a legal claim they have lines of recourse.</p>
<p>Low Assurance SSL certificates provide no legal recourse, and consumers remain unprotected. The actual implication for the user who relies upon an enterprise or business that purchases a low assurance SSL certificate has not yet been tested through the courts.</p>
<p><b>What actually is the difference between High Assurance and Low Assurance?</b></p>
<p>As we have established, High Assurance validation is about &#8220;Certifying the end entity&#8221; and therefore &#8220;authenticating the intended recipient&#8221;. </p>
<p>Low assurance processes fail to &#8220;authenticate the intended recipient&#8221; as discussed earlier in the definition of &#8220;encryption&#8221;. The only item validated is control of a domain. Domain names are themselves susceptible to vulnerabilities. </p>
<p>DNS cache poisoning is a technique which corrupts the DNS (Domain Name System) injecting false information into the system so that future requests can be diverted from their intended destinations. In a DNS poisoning attack it is possible for a localized domain of the same name to exist, and therefore possible for a second fraudulent Low Assurance SSL to be created. As no other checking is done an attacker can obtain an SSL certificate for any domain name that can be affected by a DNS poisoning attack. <font color="red">Low Assurance SSL certificates are susceptible to DNS cache poisoning attacks.</font></p>
<p><b>Low Assurance SSL and compliancy to International Standards</b></p>
<p>SSL certificates must conform to internationally recognized standards for interoperability and are thus X.509 compliant. The data structure within X.509 itself makes use of another International standard, namely X.520:</p>
<p><font color="gray">5.4 Organizational attribute types</p>
<p>These attribute types are concerned with organizations and can be used to describe objects in terms of organizations with which they are associated.<br />
5.4.1 Organization Name</p>
<p>The Organization Name attribute type specifies an organization. When used as a component of a directory name it identifies an organization with which the named object is affiliated.</p>
<p>An attribute value for OrganizationName is a string chosen by the organization (e.g. O = &#8220;Scottish Telecommunications plc&#8221;). Any variants should be associated with the named Organization as separate and alternative attribute values.</p>
<p>organizationName ATTRIBUTE ::= {<br />
SUBTYPE OF name<br />
WITH SYNTAX DirectoryString {ub-organization-name}<br />
ID id-at-organizationName }</p>
<p>The Collective Organization Name attribute type specifies an organization name for a collection of entries.</p>
<p>collectiveOrganizationName ATTRIBUTE ::= {<br />
SUBTYPE OF organizationName<br />
COLLECTIVE TRUE<br />
ID id-at-collectiveOrganizationName } </font></p>
<p><img src="http://images.ientrymail.com/enterprisesecuritynews/0621figure10.gif" align="left"><br />
X.509<br />
Information technology &#8211; Open systems interconnection &#8211; The Directory: Public-key and attribute certificate frameworks<br />
X.520<br />
Information technology &#8211; Open Systems Interconnection &#8211; The Directory: Selected attribute types </p>
<p><center><img src="http://images.ientrymail.com/enterprisesecuritynews/0621figure11.gif"></p>
<p><i>Here the &#8216;O&#8217; &#8211; Organization field does not contain the organization &#8220;Better Business Bureau&#8221; so consumers have no ability to verify that the certificate actually belongs to that organization.  </i></center></p>
<p><b>IS THERE SUCH A THING AS 100% SECURITY? </p>
<p>Is entity authentication the answer to achieve 100% security?</b></p>
<p>The answer is no, as 100% security does not exist! Any security related process or product is vulnerable! Security is about &#8220;risk mitigation&#8221;. </p>
<p>Can the validation systems we have in place today be fooled or circumvented? Yes they can, but is this a reason to abolish them? Of course not! It&#8217;s rather like saying, because our doors within our homes can be broken, let&#8217;s remove them completely! It&#8217;s ridiculous to even suggest this. What we need is even more security processes, products and service to secure ourselves. Removing what little protection we have is, irresponsible, short sighted and wrong!</p>
<p>Low Assurance SSL provides little of any value and this is often reflected in its low price. </p>
<p>The organizations offering Low Assurance SSL should immediately increase the level of validation they perform and work to identify better and stronger forms of entity authentication. Certification authorities should raise the bar, not lower the bar.</p>
<p>An entity obtaining a fully validated High Assurance certificate for use in committing fraud would leave an audit trail. Law Enforcement authorities would have more chance to secure a conviction. </p>
<p><b>IN SUMMARY</b></p>
<p>An SSL encrypted session between web browser and the web server provides a secure tunnel, but by default does not provide assurance in the identity of the end entity. Whilst a few high assurance providers continue to offer high assurance validation processes, many more low assurance providers are entering the market offering high speed, low value automated validation procedures. These low assurance products are not appropriate for encryption and do not provide either reliable privacy or trust.</p>
<p>Enterprises have a responsibility to ensure that the use of high assurance SSL certificates provides customers with the identity assurance and confidence to make safe, secure on-line transactions.</p>
<li>The validation techniques followed by Certification Authorities should constantly be reviewed, refined and improved. </li>
<li>The techniques should be audited by a centralized independent body. </li>
<li>Proven adherence to those techniques should form the minimum entry criteria for any Certification Authority to have their root certificates accepted by Browser providers. </li>
<p>The goal of ever increasing security should drive future standards with entity authentication an absolute minimum where encryption and trust is required. After all,</p>
<p><b>What is the point of encryption if you don&#8217;t know who for?</b></p>
<p>i. <a href="http://dictionary.reference.com/search?q=encryption">http://dictionary.reference.com/search?q=encryption</a>, definitions copyright of Houghton Mifflin Company </p>
<p>ii. <a href="http://news.netcraft.com/archives/web_server_survey.html">http://news.netcraft.com/archives/web_server_survey.html</a> </p>
<p>iii. <a href="http://wp.netscape.com/certificate/v1.0/evalguide/">http://wp.netscape.com/certificate/v1.0/evalguide/ </a></p>
<p>iv. <a href="http://www.eucybervote.org/Reports/MSI-WP2-D7V1-V1.0-02.htm">http://www.eucybervote.org/Reports/MSI-WP2-D7V1-V1.0-02.htm</a> </p>
<p>v. <a href="http://en.wikipedia.org/wiki/DNS_cache_poisoning">http://en.wikipedia.org/wiki/DNS_cache_poisoning</a> </p>
<p>vi. <a href="http://archive.dante.net/np/ds/osi/9594-6-X.520.A4.ps">http://archive.dante.net/np/ds/osi/9594-6-X.520.A4.ps </a></p>
<p>Dr. Colin Walter has a formidable international reputation in the design of hardware and algorithms for the implementation of RSA cryptography. He is on the programme committee of several international conferences (e.g. CHES and ARITH) and has given invited lectures on many occasions. He obtained his doctorate in algebraic number theory from Cambridge University and he is a senior member of the IEEE. Colin is most well-known to the international community for his invention of the first ever purely locally connected systolic array for modular multiplication. This enables servers to perform the calculations for very large numbers of SSL key exchanges at once. Recent research has led to the MIST algorithm, patented by Comodo, which is a key ingredient in the secure implementation of electronic purses on smartcards.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webpronews.com/what-is-the-point-of-encryption-if-you-dont-know-who-for-2005-06/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Paper Passports About To Fade Away</title>
		<link>http://www.webpronews.com/paper-passports-about-to-fade-away-2005-05</link>
		<comments>http://www.webpronews.com/paper-passports-about-to-fade-away-2005-05#comments</comments>
		<pubDate>Mon, 23 May 2005 16:29:40 +0000</pubDate>
		<dc:creator>WebProNews Staff</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Encryption]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.webpronews.com/?p=18641</guid>
		<description><![CDATA[In a post-911 society, identification documents will move away from paper and toward utilizing digital media.
]]></description>
			<content:encoded><![CDATA[<p>In a post-911 society, identification documents will move away from paper and toward utilizing digital media.</p>
<p>With national security a high-priority issue, allowing people to travel with forgeable paper documents will become a thing of the past. Embedded media that can hold multiple photo angles, fingerprints, retinal scans, and anything else the government deems necessary will become part of the typical passport.</p>
<p>According to the International Herald Tribune, the next step will be to sift through the various smart card manufacturers, big and small, to find one that can provide a suitable media and readers for it.</p>
<p>Two types of readers for embedded microchips exist. One type, used for toll collecting on some highways, would be a contactless chip. By passing the microchip near a reader, the reader can collect the information.</p>
<p>One obvious problem could be the potential for remote theft, or skimming, of contactless data. <a href="http://www.philzimmermann.com/EN/background/index.html">Encryption</a> would have to be part of <a href="http://www.schneier.com/blog/">the security</a> for a contactless solution. </p>
<p>The other type of smart card would be swiped through a reader, like a typical credit card. That removes the risk of skimming, but a bit of wear on the wrong place on a strip could render a swiped passport useless and highly inconvenient.</p>
<p>A contactless passport could be lined with something metal that would protect the chip and foil skimming attempts. Another possibility could be the use of RFID chips, a simpler device than a smart card. But data security would be an issue with RFID, and the potential for skimming still exists.</p>
<p>Whatever solution wins out, it will have to happen soon to suit US policies. Currently, citizens of 30 countries may enter the US without a visa. That situation ends in October, and those citizens will have to use some type of electronically-augmented passport to enter the country.</p>
<p>David Utter is a staff writer for WebProNews covering technology and business. Email him <A HREF="mailto:news@ientry.com">here</A>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webpronews.com/paper-passports-about-to-fade-away-2005-05/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SHA-1 Encryption Algorithm Cracked</title>
		<link>http://www.webpronews.com/sha-encryption-algorithm-cracked-2005-02</link>
		<comments>http://www.webpronews.com/sha-encryption-algorithm-cracked-2005-02#comments</comments>
		<pubDate>Mon, 21 Feb 2005 15:32:39 +0000</pubDate>
		<dc:creator>WebProNews</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Algorithm]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Encryption]]></category>

		<guid isPermaLink="false">http://www.webpronews.com/?p=15074</guid>
		<description><![CDATA[SHA-1, a nine-year old, secure online communications encryption algorithm has been hacked by a group of three Chinese researchers.
]]></description>
			<content:encoded><![CDATA[<p>SHA-1, a nine-year old, secure online communications encryption algorithm has been hacked by a group of three Chinese researchers.</p>
<p>The SHA-1 standard is one of the primary building blocks for most cryptography protocols and is used to create digital signatures.  Because of SHA&#8217;s unending reach throughout the encryption industry, problems resulting from this hack could be gigantic.  </p>
<p>According to <a href="http://www.techworld.com/security/features/index.cfm?featureid=1213">Techworld.com</a>, </p>
<p><i>Virtually all application and server software that incorporates SHA-1 into its functions &#8211; including Web browsers, e-mail clients, instant messaging programs, secure shell clients, and file- and disk-encryption software &#8211; will need to be replaced or upgraded</p>
<p>For regular computer users, the breaking of SHA-1 has no sudden repercussions. Secure online communications have not been thrown wide open. A tougher standard that hasn&#8217;t been broken, called SHA-256, already exists. Encryption experts are urging software companies to integrate SHA-256 into applications that currently use SHA-1.</i></p>
<p>News of the SHA&#8217;s hack surfaced at the <a href="http://www.securitypronews.com/insiderreports/insider/spn-49-20050214RSASecurityConferenceKicksOff.html">RSA conference</a>, an event devoted to securing Internet and other computer technologies.</p>
<p>WebProNews | Breaking eBusiness News<br />
Your source for investigative ebusiness reporting and breaking news.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webpronews.com/sha-encryption-algorithm-cracked-2005-02/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Encrypt Sensitive Configuration Data with Java</title>
		<link>http://www.webpronews.com/encrypt-sensitive-configuration-data-with-java-2004-06</link>
		<comments>http://www.webpronews.com/encrypt-sensitive-configuration-data-with-java-2004-06#comments</comments>
		<pubDate>Fri, 25 Jun 2004 15:20:56 +0000</pubDate>
		<dc:creator>Javid Jamae</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Encryption]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.webpronews.com/?p=10510</guid>
		<description><![CDATA[When application developers are developing, parameters are often hard-coded in the source code. These hard-coded parameters are often pulled out of the source code and put into property files or configuration files. System and network security policies may force a developer to address security concerns over the data that is stored in external files. So, how do you make sure that your sensitive external parameters are safe?
]]></description>
			<content:encoded><![CDATA[<p>When application developers are developing, parameters are often hard-coded in the source code. These hard-coded parameters are often pulled out of the source code and put into property files or configuration files. System and network security policies may force a developer to address security concerns over the data that is stored in external files. So, how do you make sure that your sensitive external parameters are safe?</p>
<p>One way to solve this problem is to encrypt the data before it is written to the external file, then read and decrypt the data before using it in your application. The Java Cryptography Extension (JCE) provides an API that will let you do this. </p>
<p>Symmetric or &#8220;single key&#8221; encryption is a good choice for solving this type of problem. Single key encryption uses the same key to encrypt and decrypt data. DES and DESede are two single key encryption schemes. I will show you how to solve this problem using either of these encryption schemes with the JCE. </p>
<p><b>The Problem</b></p>
<p>You need some way to secure the parameters used by your source code when they are stored in external property or configuration files.</p>
<p><b>The Solution</b></p>
<p>Encrypt the data before it goes in; decrypt it before your application uses it. </p>
<p><b>Encrypting a String</b></p>
<p>There are two main classes that I have created to solve this problem: StringEncrypter and EncryptionScheme. Figure 1 shows a UML representation of what is provided in the <a href="http://www.devx.com/assets/sourcecode/10387.zip">source code</a>. </p>
<p>The StringEncrypter class (<a href="javascript://" onClick="window.open('http://www.devx.com/Java/10MinuteSolution/21385/1763?supportItem=2','my_new_window','toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=600, height=600')">Listing 1</a>) provides methods that allow you to encrypt and decrypt a string using a given encryption scheme. The first constructor takes two parameters: an object of type EncryptionScheme and the encryption key that will be used to encrypt and decrypt. After you construct the StringEncrypter, you can encrypt and decrypt a given string using the eponymous methods, encrypt and decrypt. </p>
<p>I have provided a set of unit tests that demonstrate how the StringEncrypter works (see <a href="javascript://" onClick="window.open('http://www.devx.com/Java/10MinuteSolution/21385/1763?supportItem=3','my_new_window','toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=600, height=600')">Listing 2</a>). </p>
<p>EncryptionScheme is a Java interface that encapsulates the properties of different encryption schemes. A concrete class that implements the EncryptionScheme interface is passed into the StringEncrypter (this is known as the <i>strategy</i> design pattern). You can pass a custom key into the constructor, or you can use the one that is provided by default, DEFAULT_ENCRYPTION_KEY. If you use the single argument constructor, it will automatically use the default key. </p>
<p>The main calls in the encrypt and decrypt methods are the calls made to the Cipher class (see the next section). The Cipher.init() method takes an integer that represents the encryption mode (encrypt or decrypt) and the key as an argument. Static constants representing the encryption mode are defined on the Cipher class. The Cipher.doFinal() method performs an encryption or decryption, based on what mode was initialized. </p>
<p><b>The Java Cryptography Extension (JCE)</b></p>
<p>The EncryptionScheme object that is passed into the constructor of the StringEncrypter class is used to generate three class-level fields: a KeySpec, a SecretKeyFactory, and a Cipher. The encrypt and decrypt methods on the StringEncrypter also use the SecretKey class. These classes are part of the JCE, a framework that provides key generation and encryption, among other things. This package comes standard in J2SE v1.4 and is available as an optional package in Java 2 SDK, versions 1.2.x and 1.3.x. </p>
<p>Here is what the Java 1.4.1 API specification has to say about these classes:</p>
<li>KeySpec-&#8221;A (transparent) specification of the key material that constitutes a cryptographic key.&#8221; </li>
<li>SecretKeyFactory-&#8221;Key factories are used to convert keys (opaque cryptographic keys of type Key) into key specifications (transparent representations of the underlying key material), and vice versa. Secret key factories operate only on secret (symmetric) keys.&#8221; </li>
<li>Cipher-&#8221;This class provides the functionality of a cryptographic cipher for encryption and decryption. It forms the core of the JCE framework.&#8221; </li>
<li>SecretKey-&#8221;A secret (symmetric) key.&#8221; </li>
<p>There are two other classes that are used in the enrypt and decrypt methods. The classes are: BASE64Encoder and BASE64Decoder. These classes are not part of the JCE, but they are helpful for converting between byte arrays and strings. BASE64Encoder encodes a binary stream as a &#8220;Base64&#8243; format string. BASE64Decoder decodes a &#8220;Base64&#8243; format string into a binary stream </p>
<p><b>Using the StringEncrypter</b></p>
<p>Along with all the implementation classes shown in the source code download, I have provided a set of unit tests that demonstrate how the StringEncrypter works. </p>
<p><b>Testing Encryption</b></p>
<p><code>public void testEncryptsUsingDesEde() throws Exception<br />
{<br />
&#038;nbsp&#038;nbsp     String stringToEncrypt = "test";<br />
&#038;nbsp&#038;nbsp     String encryptionKey = "123456789012345678901234567890";</p>
<p>&#038;nbsp&#038;nbsp     EncryptionScheme encryptionScheme = DesEdeEncryptionScheme.INSTANCE;</p>
<p>&#038;nbsp&#038;nbsp     StringEncrypter encrypter =<br />
&#038;nbsp&#038;nbsp&#038;nbsp          new StringEncrypter( encryptionScheme, encryptionKey );<br />
&#038;nbsp&#038;nbsp     String encryptedString = encrypter.encrypt( stringToEncrypt );</p>
<p>&#038;nbsp&#038;nbsp     assertEquals( "Ni2Bih3nCUU=", encryptedString );<br />
}</code></p>
<p>This test shows how a client application would encrypt a string using the DESede encryption scheme. First, I specified a string that I wanted to encrypt-&#8221;test&#8221;-and an encryption key. For DESede encryption, the encryption key must be more than 24 characters long. I used a 30-character encryption key just to be on the safe side.<br />
There is no instance-specific data in the DesEdeEncryptionScheme class, thus it is designed using the Singleton design pattern so that you don&#8217;t have to maintain multiple instances of the class in memory. The EncryptionScheme object is obtained through a static constant defined on the DesEdeEncryptionScheme class. </p>
<p>Next, a StringEncrypter is constructed using the EncryptionScheme and the key. At this point, obtaining an encrypted string is as simple as calling the encrypt method, and passing in the String you wish to encrypt. The test asserts that the value of the encrypted string is correct according to its previously determined value (a regression test). </p>
<p>Decrypting the string is just as simple. A StringEncrypter is constructed by passing in the encryption key and the EncryptionScheme object. The encrypted string is passed to the decrypt method, which returns the unencrypted string (&#8220;test&#8221;). </p>
<p><b>Testing Decryption</b></p>
<p><code>public void testDecryptsUsingDesEde() throws Exception<br />
{<br />
&#038;nbsp&#038;nbsp     String string = "Ni2Bih3nCUU=";<br />
&#038;nbsp&#038;nbsp     String encryptionKey = "123456789012345678901234567890";<br />
&#038;nbsp&#038;nbsp     EncryptionScheme encryptionScheme = DesEdeEncryptionScheme.INSTANCE;</p>
<p>&#038;nbsp&#038;nbsp     StringEncrypter encrypter =<br />
&#038;nbsp&#038;nbsp&#038;nbsp          new StringEncrypter( encryptionScheme, encryptionKey );<br />
&#038;nbsp&#038;nbsp     String decryptedString = encrypter.decrypt( string );</p>
<p>&#038;nbsp&#038;nbsp     assertEquals( "test", decryptedString );<br />
}</code></p>
<p><b>Supporting Other Encryption Schemes</b><br />
The EncryptionScheme interface allows you to add support for different symmetric encryption schemes. An abstract class called BaseEncryptionScheme is provided, which provides basic functionality for concrete EncryptionScheme classes. This abstract class is an extension tool for adding your own encryption schemes. </p>
<p>The <b>code</b> provided with this solution includes EncryptionScheme implementations for the DES and the DESede encryption schemes. Either of these schemes should suffice for solving the problem outlined in this 10-minute solution. Other symmetric encryption schemes include: HmacSHA1, Blowfish, HmacMD5, and TripleDES. </p>
<p><b>Making Good Use of String Encryption</b></p>
<p>So when would you use this wonderful string encryption tool? There are many possible applications. </p>
<p>One possible application, mentioned at the beginning of this solution, is to use the StringEncrypter to encrypt and decrypt sensitive data in a properties file. For example, you may use the java.util.Properties class to read and write a database password from a properties file. To keep the password secure, you may write a separate program that prompts you to enter your password, and then stores it in its encrypted form in the properties file. This might be a simple GUI-based program or even one that runs from the command line. Your main application will then use the same encryption key to decrypt the password before using it to obtain a connection from the database. </p>
<p>Of course, you may store passwords and other sensitive data in places other than properties files. You can implement the same scenario described above using an XML file, an environment variable, a registry location, or even a datasource such as an LDAP server or a database as a storage location for your encrypted data. </p>
<p>Another application would be to encrypt data before and after it is sent across a network. For example, you can encrypt an e-mail message before it is sent and decrypt it after it is received. Or, you could use the StringEncrypter to provide encryption for all transactions in a client/server application, or all messages sent to a messaging queue. </p>
<p>*Originally published at <a href="http://www.devx.com">DevX.com</a></p>
<p>Javid Jamae is the president of Jamae Consulting, a software development and consulting firm that provides business, training, and development services to large and small companies. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.webpronews.com/encrypt-sensitive-configuration-data-with-java-2004-06/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>File and Email Encryption with GnuPG (PGP) Part Six</title>
		<link>http://www.webpronews.com/file-and-email-encryption-with-gnupg-pgp-part-six-2004-05</link>
		<comments>http://www.webpronews.com/file-and-email-encryption-with-gnupg-pgp-part-six-2004-05#comments</comments>
		<pubDate>Mon, 24 May 2004 14:59:40 +0000</pubDate>
		<dc:creator>Brian Hatch</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[Encryption]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.webpronews.com/?p=10149</guid>
		<description><![CDATA[Last time I showed you how to exchange and verify public PGP keys with an individual. After you've verified a user's key (KeyID, bits, type, fingerprint, and user's actual identity) you should sign their key.
]]></description>
			<content:encoded><![CDATA[<p>Last time I showed you how to exchange and verify public PGP keys with an individual. After you&#8217;ve verified a user&#8217;s key (KeyID, bits, type, fingerprint, and user&#8217;s actual identity) you should sign their key.</p>
<p>Signing a key tells the PGP software (GnuPG in most cases for us Linux heads) that you&#8217;ve acknowledged the key is legitimate when verifying the signature. Let&#8217;s take a look at the different verification possibilities. </p>
<p>Here&#8217;s the mutt[1] header of a PGP signed email, where we&#8217;ve never downloaded the key at all: </p>
<p><code>  gpg: Signature made Wed Apr 14 18:59:36 2004 PDT using DSA key ID D5D3BDA6<br />
  gpg: Can't check signature: public key not found</code></p>
<p>Compare to the next one, where we do have a copy of their public key, but have never signed the key: </p>
<p><code>  gpg: Signature made Wed Apr 14 18:59:36 2004 PDT using DSA key ID D5D3BDA6<br />
  gpg: Good signature from "John Doe (My First PGP Key) <jdoe@example.com>"<br />
  gpg: WARNING: This key is not certified with a trusted signature!<br />
  gpg:          There is no indication that the signature belongs to the owner.<br />
  Primary key fingerprint: B53F E57B D0C1 F689 FCE2  5623 5B9A A5F8 801E A932</code></p>
<p>Or this one, where the public key is on our keyring, and the key is signed by us: </p>
<p><code>  gpg: Signature made Wed Apr 14 18:59:36 2004 PDT using DSA key ID D5D3BDA6<br />
  gpg: Good signature from "John Doe (My First PGP Key) &lt;jdoe@example.com&gt; "</code></p>
<p>And, to round things out, one where the key is on our keyring, signed and all, but the signature is invalid (the message was corrupted in transit, most likely) </p>
<p><code>  gpg: Signature made Wed Apr 14 18:59:36 2004 PDT using DSA key ID D5D3BDA6<br />
  gpg: BAD signature from "Jon Doe (My First PGP Key) &lt;jdoe@example.com&gt;"</code></p>
<p>The third example above is what we&#8217;d like to see &#8211; messages signed by other parties whom we&#8217;ve verified, received with a valid signature, assuring us that the message came unaltered from the owner of the PGP key. When you see this success, either the individual sent it and all is well, or their key has been compromised, no other possibilities exist. Naturally, we&#8217;re hoping they haven&#8217;t been compromised&#8230; </p>
<p>Before we sign the key, let&#8217;s check out the existing signatures on this key on our keyring: </p>
<p>  # Show the key, and all the signatures too<br />
  $ gpg -kvv D5D3BDA6<br />
  pub  1024D/D5D3BDA6 2003-12-14 John Doe (My First PGP Key) &lt;jdoe@example.com&gt;<br />
  sig 3       D5D3BDA6 2003-12-14 John Doe (My First PGP Key) &lt;jdoe@example.com&gt;<br />
  sub  1024g/26F8D783 2003-12-14<br />
  sig         D5D3BDA6 2003-12-14 John Doe (My First PGP Key) &lt;jdoe@example.com&gt;</p>
<p>Yup, the key is just signed by John himself, no one else yet. Now it&#8217;s time for us to sign his key, so GnuPG will stop telling us that it&#8217;s untrusted, and so we can introduce John to other people: </p>
<p>  <code>$ gpg --sign-key jdoe@example.com</p>
<p>  pub  1024D/D5D3BDA6  created: 2003-12-14 expires: never      trust: -/f</p>
<p>  (1). John Doe (My First PGP Key) &lt;jdoe@example.com&gt;</p>
<p>  pub  1024D/D5D3BDA6  created: 2003-12-14 expires: never      trust: -/f<br />
   Primary key fingerprint: 0E43 DC31 C484 431C 5B07  3875 7B2D D3D8 D5D3 BDA6</p>
<p>       John Doe &lt;jdoe@example.com&gt;</code>  </p>
<p>  How carefully have you verified the key you are about to sign actually belongs  to the person named above?  If you don&#8217;t know what to answer, enter &#8220;0&#8243;.</p>
<p>     (0) I will not answer. (default)<br />
     (1) I have not checked at all.<br />
     (2) I have done casual checking.<br />
     (3) I have done very careful checking.</p>
<p>  Your selection?</p>
<p>At this point you get to tell GPG how thorough you were in verifying the key owner&#8217;s identity. If you followed the procedures in the previous article, you probably verified their identity by looking at their driver&#8217;s license, passport, doing a fingerprint scan and DNA test, etc. In my opinion, if you can&#8217;t honestly say #3 above, then you shouldn&#8217;t be signing the key at all.[2] </p>
<p>Ok, so, let&#8217;s get this finished up: </p>
<p>  Are you really sure that you want to sign this key  with your key: &#8220;Jane Doe (Home Key) &lt;janedoe@example.net&gt;&gt;&#8221;</p>
<p>  I have checked this key very carefully.</p>
<p>  Really sign? yes</p>
<p>  You need a passphrase to unlock the secret key for  user: &#8220;Jane Doe (Home Key) &lt;janedoe@example.net&gt;&#8221;  1024-bit DSA key, ID 42851101, created 2004-01-01</p>
<p>  Passphrase: (type passphrase)</p>
<p>Note the utter lack of output in the event that you&#8217;ve typed the passphrase correctly &#8211; good old Unix tradition at work. So, let&#8217;s check out the key now and see our new signature on it. </p>
<p><code>  # Show the key, and all the signatures too<br />
  $ gpg -kvv D5D3BDA6<br />
  pub  1024D/D5D3BDA6 2003-12-14 John Doe (My First PGP Key) &lt;jdoe@example.com&gt;<br />
  sig 3       D5D3BDA6 2003-12-14 John Doe (My First PGP Key) &lt;jdoe@example.com&gt;<br />
  sig 3       42851101 2004-04-19 Jane Doe (Home Key) &lt;janedoe@example.net&gt;<br />
  sub  1024g/26F8D783 2003-12-14<br />
  sig         D5D3BDA6 2003-12-14 John Doe (My First PGP Key) &lt;jdoe@example.com&gt;</code></p>
<p>So you can now see that Jane has signed John&#8217;s key on 19-Apr-2004 with her key, 0&#215;42851101. At this point it&#8217;s a good idea to send the newly signed key back to John, and if he has no objections upload it to the keyservers as well so everyone can benefit from her signature. We covered this previously, but here&#8217;s a reminder: </p>
<p><code>  # Send all keys to keyservers<br />
  $ gpg --send-keys</p>
<p>  # Or just the one key<br />
  $ gpg --send-key "john doe" </p>
<p>  # Extract and email him his signed key<br />
  $ gpg --export -a 'john doe'  &gt; john_keys.asc<br />
  $ mutt -a john_keys.asc jdoe@example.com </code></p>
<p>There are, of course, other ways you can get the keys to owner if you want. For example rather than attaching the key manually as I have above with mutt[3] you could attach the key using esc k from the message creation screen. Incidentally, if someone sends you keys in email, you can import them using ctrl-k in mutt. </p>
<p>So, by this point we have all the important parts of PGP/GPG/GnuPG in our hands. You can create your keys, verify and sign the keys of others, verify and/or encrypt data. Many tools have built in PGP support to save you from working on the command line, which will make work with PGP as seamless as working with your editor.[4] </p>
<p>NOTES:</p>
<p><b>[1]</b> Greatest email program in the world </p>
<p><b>[2]</b> There is a second kind of signature, called a local signature. This type of signature won&#8217;t be exported to any keyservers, so no one would know you signed their key. This is useful if you want to stop getting &#8220;untrusted signature&#8221; warnings on keys that you&#8217;re fairly sure are legit, but don&#8217;t want to have others believe you have actually verified. The PGP key that comes with your Linux distribution would be a good candidate for local signing. To sign locally, you&#8217;d use gpg &#8211;edit-key and then lsign, but I won&#8217;t cover that further. </p>
<p><b>[3]</b> I simply cannot plug this email client enough&#8230; </p>
<p><b>[4]</b> And, naturally, that editor should be vim. <img src='http://www.webpronews.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p> Brian Hatch is Chief Hacker at <a<br />
  href="http://www.onsight.com/">Onsight, Inc</a> and author of<br />
  <a href="http://www.hackinglinuxexposed.com/">Hacking Linux Exposed</a><br />
  and <a href="http://www.buildinglinuxvpns.net/">Building Linux VPNs</a>.<br />
   Brian can be reached at brian@hackinglinuxexposed.com.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webpronews.com/file-and-email-encryption-with-gnupg-pgp-part-six-2004-05/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using memcached
Database Caching 1/57 queries in 0.021 seconds using memcached
Object Caching 581/728 objects using memcached

Served from: webpronews.com @ 2012-02-12 21:53:13 -->
