<?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"
	>

<channel>
	<title>Intel Software Network Blogs &#187; Kenneth Graf (Intel)</title>
	<atom:link href="http://software.intel.com/en-us/blogs/author/kenneth-graf/feed/" rel="self" type="application/rss+xml" />
	<link>http://software.intel.com/en-us/blogs</link>
	<description></description>
	<pubDate>Mon, 13 Oct 2008 20:26:12 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>What is old is new</title>
		<link>http://software.intel.com/en-us/blogs/2008/06/26/what-is-old-is-new/</link>
		<comments>http://software.intel.com/en-us/blogs/2008/06/26/what-is-old-is-new/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 13:47:52 +0000</pubDate>
		<dc:creator>Kenneth Graf (Intel)</dc:creator>
		
		<category><![CDATA[XML Software]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2008/06/26/what-is-old-is-new/</guid>
		<description><![CDATA[In the last few days there have been a number of announcements related to the "latest" in digital identities. Is this just a rehash of the old SAML, Liberty Alliance, Identrus, Microsoft Passort conflict? Or something really new?
I wish I was smart enough to pick a winner or tell you when a dominate approach will [...]]]></description>
			<content:encoded><![CDATA[<p>In the last few days there have been a number of announcements related to the "latest" in digital identities. Is this just a rehash of the old SAML, Liberty Alliance, Identrus, Microsoft Passort conflict? Or something really new?</p>
<p>I wish I was smart enough to pick a winner or tell you when a dominate approach will emerge. What I can tell you is the new efforts have learned from past mistakes. Vendor centric, heavy computational and policy unaware solutions were not deployable.</p>
<p>What I know for sure is the new approaches are XML centric and rely heavily on WS-SecurityPolicy, WS-MetadataExchange and WS-Trust. For these "new" approaches to be successful they will require simple APIs to create client components and high performance server components to allow large volumes on secure transactions.</p>
<p>Hmm, fast and easy XML processing! Where have I heard that before? ;-)</p>
<p>The recent announcements:</p>
<p>June 23rd, Liberty Alliance Releases Identity Assurance Framework. <a href="http://www.projectliberty.org/liberty/news_events/press_releases/liberty_alliance_releases_identity_assurance_framework">http://www.projectliberty.org/liberty/news_events/press_releases/liberty_alliance_releases_identity_assurance_framework</a></p>
<p>June 24th, Technology Community Forms Information Card Foundation to Simplify Secure On-Line Digital Identity. <a href="http://xml.coverpages.org/ICF-DigitalIdentity.html">http://xml.coverpages.org/ICF-DigitalIdentity.html</a></p>
<p>June 25th, IETF released an updated vCard Format Specification. <a href="http://www.ietf.org/html.charters/vcarddav-charter.html">http://www.ietf.org/html.charters/vcarddav-charter.html</a></p>
<p>June 25th, Eclipse released Ganymede with its "Higgins" or user-centric identity framework. <a href="http://www.eclipse.org/">http://www.eclipse.org/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2008/06/26/what-is-old-is-new/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Should you prevent malicious XML traffic with a firewall?</title>
		<link>http://software.intel.com/en-us/blogs/2008/06/20/should-you-prevent-malicious-xml-traffic-with-a-firewall/</link>
		<comments>http://software.intel.com/en-us/blogs/2008/06/20/should-you-prevent-malicious-xml-traffic-with-a-firewall/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 12:19:47 +0000</pubDate>
		<dc:creator>Kenneth Graf (Intel)</dc:creator>
		
		<category><![CDATA[XML Software]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2008/06/20/should-you-prevent-malicious-xml-traffic-with-a-firewall/</guid>
		<description><![CDATA[We are all familiar with a basic firewall; limiting the ports and protocols that are available to the outside world.  And many firewall vendors are pushing “deep packet inspection” as a way to further control access by analyzing the data sent and received.
There are a number of XML appliance vendors (http://en.wikipedia.org/wiki/XML_appliance) all provide security to [...]]]></description>
			<content:encoded><![CDATA[<p><font face="Times New Roman">We are all familiar with a basic firewall; limiting the ports and protocols that are available to the outside world.  And many firewall vendors are pushing “deep packet inspection” as a way to further control access by analyzing the data sent and received.</font></p>
<p><font face="Times New Roman">There are a number of XML appliance vendors (</font><a href="http://en.wikipedia.org/wiki/XML_appliance"><font face="Times New Roman">http://en.wikipedia.org/wiki/XML_appliance</font></a><font face="Times New Roman">) all provide security to some degree but some bill themselves as XML security gateways.  These products implement various standards including WS-Security.  But today we will focus on defending against malicious XML traffic.</font></p>
<p><font face="Times New Roman">Malicious XML can be classified in three categories: Malformed Requests, Denial of Service and Content attacks.</font></p>
<p><font face="Times New Roman"><strong>Malformed Requests</strong>: May not be XML at all, but typically malformed requests have bad encodings, incomplete nodes or don’t adhere to a given schema.  Early, fast and complete validation is the best way to eliminate bad requests, but keep in mind if this processing is done on the perimeter it often means having to reparse the XML for all good requests when it finally reaches the application server.</font></p>
<p><font face="Times New Roman"><strong>Denial of Service</strong>:  Large payload requests, “billion laughs attack” and missing or broken URI references are some examples of requests were the sole intent is to consume processing time and create a denial of service.  Like malformed requests these attacks are most effectively handled with proper validation.  Again this if this is done on the perimeter the XML will need to be reparsed when it reaches the application machine.</font></p>
<p><font face="Times New Roman"><strong>Content Attacks</strong>: Are normally valid for a known schema.  These are attacks that use the data or XML elements to carry the attack payload.  SQL injection, Trojans and various application specific attacks are possible.  These application centric attacks can not be defended on the perimeter by a firewall.  It is the application that must properly process the data to prevent these attacks.</font></p>
<p><font face="Times New Roman">What is my advice?  Parse once, validate once.  The application server is the best place to do this, as it knows the schema and data rules that need to be applied.  Just because the perimeter can identify a bad request doesn’t mean it should.  Use a fast XML validator that makes use of multi-core in you application.  And when your app sees a bad request; allow it to notify the network layer to ignore all future requests from that source.  Bad requests are just that, bad requests.</font></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2008/06/20/should-you-prevent-malicious-xml-traffic-with-a-firewall/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Your password is a potentially dangerous</title>
		<link>http://software.intel.com/en-us/blogs/2008/06/19/your-password-is-a-potentially-dangerous/</link>
		<comments>http://software.intel.com/en-us/blogs/2008/06/19/your-password-is-a-potentially-dangerous/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 22:59:31 +0000</pubDate>
		<dc:creator>Kenneth Graf (Intel)</dc:creator>
		
		<category><![CDATA[Software Engineering]]></category>

		<category><![CDATA[XML Software]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2008/06/19/your-password-is-a-potentially-dangerous/</guid>
		<description><![CDATA[It has been awhile since I last blogged and my general password had changed, imagine my surprise when I login on to blog and received this error message.  A potentially dangerous Request.Form value was detected from the client (_ctl1:txtPassword="...*...."). Well, surprised really is not the right word.  I understand that some application developer listened to [...]]]></description>
			<content:encoded><![CDATA[<p><font face="Times New Roman">It has been awhile since I last blogged and my general password had changed, imagine my surprise when I login on to blog and received this error message.  <em>A potentially dangerous Request.Form value was detected from the client (_ctl1:txtPassword="...*....").</em> Well, surprised really is not the right word.  I understand that some application developer listened to some webinar where some vendor’s security expert breathlessly told everyone listening they would lose millions of dollars if they didn’t stop SQL injections.  Oy!</font></p>
<p><font face="Times New Roman"> </font></p>
<p><font face="Times New Roman">What I am surprised about is the number of “security experts” that profess the way to stop SQL injections is to prevent the user from using characters like *, “, ‘, and #.  It seems to me not using SQL in the first place is the best way for an application to stop SQL injections.   Using a web service or SAML would eliminate the need for ODBC calls and the required SQL injection screening.</font></p>
<p><font face="Times New Roman"> </font></p>
<p><font face="Times New Roman">For those that think SSL answers all security problems.  There was a nice long debate on using usernames and passwords with SSL on </font><a href="http://webappsec.org/lists/websecurity/"><font face="Times New Roman">http://webappsec.org/lists/websecurity/</font></a><font face="Times New Roman"> </font></p>
<p><font face="Times New Roman"> </font></p>
<p><font face="Times New Roman">Personally, I think it time security experts to stop spreading the misperception that all problems can be solved with a network device and time for application developers to step up and use the right not just the easiest security solution.</font></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2008/06/19/your-password-is-a-potentially-dangerous/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Does ease of use mean anything to web services security?</title>
		<link>http://software.intel.com/en-us/blogs/2008/05/16/does-ease-of-use-mean-anything-to-web-services-security/</link>
		<comments>http://software.intel.com/en-us/blogs/2008/05/16/does-ease-of-use-mean-anything-to-web-services-security/#comments</comments>
		<pubDate>Fri, 16 May 2008 18:08:59 +0000</pubDate>
		<dc:creator>Kenneth Graf (Intel)</dc:creator>
		
		<category><![CDATA[XML Software]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2008/05/16/does-ease-of-use-mean-anything-to-web-services-security/</guid>
		<description><![CDATA[My XML journeys took me to JavaOne last week.  I am a people watcher, and I have always found it fastening to observe the herd mentality at larger conferences like JavaOne.  The queues for the keynotes, the rush to lunch, and don’t get me started on people eagerly standing in line for some logo laden [...]]]></description>
			<content:encoded><![CDATA[<p><a name="OLE_LINK4" title="OLE_LINK4"></a><a name="OLE_LINK3" title="OLE_LINK3"></a><font face="Times New Roman">My XML journeys took me to JavaOne last week.  I am a people watcher, and I have always found it fastening to observe the herd mentality at larger conferences like JavaOne.  The queues for the keynotes, the rush to lunch, and don’t get me started on people eagerly standing in line for some logo laden t-shirt.</font></p>
<p><font face="Times New Roman">The herd had thinned by the last session, but those that stayed to the bitter end were treated to an interesting presentation by Ben Alex of Spring Source </font><a href="http://www.springframework.org/"><font color="#800080"><font face="Times New Roman">http://www.springframework.org/</font></font></a><font face="Times New Roman">  (TS-6348).  What I found interesting was the response to his poll of the audience when he started his talk.  Ben asked what the audience was using for security: 1) The JDK default jars.  2) 3rd party security offerings  3) Roll your own.  A lot of hands went up for all 3 approaches and Ben declared it an even split.</font></p>
<p><font face="Times New Roman">What I found interesting is how many are still rolling their own security!  Have Bruce Scheider’s muses about broken implementations gone unheard?   I understand that some of the Java security pieces JSR105, JAAS, WSS4J can be hard to implement correctly, but Ben and others during JavaOne showed how their 3<sup>rd</sup> party offerings put web service security just a mouse click away.  What makes security special to trump ease of use?</font></p>
<p><font face="Times New Roman">My guess is we have a hard delegating application security; we want the control.  How does some generic framework know that it is ok for my wife to change my airline reservation?   We know the everyday work-around is giving her my password.  Will the market continue to roll its own web service security?  And if so; why?  I would be interested in what you think.</font></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2008/05/16/does-ease-of-use-mean-anything-to-web-services-security/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Making XML schema validation fast</title>
		<link>http://software.intel.com/en-us/blogs/2008/04/30/making-xml-schema-validation-fast/</link>
		<comments>http://software.intel.com/en-us/blogs/2008/04/30/making-xml-schema-validation-fast/#comments</comments>
		<pubDate>Thu, 01 May 2008 06:29:53 +0000</pubDate>
		<dc:creator>Kenneth Graf (Intel)</dc:creator>
		
		<category><![CDATA[XML Software]]></category>

		<category><![CDATA[simd]]></category>

		<category><![CDATA[sttni]]></category>

		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2008/04/30/making-xml-schema-validation-fast/</guid>
		<description><![CDATA[Last week I promised to talk more about what our team in PRC is doing.  So in this post I have a little bit of a challenge for you XML pioneers out there.
If you could define new CPU instructions to improve XML validation, what would they be?
Well Yongnian Le from the XET team has ideas [...]]]></description>
			<content:encoded><![CDATA[<p><font face="Times New Roman">Last week I promised to talk more about what our team in PRC is doing.  So in this post I have a little bit of a challenge for you XML pioneers out there.</font></p>
<p><font face="Times New Roman">If you could define new CPU instructions to improve XML validation, what would they be?</font></p>
<p><font face="Times New Roman">Well Yongnian Le from the XET team has ideas to share.  Does “Parallel TRIE with Intel® SSE4.2/STTNI” sound more interesting than a morning coffee?  For me yes, but please don’t tell my wife, she’s already has enough Ken’s so nerdy ammo.</font></p>
<p><font face="Times New Roman">A quick read that is a great introduction into yet another use of SIMD instructions.  </font><a href="http://softwarecommunity.intel.com/isn/downloads/intelavx/Schema%20Validation%20w%20Intel%20SSE4_WP.pdf"><font color="#800080" face="Times New Roman">http://softwarecommunity.intel.com/isn/downloads/intelavx/Schema%20Validation%20w%20Intel%20SSE4_WP.pdf</font></a></p>
<p><font face="Times New Roman">Ken.</font></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2008/04/30/making-xml-schema-validation-fast/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Intel XML software? Who knew?</title>
		<link>http://software.intel.com/en-us/blogs/2008/04/24/intel-xml-software-who-knew/</link>
		<comments>http://software.intel.com/en-us/blogs/2008/04/24/intel-xml-software-who-knew/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 22:49:51 +0000</pubDate>
		<dc:creator>Kenneth Graf (Intel)</dc:creator>
		
		<category><![CDATA[XML Software]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2008/04/24/intel-xml-software-who-knew/</guid>
		<description><![CDATA[You are reading this post I am guessing you knew.  So count yourself as a pioneer.  Someone willing to explore!  Someone that is looking to kick the XML status-quo right in the assembler!  Does XML even have an assembler?  Sorry, I digress.  I wanted to talk about XML pioneers.
We've already established you're a pioneer, looking [...]]]></description>
			<content:encoded><![CDATA[<p>You are reading this post I am guessing you knew.  So count yourself as a pioneer.  Someone willing to explore!  Someone that is looking to kick the XML status-quo right in the assembler!  Does XML even have an assembler?  Sorry, I digress.  I wanted to talk about XML pioneers.</p>
<p>We've already established you're a pioneer, looking for new ideas to make part of your vision.  I took this job at Intel because it was a chance to build fun new products, and part of that fun is working with true pioneers.  I spent a week in Shanghai this month with Dr. Michael Kay of Saxon fame. (<a href="http://www.saxonica.com/">www.saxonica.com</a>)   Dr. Kay, along with Intel’s Frank Lu, presented at IDF to a room full of bright XML engineers from across China, (<a href="https://intel.wingateweb.com/SHchina/scheduler/profile.do?SESSION_ID=1252&amp;form=searchform&amp;ts=1208983591767" title="IDF link">idf link</a>).  Yes, for those of you outside PRC, pioneering XML work is being done in China by Intel and others.   Dr. Kay and I also spent time with Intel's XML engineering team in Zizhu.  Tremendous stuff I will share with you in a future post.</p>
<p>The topic of Dr. Kay's IDF presentation was declarative languages.  He commented that declarative languages are easiest to use when you attack the entire problem with declarative thinking.  Focus on the goal and let the machine, browser, or XSL transformer handle the implementation.  Easy enough, but as an old timer I have a hard time letting go of the control.  Maybe you do too?  We have all seen the ugly HTML caused by someone trying to control "centering" in HTML by defining it to be exactly 512 pixels from the left, rather than using CSS styles to center text and let the browser do its job and handle the implementation.  Or using JAXB to generate Java class from a schema, only to break everything when the schema changes, rather than letting the data drive the implementation.  This type of thinking is taking declarative half way, It's hard to understand, hard to maintain and is very ugly.</p>
<p>You're a pioneer; take declarative thinking all the way!  I would like to hear how you are making use of declarative languages.  So, go forth and make use of XProc, XQuery and user defined functions in XSL.  You will be glad you did.  Be rewarded with code that is adaptable, easy to maintain and an inspiration to others.  There are great tools from Intel, Saxon and others that will work for you today.  They are fast, compliant and ready for you to download now. I’d love to hear from the pioneers that read this.</p>
<p>Thanks, Ken.</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2008/04/24/intel-xml-software-who-knew/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
