<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments for timgarrett.net</title>
	<link>http://www.timgarrett.net</link>
	<description>Software Engineer - Overland Park, KS</description>
	<pubDate>Thu, 11 Mar 2010 14:11:22 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
		<item>
		<title>Comment on Propagating web application credentials through JAX-WS and Spring Security by admin</title>
		<link>http://www.timgarrett.net/2008/07/03/thoughts-on-web-service-security-in-an-enterprise-software-environment/#comment-42</link>
		<dc:creator>admin</dc:creator>
		<pubDate>Tue, 09 Feb 2010 01:10:18 +0000</pubDate>
		<guid>http://www.timgarrett.net/2008/07/03/thoughts-on-web-service-security-in-an-enterprise-software-environment/#comment-42</guid>
		<description>Yes, that certainly sounds prudent.  I am currently looking at preparing a system in development for production readiness with additonal security and optimizing authentication to be less "chatty." The system has hundreds of web service calls in short intervals and it is currently providing the username and password to the web service with each request.  Those are then validated against a separate LDAP backend using a bind operation.  In other words, not terribly secure and it's doing too much work also.

One thing I am considering is generating an encryption key at start up of an authentication server known only to it.  When an authentication operation completes, the result would be a ticket.  The ticket would basically be an encrypted value representing the username and additional information to facilitate expiration and uniqueness over time (any token that doesn't change is inherently insecure).  When provided with that information, the authentication service would do a lookup by the decrypted username to retrieve cached principal information.  The principal cache would either be refreshed at a time interval or updated through event propagation.

Ideally, I would like to find an open source ticketing server that plays well with all the various technologies in the system (Mule, Spring, JAX-WS, CXF, etc.).   I feel like I understand the difficulties of security conceptually, but I always try to leverage experts when possible.  Just keeping up with what encryption algorithms to employ is a moving target with all the continual advances in attacks.</description>
		<content:encoded><![CDATA[<p>Yes, that certainly sounds prudent.  I am currently looking at preparing a system in development for production readiness with additonal security and optimizing authentication to be less &#8220;chatty.&#8221; The system has hundreds of web service calls in short intervals and it is currently providing the username and password to the web service with each request.  Those are then validated against a separate LDAP backend using a bind operation.  In other words, not terribly secure and it&#8217;s doing too much work also.</p>
<p>One thing I am considering is generating an encryption key at start up of an authentication server known only to it.  When an authentication operation completes, the result would be a ticket.  The ticket would basically be an encrypted value representing the username and additional information to facilitate expiration and uniqueness over time (any token that doesn&#8217;t change is inherently insecure).  When provided with that information, the authentication service would do a lookup by the decrypted username to retrieve cached principal information.  The principal cache would either be refreshed at a time interval or updated through event propagation.</p>
<p>Ideally, I would like to find an open source ticketing server that plays well with all the various technologies in the system (Mule, Spring, JAX-WS, CXF, etc.).   I feel like I understand the difficulties of security conceptually, but I always try to leverage experts when possible.  Just keeping up with what encryption algorithms to employ is a moving target with all the continual advances in attacks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Propagating web application credentials through JAX-WS and Spring Security by Trent</title>
		<link>http://www.timgarrett.net/2008/07/03/thoughts-on-web-service-security-in-an-enterprise-software-environment/#comment-41</link>
		<dc:creator>Trent</dc:creator>
		<pubDate>Mon, 08 Feb 2010 01:37:40 +0000</pubDate>
		<guid>http://www.timgarrett.net/2008/07/03/thoughts-on-web-service-security-in-an-enterprise-software-environment/#comment-41</guid>
		<description>I completely agree with you.  Without SSL, token passing in any way is not advised.  And creating a pre-shared token is virtually useless if someone hacks the front end web server.  But, so is SSL client certificates, assuming the system is "rooted".

I would say, that one of the best methods, is a combination of SSL, and a token that is generated on the farthest back SOA server from the DMZ, after the user has been authenticated with username/password, or some other method.  That way, the "authenticated" state is established by a more secure server, and the username and password aren't continually being sent back and forth, which is ideal.

Any thoughts?</description>
		<content:encoded><![CDATA[<p>I completely agree with you.  Without SSL, token passing in any way is not advised.  And creating a pre-shared token is virtually useless if someone hacks the front end web server.  But, so is SSL client certificates, assuming the system is &#8220;rooted&#8221;.</p>
<p>I would say, that one of the best methods, is a combination of SSL, and a token that is generated on the farthest back SOA server from the DMZ, after the user has been authenticated with username/password, or some other method.  That way, the &#8220;authenticated&#8221; state is established by a more secure server, and the username and password aren&#8217;t continually being sent back and forth, which is ideal.</p>
<p>Any thoughts?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Propagating web application credentials through JAX-WS and Spring Security by admin</title>
		<link>http://www.timgarrett.net/2008/07/03/thoughts-on-web-service-security-in-an-enterprise-software-environment/#comment-40</link>
		<dc:creator>admin</dc:creator>
		<pubDate>Sun, 07 Feb 2010 16:12:39 +0000</pubDate>
		<guid>http://www.timgarrett.net/2008/07/03/thoughts-on-web-service-security-in-an-enterprise-software-environment/#comment-40</guid>
		<description>Trent, I have seen this done about every way you can do it, most of which made me cringe when I studied the implementation and gained an understanding of its ramifications.

I have seen cases where the username was the only thing that meant anything, and the token was essentially a pre-shared value known to the client and server and written into Java code (identical for all users!).  That type of implementation would only even approach feasibility if the users were never logging in themselves, but some sort of automated system was using the web service on their behalf.

Clearly, a token generated by an authentication of principal/credential on the first request is a much better system.  I would still caution against using that approach without an SSL transport unless you have expiration rules built into that token (such as a nonce).

Although there are definitely holes in some of the approaches I have seen, most of them could be rationalized if they employed some sort of securing of the message, be it an SSL transport, message encryption, or both.  I know in many cases, the message itself might not be secure due to the nature of the business--something like a pay-per-result public web service with fairly mundane inputs and outputs.  In this case, the truly secure data is the username and authentication information as those are tied to billable events.  These are the cases where expiring tokens and other aggressive strategies should definitely be employed.

As with all things security, I would advise looking at your implementation and trying to think of the worst things that could go wrong.  If you are working for a high-profile organization or project, it is just a matter of time until someone exploits it.  I have even seen security holes intentionally exploited by integration partners because it made the implementation easier.

Best of luck, and feel free to comment again.  I hope this was helpful.</description>
		<content:encoded><![CDATA[<p>Trent, I have seen this done about every way you can do it, most of which made me cringe when I studied the implementation and gained an understanding of its ramifications.</p>
<p>I have seen cases where the username was the only thing that meant anything, and the token was essentially a pre-shared value known to the client and server and written into Java code (identical for all users!).  That type of implementation would only even approach feasibility if the users were never logging in themselves, but some sort of automated system was using the web service on their behalf.</p>
<p>Clearly, a token generated by an authentication of principal/credential on the first request is a much better system.  I would still caution against using that approach without an SSL transport unless you have expiration rules built into that token (such as a nonce).</p>
<p>Although there are definitely holes in some of the approaches I have seen, most of them could be rationalized if they employed some sort of securing of the message, be it an SSL transport, message encryption, or both.  I know in many cases, the message itself might not be secure due to the nature of the business&#8211;something like a pay-per-result public web service with fairly mundane inputs and outputs.  In this case, the truly secure data is the username and authentication information as those are tied to billable events.  These are the cases where expiring tokens and other aggressive strategies should definitely be employed.</p>
<p>As with all things security, I would advise looking at your implementation and trying to think of the worst things that could go wrong.  If you are working for a high-profile organization or project, it is just a matter of time until someone exploits it.  I have even seen security holes intentionally exploited by integration partners because it made the implementation easier.</p>
<p>Best of luck, and feel free to comment again.  I hope this was helpful.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Propagating web application credentials through JAX-WS and Spring Security by Trent</title>
		<link>http://www.timgarrett.net/2008/07/03/thoughts-on-web-service-security-in-an-enterprise-software-environment/#comment-39</link>
		<dc:creator>Trent</dc:creator>
		<pubDate>Sun, 07 Feb 2010 09:27:36 +0000</pubDate>
		<guid>http://www.timgarrett.net/2008/07/03/thoughts-on-web-service-security-in-an-enterprise-software-environment/#comment-39</guid>
		<description>You said: 
&lt;blockquote&gt;
I have seen some pretty primitive attitudes toward web service security–things like non-SSL transports combined with a simple authentication token that never changes. This is exactly the kind of recklessness I wanted to avoid in my services.
&lt;/blockquote&gt;
What exactly do you mean by the bit about "simple authentication token"?

Do you mean like a mutually defined token, used on the web service, and the client?

Or do you mean a token generated by an authentication of principal/credential passing on the first request?

Thanks.</description>
		<content:encoded><![CDATA[<p>You said: </p>
<blockquote><p>
I have seen some pretty primitive attitudes toward web service security–things like non-SSL transports combined with a simple authentication token that never changes. This is exactly the kind of recklessness I wanted to avoid in my services.
</p></blockquote>
<p>What exactly do you mean by the bit about &#8220;simple authentication token&#8221;?</p>
<p>Do you mean like a mutually defined token, used on the web service, and the client?</p>
<p>Or do you mean a token generated by an authentication of principal/credential passing on the first request?</p>
<p>Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Recipe: Scamboli by ysulogib</title>
		<link>http://www.timgarrett.net/2009/03/04/recipe-scamboli/#comment-34</link>
		<dc:creator>ysulogib</dc:creator>
		<pubDate>Wed, 26 Aug 2009 16:34:04 +0000</pubDate>
		<guid>http://www.timgarrett.net/2009/03/04/recipe-scamboli/#comment-34</guid>
		<description>&lt;strong&gt;ysulogib...&lt;/strong&gt;

 &lt;a href="http://namelindablog.info/raven-symones-baby/" rel="nofollow"&gt;Raven Symones Baby&lt;/a&gt; ...</description>
		<content:encoded><![CDATA[<p><strong>ysulogib&#8230;</strong></p>
<p> <a href="http://namelindablog.info/raven-symones-baby/" rel="nofollow">Raven Symones Baby</a> &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Oh, the Insanity&#8230; In Soviet America the Internet Visits You by ngreen</title>
		<link>http://www.timgarrett.net/2009/02/21/oh-the-insanity-in-soviet-america-the-internet-visits-you/#comment-31</link>
		<dc:creator>ngreen</dc:creator>
		<pubDate>Wed, 20 May 2009 15:27:42 +0000</pubDate>
		<guid>http://www.timgarrett.net/2009/02/21/oh-the-insanity-in-soviet-america-the-internet-visits-you/#comment-31</guid>
		<description>The CP is a bunch of isolationist philosophers who think that history ended in 1776 - just had to elaborate on your (apt) description a bit.  You forgot the Green party (they stole my name, which I'm not happy about) but it's not surprising since Nader's speeches tend to induce narcolepsy.</description>
		<content:encoded><![CDATA[<p>The CP is a bunch of isolationist philosophers who think that history ended in 1776 - just had to elaborate on your (apt) description a bit.  You forgot the Green party (they stole my name, which I&#8217;m not happy about) but it&#8217;s not surprising since Nader&#8217;s speeches tend to induce narcolepsy.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Oh, the Insanity&#8230; In Soviet America the Internet Visits You by allenr</title>
		<link>http://www.timgarrett.net/2009/02/21/oh-the-insanity-in-soviet-america-the-internet-visits-you/#comment-30</link>
		<dc:creator>allenr</dc:creator>
		<pubDate>Wed, 20 May 2009 00:47:17 +0000</pubDate>
		<guid>http://www.timgarrett.net/2009/02/21/oh-the-insanity-in-soviet-america-the-internet-visits-you/#comment-30</guid>
		<description>Well man, we need to talk. I'm very much into politics myself. I was actually a delegate at the Missouri GOP convention during the primaries (though not for McCain ;) I do not marry myself to a party so to speak because a party is full of people and ideas that can change over time. So, I tell everyone that I'm "libertarian minded."</description>
		<content:encoded><![CDATA[<p>Well man, we need to talk. I&#8217;m very much into politics myself. I was actually a delegate at the Missouri GOP convention during the primaries (though not for McCain <img src='http://www.timgarrett.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> I do not marry myself to a party so to speak because a party is full of people and ideas that can change over time. So, I tell everyone that I&#8217;m &#8220;libertarian minded.&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Recipe: Scamboli by paulk</title>
		<link>http://www.timgarrett.net/2009/03/04/recipe-scamboli/#comment-24</link>
		<dc:creator>paulk</dc:creator>
		<pubDate>Mon, 09 Mar 2009 03:00:04 +0000</pubDate>
		<guid>http://www.timgarrett.net/2009/03/04/recipe-scamboli/#comment-24</guid>
		<description>We made it this weekend and threw in some green peppers. Tasty!</description>
		<content:encoded><![CDATA[<p>We made it this weekend and threw in some green peppers. Tasty!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Recipe: Scamboli by paulk</title>
		<link>http://www.timgarrett.net/2009/03/04/recipe-scamboli/#comment-23</link>
		<dc:creator>paulk</dc:creator>
		<pubDate>Thu, 05 Mar 2009 14:08:42 +0000</pubDate>
		<guid>http://www.timgarrett.net/2009/03/04/recipe-scamboli/#comment-23</guid>
		<description>Hey, that does look good. We plan on making it this weekend.</description>
		<content:encoded><![CDATA[<p>Hey, that does look good. We plan on making it this weekend.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Oh, the Insanity&#8230; In Soviet America the Internet Visits You by paulk</title>
		<link>http://www.timgarrett.net/2009/02/21/oh-the-insanity-in-soviet-america-the-internet-visits-you/#comment-21</link>
		<dc:creator>paulk</dc:creator>
		<pubDate>Thu, 26 Feb 2009 05:58:53 +0000</pubDate>
		<guid>http://www.timgarrett.net/2009/02/21/oh-the-insanity-in-soviet-america-the-internet-visits-you/#comment-21</guid>
		<description>Wow, if that ever passes (I think that must be unlikely), WiFi all over the US would go offline. I wonder if 3G providers are behind this? hehe</description>
		<content:encoded><![CDATA[<p>Wow, if that ever passes (I think that must be unlikely), WiFi all over the US would go offline. I wonder if 3G providers are behind this? hehe</p>
]]></content:encoded>
	</item>
</channel>
</rss>
