<?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>BiTKOO</title>
	<atom:link href="http://bitkoo.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://bitkoo.com/blog</link>
	<description>BiTKOO BLOG</description>
	<lastBuildDate>Tue, 30 Aug 2011 16:41:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Keystone is the Killer App of XACML</title>
		<link>http://bitkoo.com/blog/?p=32</link>
		<comments>http://bitkoo.com/blog/?p=32#comments</comments>
		<pubDate>Fri, 26 Aug 2011 17:32:16 +0000</pubDate>
		<dc:creator>Doron Grinstein</dc:creator>
				<category><![CDATA[ABAC]]></category>
		<category><![CDATA[Keystone]]></category>
		<category><![CDATA[RBAC]]></category>
		<category><![CDATA[XACML]]></category>
		<category><![CDATA[attribute-based access control]]></category>
		<category><![CDATA[keystone]]></category>
		<category><![CDATA[rbac]]></category>
		<category><![CDATA[role-based-access control]]></category>
		<category><![CDATA[xacml]]></category>

		<guid isPermaLink="false">http://bitkoo.com/blog/?p=32</guid>
		<description><![CDATA[Some people like XACML and some people don&#8217;t. Some people say XACML is difficult. Of course it is difficult &#8211; if you don&#8217;t have the right tool. Keystone is an elegant software product which is delivered either from the cloud &#8230; <a href="http://bitkoo.com/blog/?p=32">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Some people like XACML and some people don&#8217;t. Some people say<br />
XACML is difficult. Of course it is difficult &#8211; if you don&#8217;t have the right<br />
tool. <a title="keystone" href="http://bitkoo.com/products-keystone.php">Keystone</a> is an elegant software product which is delivered either from<br />
the cloud or on-premises. It makes even the most non-technical user an expert<br />
in XACML. Why? Because it makes defining policy actually FUN!</p>
<p>Rather than worrying about the RBAC profile of XACML or about<br />
where attributes come from, and a slew of other complex technical matters,<br />
Keystone provides users with a sleek, easy to use interface that abstracts away<br />
all the identity &#8220;goo&#8221;. Business users simply need to define their<br />
policy and go about their business. They do not need to understand complex<br />
concepts.</p>
<p>People that only care about RBAC (role-based access control) can<br />
use it, and people that want pure ABAC (attribute-based access control) can use<br />
it. The beauty of Keystone is that it allows you to use both models without<br />
having any mismatch in the way you think. Everything fits naturally.</p>
<p>If you want to learn about XACML <a title="contact bitkoo" href="http://bitkoo.com/contact-us.php">give us a shout!</a> BiTKOO offers a<br />
free training session in our offices in Los Angeles. We can also send our<br />
trainers to you!</p>
]]></content:encoded>
			<wfw:commentRss>http://bitkoo.com/blog/?feed=rss2&#038;p=32</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BiTKOO&#8217;s View of Cloud Computing</title>
		<link>http://bitkoo.com/blog/?p=16</link>
		<comments>http://bitkoo.com/blog/?p=16#comments</comments>
		<pubDate>Fri, 15 Apr 2011 22:31:51 +0000</pubDate>
		<dc:creator>Doron Grinstein</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Keystone]]></category>
		<category><![CDATA[XACML]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[saml]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[xacml]]></category>

		<guid isPermaLink="false">http://bitkoo.com/blog/?p=16</guid>
		<description><![CDATA[Cloud Computing has been THE buzzword for a while now. Last year I asked some people at the cloud identity summit what their definition of cloud computing was. They gave me an empty stare as if everyone knows. Since they &#8230; <a href="http://bitkoo.com/blog/?p=16">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: Calibri, Verdana, Helvetica, Arial; font-size: 14px;">Cloud Computing has been THE buzzword for a while now. Last year I asked some people at the cloud identity summit what their definition of cloud computing was. They gave me an empty stare as if everyone knows. Since they wouldn’t say, I told them what my definition of cloud computing is. It is NOT a server with a longer extension cord! Ask most providers and they will say cloud computing is outsourcing your servers to a third party. Yes, it is true. But this is not enough for the department of defense or the banks to use cloud computing! At least I hope it isn’t enough.</span></p>
<p>Here is my definition of cloud computing:  you read it here first, even though I’ve been saying it since 2003. In fact, that is the reason I invented Keystone; more about that later.</p>
<p>Drumroll…<br />
<span style="color: #ff0000;">Cloud computing is the ability for a third party to store, search and compute a client’s data in a scalable, resilient and secure way, without the third party’s ability to look at the data, even with a court order!</span></p>
<p>Now, that’s worth devoting one’s life to! And that is exactly my life’s professional goal. Can’t be done? Nonsense! I will give you an example of this model that is already in use today, albeit simpler: Why do you trust e-commerce? Is it because you trust AT&amp;T, Sprint, or other intermediaries that shuttle the data from your browser to your bank or merchant? Or is it because you trust the SSL <strong>protocol and algorithm? </strong>Hopefully the answer is the latter. The SSL algorithm is open and does not hide behind obscurity but rather it uses a well-defined, easily understood (my wife disagrees with this one) protocol/algorithm. Because there is a well-defined, open standard for doing secure communication over the insecure internet we now have e-commerce. It is great! I just ordered a pair of sneakers online and I didn’t have to establish a contract with all the telecommunication companies moving my data from my browser to the merchant. I trust the mechanism, not the service providers.</p>
<p>I arrived at this conclusion in May 2003 when I asked myself how I can simplify application development greatly. I observed, like many others that software is all about layers of abstraction. It started around 1947 with machines that required the operator to flip switches. It moved on to assembly language, then moved to simple procedural languages, object-oriented languages, component-oriented frameworks and the latest (circa 2003) was web services. I said to myself: “if I draw a diagonal line from 1947 all the way to 2003 and continue the line upwards and to the right all the way to 2020, what would a day in the life of a developer in 2020 look like?” I decided to dream about being a developer in 2020. What I saw in my mind was very nice and simple. I called it NGI – Next Generation Internet. It was comprised of an interface I called INGI. Here it is, taken from some experimental code we developed recently:</p>
<p><span style="color: #0000ff;"><span style="font-size: small;"><span style="font-family: Consolas, 'Courier New', Courier;">using</span></span></span><span style="font-size: small;"><span style="font-family: Consolas, 'Courier New', Courier;"> System;<br />
<span style="color: #0000ff;">using</span> System.Xml;</span></span></p>
<p><span style="color: #0000ff;">namespace</span> BiTKOO<br />
{<br />
<span style="color: #0000ff;">interface</span> <span style="color: #2b91af;">INGI<br />
</span> {<br />
<span style="color: #2b91af;">Guid</span> Put(<span style="color: #2b91af;">XmlDocument</span> data);<br />
<span style="color: #2b91af;">XmlDocument</span> Get(<span style="color: #2b91af;">XmlDocument</span> query);<br />
<span style="color: #2b91af;">Guid</span> Monitor(<span style="color: #2b91af;">Uri</span> callbackAddress, <span style="color: #2b91af;">XmlDocument</span> query);<br />
<span style="color: #0000ff;">bool</span> UnMonitor(<span style="color: #2b91af;">Guid</span> id, <span style="color: #2b91af;">XmlDocument</span> securityContext);<br />
}<br />
}</p>
<p>This is the only way I want to talk to the cloud. The cloud provider should expose this interface and nothing else. I should be able to PUT any data and get a unique identifier. I can then take that unique identifier (token or pointer) and store it locally on my phone or store it in yet another PUT command in the cloud. What’s in the data parameter of PUT? Anything! The data parameter will contain an envelope that has sections for security, authentication, authorization, encryption, retention policy, and any metadata that tells the “man behind the curtain” what to do with the data. This can be extensible to include where to publish the data to, what to do with older data that the new data replaces, etc.</p>
<p>The GET method would get me data back but only if my QUERY contains the right search criteria and additional data such as my credentials, claims, context, certificates, etc. So I would construct a query document that has everything the “man behind the curtain” needs in order to go fetch me my data. It might include cryptographic elements that are needed for the “man behind the curtain” to search, compute and otherwise retrieve my data.</p>
<p>Monitor is my way to tell the “man behind the curtain” to have an ongoing query that will cause a document to be posted to the URL indicated by callbackAddress. An example would be a stock price or a blog. I would issue a query like this (symbol=”GE” return=”PRICE”, condition=”PRICE&lt;30.00” frequency=”hourly”). Of course the query language here is pseudo and provided for simplicity in understanding the concept of NGI. Formalities will need to run throughout the system for it to work.</p>
<p>What I just described above is my view of the cloud and I have ZERO DOUBT that this is how IT will be done in 2020. What are the advantages? Developers don’t need to care about:</p>
<p><span style="font-family: Symbol;">· </span>How many instances of a server to run<br />
<span style="font-family: Symbol;">· </span>Where is the server<br />
<span style="font-family: Symbol;">· </span>What OS is the server running<br />
<span style="font-family: Symbol;">· </span>What database architecture is the server running<br />
<span style="font-family: Symbol;">· </span>Is there a load balancer<br />
<span style="font-family: Symbol;">· </span>How to encrypt the data<br />
<span style="font-family: Symbol;">· </span>How to efficiently search the data<br />
<span style="font-family: Symbol;">· </span>How long to retain the data for and how to manage that<br />
<span style="font-family: Symbol;">· </span>You get the idea…</p>
<p>All the items us as developers need to worry about today will seem plain silly once we have NGI. When you type a search on Google you don’t care about what’s behind the curtain: Linux, map-reduce, etc. You care that you type “Chinese Food” and presto. NGI can be thought of as “Google for private data”.</p>
<p>If you read carefully above, what is not immediately obvious from looking at the interface is how the service provider will be able to store, retrieve, search, and compute my data without being able to look at the data. We are working hard to make this a reality. When I started down this path in May 2003 I drew 45 boxes that were needed to make this happen. They included authentication, authorization, encryption, audit trail, replication, data sharding, and many more boxes. I decided to start alphabetically (just kidding) with authentication and authorization; thus Keystone was born. Without a doubt I can see the light at end of the tunnel and I am getting very excited. We have standards such as SAML, XACML, and others that will play a role in getting us as an industry to NGI. When we get there it will be fantastic and will liberate us to think about how to make software do even more amazing things without having to worry about the plumbing that most people re-invent on a daily basis. If you agree or disagree or want to help get us there, drop me a line and let me know what you think. I can be reached via email at <a href="mailto:doron@bitkoo.com">Doron@BiTKOO.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bitkoo.com/blog/?feed=rss2&#038;p=16</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

