<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>secpal Forum Rss Feed</title><link>http://www.codeplex.com/secpal/Thread/List.aspx</link><description>secpal Forum Rss Description</description><item><title>New Post: Why datalog with constraints?</title><link>http://secpal.codeplex.com/Thread/View.aspx?ThreadId=76031</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Thank you very much! That was what kind of what I thought.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks again.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Claudia&lt;/p&gt;&lt;/div&gt;</description><author>cguino</author><pubDate>Tue, 19 Jan 2010 23:41:42 GMT</pubDate><guid isPermaLink="false">New Post: Why datalog with constraints? 20100119114142P</guid></item><item><title>New Post: Why datalog with constraints?</title><link>http://secpal.codeplex.com/Thread/View.aspx?ThreadId=76031</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Wrt why Datalog vs Prolog, Datalog gives us deterministic and efficient query evaluation. Wrt why Datalog, it also helps with some of the complex recursive queries necessary to solve complex constrained delegation rules - amongst other things.&lt;/p&gt;
&lt;p&gt;Jason&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;</description><author>jasonhogg</author><pubDate>Tue, 12 Jan 2010 23:46:53 GMT</pubDate><guid isPermaLink="false">New Post: Why datalog with constraints? 20100112114653P</guid></item><item><title>New Post: Why datalog with constraints?</title><link>http://secpal.codeplex.com/Thread/View.aspx?ThreadId=76031</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi, I want to understand just why. Mostly the need for doing so or the benefits that it has. I suppose you don&amp;acute;t use Prolog because of the functions on the head (and other reasons? ).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thank you!!&lt;/p&gt;&lt;/div&gt;</description><author>cguino</author><pubDate>Thu, 10 Dec 2009 20:26:00 GMT</pubDate><guid isPermaLink="false">New Post: Why datalog with constraints? 20091210082600P</guid></item><item><title>New Post: Why datalog with constraints?</title><link>http://secpal.codeplex.com/Thread/View.aspx?ThreadId=76031</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Do you mean why the need for Datalog or why not use a more advanced inference engine such as Prolog?&lt;/p&gt;&lt;/div&gt;</description><author>jasonhogg</author><pubDate>Thu, 10 Dec 2009 18:01:34 GMT</pubDate><guid isPermaLink="false">New Post: Why datalog with constraints? 20091210060134P</guid></item><item><title>New Post: Why datalog with constraints?</title><link>http://secpal.codeplex.com/Thread/View.aspx?ThreadId=76031</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I am studying SecPAL and other security languages for distributed systems. I have tried to guess why do they use Datalog for a start point but I couldn&amp;acute;t find out some paper or study that fundaments my ideas. Does anybody knows or guesses why is it?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thank you very much for your help!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;</description><author>cguino</author><pubDate>Tue, 24 Nov 2009 01:20:14 GMT</pubDate><guid isPermaLink="false">New Post: Why datalog with constraints? 20091124012014A</guid></item><item><title>New Post: Sample Parser for SecPAL Simplified English Grammar Now Available!</title><link>http://secpal.codeplex.com/Thread/View.aspx?ThreadId=14338</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi Apurva -&lt;/p&gt;
&lt;p&gt;I have posted an update of the parser that works on the latest version of F#. Although, looking at your issue again I think you might just be missing a path statement pointing to the bin directory of your F# implementation... I think the intro docs covered a lot of that stuff. Let me know how you went.&lt;/p&gt;
&lt;p&gt;Jason&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;</description><author>jasonhogg</author><pubDate>Sun, 27 Sep 2009 21:54:44 GMT</pubDate><guid isPermaLink="false">New Post: Sample Parser for SecPAL Simplified English Grammar Now Available! 20090927095444P</guid></item><item><title>New Post: SecPAL Parser Updated for VS2008 and F#1.9.6.16</title><link>http://secpal.codeplex.com/Thread/View.aspx?ThreadId=70220</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I finally got around to updating the SecPAL Parser to run on the latest version of Visual Studio and F#. Development experience should be much cleaner now because F# is far better integrated into VS. If you run into any problems please post a note or drop me an email.&lt;/p&gt;
&lt;p&gt;Enjoy&lt;/p&gt;
&lt;p&gt;Jason Hogg&lt;/p&gt;
&lt;p&gt;&lt;a href="mailto:jahogg@microsoft.com"&gt;jahogg@microsoft.com&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</description><author>jasonhogg</author><pubDate>Sat, 26 Sep 2009 22:26:59 GMT</pubDate><guid isPermaLink="false">New Post: SecPAL Parser Updated for VS2008 and F#1.9.6.16 20090926102659P</guid></item><item><title>New Post: SecPAL Parser Updated for VS2008 and F#1.9.6.16</title><link>http://secpal.codeplex.com/Thread/View.aspx?ThreadId=70220</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I finally got around to updating the SecPAL Parser to run on the latest version of Visual Studio and F#. Development experience should be much cleaner now because F# is far better integrated into VS. If you run into any problems please post a note or drop me an email.&lt;/p&gt;
&lt;p&gt;Enjoy&lt;/p&gt;
&lt;p&gt;Jason Hogg&lt;/p&gt;
&lt;p&gt;&lt;a href="mailto:jahogg@microsoft.com"&gt;jahogg@microsoft.com&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</description><author>jasonhogg</author><pubDate>Sat, 26 Sep 2009 22:26:59 GMT</pubDate><guid isPermaLink="false">New Post: SecPAL Parser Updated for VS2008 and F#1.9.6.16 20090926102659P</guid></item><item><title>New Post: Sample Parser for SecPAL Simplified English Grammar Now Available!</title><link>http://www.codeplex.com/secpal/Thread/View.aspx?ThreadId=14338</link><description>&lt;div style="line-height: normal;"&gt;Thanks for the reply. I got involved in other things and could not follow up on that. As I am a newbie in Secpal, I think your solution (1) will be most suitable. I will try to look into solution (2).&lt;br&gt;
&lt;br&gt;
I will update you when I make some progress.&lt;br&gt;
&lt;br&gt;
thanks again,&lt;br&gt;
Apurva&lt;br&gt;
&lt;/div&gt;</description><author>appu</author><pubDate>Thu, 29 Jan 2009 18:56:52 GMT</pubDate><guid isPermaLink="false">New Post: Sample Parser for SecPAL Simplified English Grammar Now Available! 20090129065652P</guid></item><item><title>New Post: Sample Parser for SecPAL Simplified English Grammar Now Available!</title><link>http://www.codeplex.com/secpal/Thread/View.aspx?ThreadId=14338</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Unfortunately I think the version of the SecPAL parser that is posted here is not compatible with the latest version of F#. So you can do one of three things. &lt;br&gt;
1. Find the same version of F# that we used. I think it is stated in the docs.&lt;br&gt;
2. If you have the time it would be great if you could update the parser to work with the latest version of F# and I will add you as a contributor and you can post the updates to share with everyone else&lt;br&gt;
3. Or there is a slight chance that I could take a look at this over Christmas - but it is just a slight chance... &lt;/p&gt;
&lt;p&gt;Jason&lt;/p&gt;
&lt;/div&gt;</description><author>jasonhogg</author><pubDate>Wed, 17 Dec 2008 03:44:40 GMT</pubDate><guid isPermaLink="false">New Post: Sample Parser for SecPAL Simplified English Grammar Now Available! 20081217034440A</guid></item><item><title>New Post: Sample Parser for SecPAL Simplified English Grammar Now Available!</title><link>http://www.codeplex.com/secpal/Thread/View.aspx?ThreadId=14338</link><description>&lt;div style="line-height: normal;"&gt;Hello, I am evaluating SecPAL for possible implementation of an authorization module for a trust management system as part of my PhD research. I am trying to setup the environment and I am getting an error while trying to build the parser. I am copying the output of the command line below. Any help in solving this issue and building the parser will be appreciated.&lt;br&gt;
----------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br&gt;
Build the sample...&lt;br&gt;
compiling to dfas (can take a while...)&lt;br&gt;
117 states&lt;br&gt;
writing output&lt;br&gt;
building tables&lt;br&gt;
computing first function...time: 00:00:00.0991109&lt;br&gt;
building kernels...time: 00:00:00.1091141&lt;br&gt;
building kernel table...time: 00:00:00.0184146&lt;br&gt;
computing lookahead relations...................................................................................................................time: 00:00:00.0665690&lt;br&gt;
building lookahead table...time: 00:00:00.0348494&lt;br&gt;
building action table...time: 00:00:00.0508581&lt;br&gt;
building goto table...time: 00:00:00.0082940&lt;br&gt;
returning tables.&lt;br&gt;
112 states&lt;br&gt;
19 nonterminals&lt;br&gt;
34 terminals&lt;br&gt;
50 productions&lt;br&gt;
#rows in action table: 112&lt;br&gt;
PREBUILDSTEP for LexAndYacc Project FAILED &lt;br&gt;
----------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br&gt;
&lt;br&gt;
I have SecPAL 1.1, Visual Studio and F# installed. I also tried running the three additional files separately but I get an error when I try to check whether the environment variable was configured correctly. I am sure that I am setting the variable correctly but when I type “fsc /?”, “fslex –help”, “fsyacc –help” on the command line, I get the error saying - '&amp;quot;fsc /?&amp;quot;' is not recognized as an internal or external command, operable program or batch file.&lt;br&gt;
&lt;br&gt;
I would appreciate any help in this regard.&lt;br&gt;
&lt;br&gt;
Thanks,&lt;br&gt;
Apurva Mohan&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;</description><author>appu</author><pubDate>Tue, 09 Dec 2008 22:20:10 GMT</pubDate><guid isPermaLink="false">New Post: Sample Parser for SecPAL Simplified English Grammar Now Available! 20081209102010P</guid></item><item><title>NEW POST: Sample Parser for SecPAL Simplified English Grammar Now Available!</title><link>http://www.codeplex.com/secpal/Thread/View.aspx?ThreadId=14338</link><description>&lt;div class="wikidoc"&gt;
One of the great strengths of SecPAL is its unique support for multiple representations of a security policy; XML for interoperability; and a simplified English grammar for human readbility. The SecPAL v1.1 Research Release (available from http://research.microsoft.com/projects/secpal) allows SecPAL assertions to be created using the rich and flexible.NET object model or deserialized from (or serialized into XML) XML according to the SecPAL Schema Specification. &lt;br /&gt; &lt;br /&gt;This sample includes a parser that allows SecPAL policies and authorization queries to be specified using a simplified English Grammar and then translated into the SecPAL object model. This allows policies to be specified declaratively in a human readable form. Full source code is included. The parser is written using F# and the Lexx and Yacc tools that accompany F#. &lt;br /&gt; &lt;br /&gt;Use this thread as a starting point in case you have any questions / suggestions... &lt;br /&gt; &lt;br /&gt;Available from here: &lt;a href="http://www.codeplex.com/secpal/Release/ProjectReleases.aspx?ReleaseId=6667" class="externalLink"&gt;http://www.codeplex.com/secpal/Release/ProjectReleases.aspx?ReleaseId=6667&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>jasonhogg</author><pubDate>Sun, 26 Aug 2007 21:16:53 GMT</pubDate><guid isPermaLink="false">NEW POST: Sample Parser for SecPAL Simplified English Grammar Now Available! 20070826091653P</guid></item><item><title>NEW POST: Use of the RSACryptoServiceProvider in our Samples</title><link>http://www.codeplex.com/secpal/Thread/View.aspx?ThreadId=13106</link><description>&lt;div class="wikidoc"&gt;
I have had a couple of people ask about how our use of the KeyHolderPrincipal works in the SecPAL samples. Our samples use code similar to this for creating KeyHolderPrincipals:&lt;br /&gt;        private static KeyHolderPrincipal userPrincipal =&lt;br /&gt;            new KeyHolderPrincipal(new RSACryptoServiceProvider(), &amp;quot;K-User&amp;quot;);&lt;br /&gt; &lt;br /&gt;In this case the .NET Framework gives you a randomly-generated key pair in a random (and transient) key container.  But if you provide a key container name then the .NET Framework will access the key that’s present in the container (and if the container doesn’t exist it’ll create it and randomly generate a persistent key in that container for you). I have included a code sample below that shows how to create and persist a key. As a side note, the CspParameters class also allows a provider to be specified, which could allow you to access keys stored on a smart card or in a crypto hardware module (etc). &lt;br /&gt; &lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Security.Cryptography;&lt;br /&gt; &lt;br /&gt;namespace RSATest&lt;br /&gt;    class Program&lt;br /&gt;    {&lt;br /&gt;        static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt; &lt;br /&gt;            string publicKey = InitializeKey();&lt;br /&gt;            Console.WriteLine(&amp;quot;The RSA key {0} was persisted in the container JasonsTest.&amp;quot;, publicKey);&lt;br /&gt;            Console.WriteLine(publicKey);&lt;br /&gt;            // LOGOFF / REBOOT / etc&lt;br /&gt;            LoadKey(publicKey);&lt;br /&gt;            Console.ReadLine();&lt;br /&gt;        }&lt;br /&gt; &lt;br /&gt;        private static string InitializeKey()&lt;br /&gt;        {&lt;br /&gt;            CspParameters cspParams = new CspParameters();&lt;br /&gt;            cspParams.KeyContainerName = &amp;quot;JasonsTest&amp;quot;;&lt;br /&gt;            RSACryptoServiceProvider RSAalg = new RSACryptoServiceProvider(cspParams);&lt;br /&gt;            string publicKey = RSAalg.ToXmlString(false);&lt;br /&gt;            return publicKey;&lt;br /&gt;        }&lt;br /&gt; &lt;br /&gt;        private static void LoadKey(string publicKey)&lt;br /&gt;        {&lt;br /&gt;            CspParameters cspParams = new CspParameters();&lt;br /&gt;            cspParams.KeyContainerName = &amp;quot;JasonsTest&amp;quot;;&lt;br /&gt;            RSACryptoServiceProvider rsaCSP = new RSACryptoServiceProvider(cspParams);&lt;br /&gt;            rsaCSP.FromXmlString(publicKey);&lt;br /&gt;            publicKey = rsaCSP.ToXmlString(false);&lt;br /&gt;            Console.WriteLine(&amp;quot;Key {0} was read successfully&amp;quot;, publicKey); &lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>jasonhogg</author><pubDate>Fri, 27 Jul 2007 19:59:04 GMT</pubDate><guid isPermaLink="false">NEW POST: Use of the RSACryptoServiceProvider in our Samples 20070727075904P</guid></item><item><title>NEW POST: SecPAL QueryEditor</title><link>http://www.codeplex.com/secpal/Thread/View.aspx?ThreadId=11665</link><description>&lt;div class="wikidoc"&gt;
We've just added a QueryEditor to the Releases section that demonstrates how to use the SecPAL authorization engine. The QueryEditor is deployed as a Visual Studio 2005 project with full source code.&lt;br /&gt; &lt;br /&gt;The QueryEditor allows you to create authorization policies and examine how policies are created using the Microsoft.Research.SecPal assembly. The QueryEditor will also load Sample Authorization Scenarios that are included with the SecPal Research Release.&lt;br /&gt; &lt;br /&gt;Download the QueryEditor today and give it a try. If you have any questions or issues with this release please use this discussion to provide feedback.&lt;br /&gt; &lt;br /&gt;Thanks!&lt;br /&gt;
&lt;/div&gt;</description><author>Lon28Wall</author><pubDate>Thu, 21 Jun 2007 19:56:10 GMT</pubDate><guid isPermaLink="false">NEW POST: SecPAL QueryEditor 20070621075610P</guid></item><item><title>NEW POST: Where do I download SecPAL from?</title><link>http://www.codeplex.com/secpal/Thread/View.aspx?ThreadId=11459</link><description>&lt;div class="wikidoc"&gt;
This site is intended to help support people evaluating SecPAL. The .NET implementation of SecPAL and associated design papers can be found at our main research site &lt;a href="http://research.microsoft.com/projects/secpal/" class="externalLink"&gt;http://research.microsoft.com/projects/secpal/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. &lt;br /&gt; &lt;br /&gt;The releases section does not currently contain anything to download, but hopefully in the next couple of days Lonnie is going to post source code for a query editor that I think people will find very interesting... &lt;br /&gt;
&lt;/div&gt;</description><author>jasonhogg</author><pubDate>Fri, 15 Jun 2007 20:17:20 GMT</pubDate><guid isPermaLink="false">NEW POST: Where do I download SecPAL from? 20070615081720P</guid></item><item><title>NEW POST: SecPAL v1.1 Is Now Available!</title><link>http://www.codeplex.com/secpal/Thread/View.aspx?ThreadId=11366</link><description>&lt;div class="wikidoc"&gt;
We have just released a point release of SecPAL which you should definitely take a look at. In addition to a couple of minor bug fixes there are two features that we think you will be interested in:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;We have implemented a new grammar which makes it much simpler to understand conditions and constriants within policies&lt;/li&gt;&lt;li&gt;The graphical proof graph viewer now works from within the audit log viewer&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;If you do already have SecPAL v1.0 installed you should ensure you remove the first version before you try to install the new version. More information is available here: &lt;a href="http://www.codeplex.com/secpal/Wiki/View.aspx?title=Installingv1.1&amp;amp;referringTitle=ResearchRelease1.1" class="externalLink"&gt;http://www.codeplex.com/secpal/Wiki/View.aspx?title=Installingv1.1&amp;amp;referringTitle=ResearchRelease1.1&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. &lt;br /&gt; &lt;br /&gt;For a complete description of what is new take a look at &lt;a href="http://www.codeplex.com/secpal/Wiki/View.aspx?title=SecPALv1.1Summary" class="externalLink"&gt;http://www.codeplex.com/secpal/Wiki/View.aspx?title=SecPALv1.1Summary&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. &lt;br /&gt;
&lt;/div&gt;</description><author>jasonhogg</author><pubDate>Wed, 13 Jun 2007 23:37:29 GMT</pubDate><guid isPermaLink="false">NEW POST: SecPAL v1.1 Is Now Available! 20070613113729P</guid></item><item><title>NEW POST: Writing to the Audit Log</title><link>http://www.codeplex.com/secpal/Thread/View.aspx?ThreadId=11187</link><description>&lt;div class="wikidoc"&gt;
We have had a couple of questions about writing to the audit log using SecPAL's audit logging capability - so I figured I would summarize how this capability works - including how to view the audit log using the audit log viewer.&lt;br /&gt; &lt;br /&gt;#1 AuditLogSample - The best place to start is by running the sample called &amp;quot;AuditLogScenario&amp;quot;. This sample includes the following audit rule within an audit policy. This rule specifies that all requests based on an ActionVern of &amp;quot;read&amp;quot; should be written to the audit log when a successful authorization decision occurs. The audit log should also incorporate the proof and the authorization context that was used to support the authorization claim. &lt;br /&gt; &lt;br /&gt;{&amp;quot;&lt;br /&gt;                auditRules.Add(&lt;br /&gt;                    new AuditRule(&lt;br /&gt;                        new ProofTarget[] {&lt;br /&gt;                            new ProofTarget(&lt;br /&gt;                                ActionVerbs.read,&lt;br /&gt;                                new Resource(&lt;br /&gt;                                    ResourceType.digitalContent,&lt;br /&gt;                                    new Uri(&amp;quot;file:///public/&amp;quot;))) },&lt;br /&gt;                        1 /* eventId */,&lt;br /&gt;                        AuditAction.log,&lt;br /&gt;                        EventType.success,&lt;br /&gt;                        true /* includeProof */,&lt;br /&gt;                        true /* includeContext */));&lt;br /&gt; &lt;br /&gt;                policies.Add(&lt;br /&gt;                    new Policy(&lt;br /&gt;                        new PrincipalIssuer(new LocalAuthorityPrincipal()),&lt;br /&gt;                        claims,&lt;br /&gt;                        auditRules,&lt;br /&gt;                        null /* authorizationQueryTemplate */,&lt;br /&gt;                        null /* description */ ));&lt;br /&gt;&amp;quot;}&lt;br /&gt; &lt;br /&gt;#2 Viewing the Audit Logs - Once you have run this sample (or modified your code, or any of our other samples to include a policy similar to above) you are then ready to take a look at the audit logs. You can do this by looking at the XML file yourself - but noone likes looking at XML - so we have included a tool for doing this. Click on the start menu / programs / secpal / and run the audit log viewer. This tool will now allow you to see all the audit entries that have been logged. Plus for each audit entry you can see:&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;The SecPAL statements that were actually evaluated vs all the SecPAL statements that were in the AC&lt;/li&gt;&lt;li&gt;A hierarchical view of the proof graph that lead to an authorization decision&lt;/li&gt;&lt;li&gt;A graphical view of the proof graph (see below)&lt;/li&gt;&lt;li&gt;A translation of your SecPAL into Datalog (as per our formal model)&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;#3 Using the Graphical Proof Graph Viewer (1) - This is one of the hidden secrets and in my opinion one of the coolest features in the Audit log viewer. To use the graphical proof graph viewer you must: click on the Answers tab for an audit record you are interesed in seeing. Expand the Answers root node until you see the child (or children) of the &amp;quot;Proof&amp;quot; node. Right click on any of the children of the proof node and select view proof graph. You will then get a graphical representation of the deduction process that lead to your authorization decision being granted. &lt;br /&gt; &lt;br /&gt;#4 Where are the audit logs stored? - On Vista the logs will be stored inside C:\Users\&lt;a href="http://www.codeplex.com/secpal/Wiki/View.aspx?title=YOURNAME"&gt;YOURNAME&lt;/a&gt;\AppData\Roaming\Microsoft\SecurityPolicyStore, whereas on earlier versions of Windows the logs will be stored in C:\Documents and Settings\&lt;a href="http://www.codeplex.com/secpal/Wiki/View.aspx?title=YOURNAME"&gt;YOURNAME&lt;/a&gt;\Application Data\Microsoft\SecurityPolicyStore. Note that the audit log viewer is currently a little sensitive to changes in the schema, so you are probably best not to modify the file, especially the actual schema. &lt;br /&gt; &lt;br /&gt;(1) - Note - The initial release of our bits does have a bug using the Graphical Proof Graph Viewer - so until around June 18th (at which time we hope to have released a minor point release to SecPAL) assume this capability will not work. I&lt;br /&gt;
&lt;/div&gt;</description><author>jasonhogg</author><pubDate>Fri, 08 Jun 2007 17:02:59 GMT</pubDate><guid isPermaLink="false">NEW POST: Writing to the Audit Log 20070608050259P</guid></item><item><title>NEW POST: SecPAL Related Research</title><link>http://www.codeplex.com/secpal/Thread/View.aspx?ThreadId=10289</link><description>&lt;div class="wikidoc"&gt;
The University of Virginia Grid Computing Group &lt;a href="http://www.cs.virginia.edu/~humphrey/GCG/" class="externalLink"&gt;http://www.cs.virginia.edu/~humphrey/GCG/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; is working on a couple of projects using SecPAL. The first is an integration of SecPAL with GridFTP, the common grid file transfer service. You can read about this project here &lt;a href="http://www.cs.virginia.edu/~humphrey/papers/GridFTP_SecPAL_2007.pdf" class="externalLink"&gt;http://www.cs.virginia.edu/~humphrey/papers/GridFTP_SecPAL_2007.pdf&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. The second project is to use SecPAL for survivable grids, that is grids which reconfigure themselves to handle changing system priorities or disruptions in the underlying resource fabric. In essence, SecPAL is used to allow different virtual organizations (VOs) to control access to the resources they manage to support dynamically changing privileges for applications and/or users. You can read about the status of this project here &lt;a href="http://www.cs.virginia.edu/~gsw2c/research/sc07_wasson.pdf" class="externalLink"&gt;http://www.cs.virginia.edu/~gsw2c/research/sc07_wasson.pdf&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;
&lt;/div&gt;</description><author>wasson</author><pubDate>Fri, 18 May 2007 18:08:42 GMT</pubDate><guid isPermaLink="false">NEW POST: SecPAL Related Research 20070518060842P</guid></item><item><title>NEW POST: SecPAL Related Research</title><link>http://www.codeplex.com/secpal/Thread/View.aspx?ThreadId=10289</link><description>&lt;div class="wikidoc"&gt;
Use this section to let other researchers know what research you are working on with SecPAL. Feel free to include offsite references or pointers to blogs etc.&lt;br /&gt;
&lt;/div&gt;</description><author>jasonhogg</author><pubDate>Tue, 15 May 2007 12:26:45 GMT</pubDate><guid isPermaLink="false">NEW POST: SecPAL Related Research 20070515122645P</guid></item><item><title>NEW POST: FactQualifiers and Constraints</title><link>http://www.codeplex.com/secpal/Thread/View.aspx?ThreadId=8186</link><description>&lt;div class="wikidoc"&gt;
One point of confusion that we see time and time again is with regard to the difference between FactQualifiers and Constraints. In particular people tend to assume that because information has been specified in the FactQualifier for a Fact that this information will automatically be enforced by policy. This is not the case. A Fact may contain a FactQualifier that describes the context within which the assertor intended the fact to be applicable. Unlike a Constraint or a Condition, a FactQualifier has no special impact on the evaluation of a query. So if you want your policy to ensure that certain properties relating to the fact qualifiers are true, they you must ensure your policies specify constraints that verify values of the fact qualifiers.&lt;br /&gt; &lt;br /&gt;For example, the following claim specifies a FactQualifier that implies the posssession fact should only be trusted for the month of December, which on first site leads many people to believe that the policy would automagically enforce this behavior. This is not the case. &lt;br /&gt;&lt;pre&gt;
                claims.Add(
                    new Claim(
                        new PossessFact(
                            userPrincipal,
                            new SecPalAttribute(
                                AttributeType.rfc822Name,
                                &amp;quot;Joe@fabrikam.com&amp;quot;),
                            new FactQualifier(
                                new DateTime(DateTime.UtcNow.Year, 12, 1),
                                new DateTime(DateTime.UtcNow.Year, 12, 31),
                                null,
                                TimeSpan.MaxValue))));
&lt;/pre&gt;The following policy does not have any constraints specified on these FactQualifiers, hence this Claim would evalaute to True at any time of the year.&lt;br /&gt;&lt;pre&gt;
                claims.Add(
                    new Claim(
                        new CanSayFact(
                            this.stsPrincipal,
                            new PossessFact(
                                new PrincipalVariable(&amp;quot;p&amp;quot;),
                                new AttributeVariable(&amp;quot;a&amp;quot;),
                                new FactQualifier(
                                    new DateTimeVariable(&amp;quot;t1&amp;quot;),
                                    new DateTimeVariable(&amp;quot;t2&amp;quot;),
                                    new LocationPatternVariable(&amp;quot;f&amp;quot;),
                                    new DurationVariable(&amp;quot;ts&amp;quot;)))),
                        new Constraint[] {}));
&lt;/pre&gt;However, if you modify the policy to include a constraint similar to this the the values in the FactQualifier will be verified.&lt;br /&gt;&lt;pre&gt;
                            new DurationConstraint(
                                &amp;quot;t1&amp;quot;, &amp;quot;t2&amp;quot;, new TimeSpan(366, 0, 0, 0)),
                            new TemporalConstraint(&amp;quot;t1&amp;quot;, &amp;quot;t2&amp;quot;),
                            new AttributeMatchConstraint(
                                &amp;quot;a&amp;quot;,
                                AttributeType.rfc822Name,
                                @&amp;quot;.*@fabrikam\.com&amp;quot;) 
&lt;/pre&gt;Samples extracts are from the AttributeScenario in the samples, so feel free to modify the samples to prove this for yourself.&lt;br /&gt;
&lt;/div&gt;</description><author>jasonhogg</author><pubDate>Wed, 14 Mar 2007 16:23:04 GMT</pubDate><guid isPermaLink="false">NEW POST: FactQualifiers and Constraints 20070314042304P</guid></item></channel></rss>