keep on working...'s profileApplication Security Are...PhotosBlogLists Tools Help

keep on working, but still have fun

January 23

X509 specifications for those who need the low level info.

You might will be interest to read this RFC if you need to develop applications that need to handle encryption.

for an example if you have a legacy system (e.g. MF) and you need to write your own low level procedures to handle encryption then
 
January 18

Using X509 certificate with .NET web services

here is a good blog post of how to use the winhttpcertcfg.exe utility to attach x509 certificate to the working process.
you need to use this tool when you want to use SSL v3. without any client (user)
 
check it out here:
 
and here:
 
WSE can done this mapping automaticly, check it out here:
 
 
January 14

How to: Check the identity of the caller component

This code sample demonstrate how to check the identity of the caller at the component level, this method can be used to be sure that only the BL layer calling to the DAL.
 

//
// Class library example to demonstrate StrongNameIdentityPermission and
// StrongNameIdentityPermissionAttribute.
using System;
using System.Security.Permissions;
using System.Reflection;
//[assembly: AssemblyVersion("1.0.*")]
//[assembly :AssemblyKeyFile(@"c:\mykey.snk")]
namespace SignedLib
{
    public class Signed
    {
        // Read the windir environment variable.
        public void GetWindirImperative()
        {
            try
            {
                // Use Sn.exe to generate the byte array for the public key.
                byte[] b1 = { 0, 36, 0, 0, 4, 128, 0, 0, 148, 0, 0, 0, 6, 2, 0, 0, 0, 36,
                    0, 0, 82, 83, 65, 49, 0, 4, 0, 0, 1, 0, 1, 0, 237, 146, 145, 51, 34,
                    97, 123, 196, 90, 174, 41, 170, 173, 221, 41, 193, 175, 39, 7, 151,
                    178, 0, 230, 152, 218, 8, 206, 206, 170, 84, 111, 145, 26, 208, 158,
                    240, 246, 219, 228, 34, 31, 163, 11, 130, 16, 199, 111, 224, 4, 112,
                    46, 84, 0, 104, 229, 38, 39, 63, 53, 189, 0, 157, 32, 38, 34, 109, 0,
                    171, 114, 244, 34, 59, 9, 232, 150, 192, 247, 175, 104, 143, 171, 42,
                    219, 66, 66, 194, 191, 218, 121, 59, 92, 42, 37, 158, 13, 108, 210,
                    189, 9, 203, 204, 32, 48, 91, 212, 101, 193, 19, 227, 107, 25, 133,
                    70, 2, 220, 83, 206, 71, 102, 245, 104, 252, 87, 109, 190, 56, 34, 180 };
                // Specify the version of the calling assembly.
                Version v1 = new Version("1.0.0.0");
                StrongNamePublicKeyBlob blob = new StrongNamePublicKeyBlob(b1);
                Console.WriteLine(ComparePublicKeys() ? "Calling assembly has same key as this assembly " : "Calling assembly has different key than this assembly");
                // Create different permissions to exercise the set operations.
                StrongNameIdentityPermission snPerm = new StrongNameIdentityPermission(blob, "StrongNamedExe", v1);
                snPerm.Demand();
                // Return the location of the Windows directory that is found in
                // the windir environment variable.
                Console.WriteLine(Environment.GetEnvironmentVariable("windir"));
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception thrown in called assembly: " + e.Message);
            }
        }
    // Use an attribute to demand that the calling assembly has a specific strong name key.
    // Use Sn.exe to generate the public key string used for the demand.
    [StrongNameIdentityPermissionAttribute(SecurityAction.Demand, PublicKey =
        "0024000004800000940000000602000000240000525341310004000001000100ed92913322617b" +
        "c45aae29aaaddd29c1af270797b200e698da08ceceaa546f911ad09ef0f6dbe4221fa30b8210c7" +
        "6fe004702e540068e526273f35bd009d2026226d00ab72f4223b09e896c0f7af688fab2adb4242" +
        "c2bfda793b5c2a259e0d6cd2bd09cbcc20305bd465c113e36b19854602dc53ce4766f568fc576d" +
        "be3822b4")]
        public void GetWindirDeclarative()
        {
            try
            {
                // Return the location of the Windows directory that is found in
                // the windir environment variable.
                Console.WriteLine(Environment.GetEnvironmentVariable("windir"));
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception thrown in called assembly: " + e.Message);
            }
        }
        public static bool ComparePublicKeys()
        {
            try
            {
                Assembly callingAssembly;
                // Create a target object.
                Int32 integer1 = new Int32();
                Type type1;
                // Set the Type instance to the target class type.
                type1 = integer1.GetType();
                // Create an instance of the assembly class to house the Integer type. 
                callingAssembly = Assembly.GetAssembly(integer1.GetType());
                // Display the name of the calling assembly.
                Assembly entryAssembly = Assembly.GetEntryAssembly();
                string mainAssembly = entryAssembly.FullName;
                Console.WriteLine("Calling assembly = " + entryAssembly.FullName);
                // Get the name of the assembly being called (this assembly).
                string thisAssembly = Assembly.GetCallingAssembly().FullName;
                Console.WriteLine("Called assembly=" + thisAssembly);
                int tokenIndex1 = thisAssembly.LastIndexOf("PublicKeyToken");
                int tokenIndex2 = mainAssembly.LastIndexOf("PublicKeyToken");
                string testString1 = thisAssembly.Substring(tokenIndex1, 31);
                string testString2 = mainAssembly.Substring(tokenIndex2, 31);
                return testString1.Equals(testString2);
            }
            catch
            {
               // Console.WriteLine("This is an unexpected exception");
                throw;
            }
        }
    }
}
 

ASP.NET 2.0 Security Reference Implementation

here is a good reference for implementing security best practices on your application.
you can find it here
December 25

playing with security context

http://www.leastprivilege.com/ASPNETExtensibilityCodeAndSecurityContext.aspx

December 24

Ajax Security

 

first you can download free ajaxs library from http://ajax.asp.net/Default.aspx

there is a good tool to look for Ajax vaulnerabilities called Sprajax, you can find all the sources at the OWASP project at: http://www.owasp.org/index.php/Category:OWASP_Sprajax_Project

 

 

 

Sprajax README

Introduction

Sprajax is an open-source tool for assessing the security of AJAX-enabled web applications.  Sprajax-specific code has been released under the GNU Lesser GPL (LGPL).  Code for supporting libraries (C# spider and Dynamic WebServices Library) is released under the licenses outlined in their source code directories.  Code from other projects is used pursuant to their licenses and is used without the endorsement of the original authors.

 

For more information about sprajax, please check out the official sprajax page: http://www.denimgroup.com/sprajax/

 

Also, I talk about sprajax issues pretty frequently on the Denim Group blog: http://denimgroup.typepad.com/

Contents

The sprajax deployment package contains code and binaries for the sprajax tool, supporting libraries, as well as an example Microsoft Atlas AJAX-enabled application.

README.doc

This document.

DenimGroup.Sprajax Folder

This contains the main sprajax Visual Studio .NET solution.  The database projects contained need to be installed into a SQL Server 2005 database and the connection string can be entered on the main sprajax screen.

DenimGroup.Sprajax.DemoSite

This contains a demonstration Microsoft Atlast AJAX-enabled web application that helps to illustrate the capabilities of the Sprajax tool.

cssspider Folder

This contains the source and binaries for the modified C# Spider adapted from the work of  Jeff Heaton (www.jeffheaton.com).  This spider code is the basis for the footprinting functionality in sprajax.

DWSL1.5_DotNET20 Folder

This contains the source and binaries for the modified Dynamic Web Services Library adapted from the work of Christian Weyer of Thinktecture (www.thinktecture.com).  This web services code is the basis for the calls made to web services when fuzzing Microsoft Atlas AJAX applications.

DenimGroup.Sprajax.GWT.DemoSite

This contains a prototype Google Web Toolkit (GWT) application, but this is not finished and GWT support is still not operational.

Getting Started

  1. Install the database scripts from the DenimGroup.Sprajax VS.NET solution and stored procedures into a SQL Server 2005 database.  Determine the database connection string because it will be needed later.
  2. Change the connection string in the DenimGroup.Sprajax.DemoSite
  3. Run the DenimGroup.Sprajax.DemoSite project
  4. Run the DenimGroup.Sprajax project
  5. Change the connection string in the sprajax tool
  6. Change the URL (if required) to match the location where the DenimGroup.Sprajax.DemoSite web application
  7. Click the "Footprint Application" button and wait for sprajax to footprint the web application.  This involved spidering the application and may take a minute or so depending on the size of the application
  8. Click the "Fuzz Application" button and wait for sprajax to fuzz the web services.  This may take quite a while depending on the number of web services being fuzzed and Visual Studio may give STA threading warnings (have to work on those…)
  9. When sprajax finishes fuzzing the web services, click the "Show Results" button to see the JavaScript files found, Atlas frameworks detected as well as the web services, methods and parameters available in support of AJAX functionality.  View the data grid at the bottom to see calls that caused exceptions along with the input parameters.  Look at the exception messages and stack traces to diagnose potential security flaws in the target application.

Known Issues

  • The actual AJAX-y behavior of the example site is all screwed up right now, but sprajax can still detect all the constructs and fuzz them as required.
  • STA threading warning occur (and the UI temporarily freezes up) when running the fuzzing routines.  I need to clean this up.
  • Requiring a SQL 2005 database is a pain, so in the next version there will be a data handler for single-session-only results that won't require a database backend.

 

Email dan@denimgroup.com with patches, suggestions or questions.

September 27

Microsoft Releases CodePlex - Join the Community

 
 
CodePlex is an online collaborative software development portal for community-oriented projects. Create new projects to share with developers around the world, join existing projects, or use the applications on this site and provide feedback
 
September 23

windows vista security blog

The blog can be found here

looking up for a user in multiple domain environment

If you are using a web site and using windows integrated authentication then the best way to look up the active directory record of a user is with their SID. read more here

windows vista security for developers

Windows Vista Application Development Requirements for User Account Control Compatibility is available here

 

April 24

Tech-ED 2006 Hacking Contest

I'm proud to announce a hacking contest that will be held in the first day of Tech-Ed

The winner will be the one who will penetrate the system and will succeed to hack the application. The winner will win Ipod Nano. J

 

More details will be posted soon

Developer Highway Code

To build software that meets your security objectives, you must integrate security activities into your software development lifecycle. This handbook captures and summarises the key security engineering activities that should be an integral part of your software development processes.
March 14

Visual Studio 2005 Security Features and Tools

Visual Studio 2005 Security Features and Tools


Visual Studio 2005 Security Features: Watch and Learn

February 22

AJAX Secuirty

Web developers cannot have failed to notice the excitement surrounding AJAX or Asynchronous JavaScript And XML. The ability to create intelligent web sites such as Google Suggest or compelling web-based applications such as Gmail is thanks in no small part to this technology. There is, however, a darker side - and accompanying the growth in AJAX applications we have noticed an equally significant growth in security flaws, with the potential to turn AJAX-enabled sites into a time bomb.
 
February 16

signing 3rd party assembly

if you need to apply a strong name to an assembly that was provided, already compiled, to you and you don't have the source? You first will need to produce the Microsoft intermediate language (MSIL) for the assembly using the ILDASM.EXE utility, then use an assembly key file to sign that MSIL into a new DLL using the ILASM.EXE utility.

  1. Obtain the MSIL for the provided assembly
    From a VS.NET command prompt, enter the following:
    c:\>ildasm providedAssembly.dll /out:providedAssembly.il
  2. Rename/move the original assembly
    I just tack on ".orig" to the filename.
  3. Create a new assembly from the MSIL output and your assembly keyfile
    Assuming you already have an assembly key pair file (if not, see #1 in previous steps), do the following from a VS.NET command prompt:
    c:\>ilasm providedAssembly.il /dll /key=keypair001.snk
June 30

Smartphone 2003 Development links

Thanks to

Nauman Leghari's Blog

for this links :

 

 

Chapter 1: Introduction to the .NET Compact Framework

 

Fundamentals of Microsoft .NET Compact Framework Development for the Microsoft .NET Framework Developer

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/net_vs_netcf.asp?frame=true>

 

What's New in Smartphone 2003

 

<http://msdn.microsoft.com/library/en-us/dnwmnew/html/manew_sp03.asp?frame=true>

 

Develop for Windows Mobile 2003 for Smartphone Using the .NET Compact Framework

 

<http://msdn.microsoft.com/library/en-us/dnsmtphn2k3/html/Smartphone_2003.asp?frame=true>

 

An Introduction to Microsoft SmartPhone, and Programming SmartPhone using C#

 

<http://www.codeproject.com/netcf/SmartphoneIntroCSharp.asp>

 

Design Considerations for Microsoft Smartphone Applications

 

<http://www.oreillynet.com/pub/a/wireless/2004/01/07/smartphone.html>

 

Chapter 2: The Smartphone User Interface

 

Write Apps for the Smartphone without Dumbing Down Your UI

 

<http://www.devx.com/wireless/Article/21291>

 

Creating a Multiple Form Application Framework for the Microsoft .NET Compact Framework

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfuiframework.asp?frame=true>

 

How to Create a Microsoft .NET Compact Framework-based Image Button

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/ImageButton.asp?frame=true>

 

Crafting Smartphone User Interfaces Using .NET Compact Framework

 

<http://msdn.microsoft.com/library/en-us/dnsmtphn2k3/html/grfCraftingSmartphoneUserInterfacesUsingNETCompactFramework.asp?frame=true>

 

Develop for the SmartPhone Using Techniques You Already Know

 

<http://www.devx.com/wireless/Article/17968>

 

Chapter 3: Smartphone Controls

 

Creating Controls by Hand in the .NET Compact Framework

 

<http://www.devx.com/getHelpOn/10MinuteSolution/17430>

 

.NET Compact Framework Sample: Hosting A Native Windows Control

 

<http://www.microsoft.com/downloads/details.aspx?familyid=794f5e1a-984b-474f-8139-a1a64c595151&displaylang=en>

 

Developing Custom Controls in C# with Smart Device Extensions

 

<http://msdn.microsoft.com/library/en-us/dncenet/html/customctrlssde.asp?frame=true>

 

Chapter 4: Graphics

 

Creating a Microsoft .NET Compact Framework-based Animation Control

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/animationcontrol.asp?frame=true>

 

Chapter 5: Files and Directories

 

Working with files on Smartphone devices with the .NET Compact Framework

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/SPFiles.asp?frame=true>

 

Chapter 6: Mobile Web Services

 

Consuming Web Services with the Microsoft .NET Compact Framework

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfwebservices.asp?frame=true>

 

Chapter 7: Working with Unmanaged Code

 

Accessing Phone APIs from the Microsoft .NET Compact Framework

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfphoneapi.asp?frame=true>

 

Advanced P/Invoke on the Microsoft .NET Compact Framework

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfadvinterop.asp?frame=true>

 

An Introduction to P/Invoke and Marshaling on the Microsoft .NET Compact Framework

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfintrointerp.asp?frame=true>

 

Creating a P/Invoke Library

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/PInvokeLib.asp?frame=true>

 

P/Invoking Serial APIs in the Compact Framework

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/PISAPICF.asp?frame=true>

 

Using dumpbin.exe as an Aid for Declaring P/Invokes

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfdumpbinpinvoke.asp?frame=true>

 

Chapter 8: Deploying Smartphone Application

 

Deployment Patterns for Microsoft .NET Compact Framework

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/DeploymentPatterns.asp?frame=true>

 

Smartphone 2003 Application Deployment Demystified

 

<http://msdn.microsoft.com/library/en-us/dnsmtphn2k3/html/sp_2003_app_deploy_demyst.asp?frame=true>

 

Chapter 9: Interoperability

 

Connecting Microsoft Mobile Devices to Java Infrastructures

 

<http://www.sys-con.com/story/?storyid=47342&DE=1>

 

Architecting Disconnected Mobile Applications Using a Service Oriented Architecture

 

<http://msdn.microsoft.com/library/en-us/dnppc2k3/html/develop_disconnect_mob_apps.asp?frame=true>

 

Chapter 10: Game Programming with Smartphone

 

Games Programming with Cheese: Part One

 

<http://msdn.microsoft.com/library/en-us/dnsmtphn2k3/html/gamesprogwithcheese.asp?frame=true>

 

Games Programming with Cheese: Part Two

 

<http://msdn.microsoft.com/library/en-us/dnsmtphn2k3/html/playingthegame.asp?frame=true>

 

Games Programming with Cheese: Part Three

 

<http://msdn.microsoft.com/library/en-us/dnsmtphn2k3/html/completingthegame.asp?frame=true>

 

Games Programming with Cheese: Part Four

 

<http://msdn.microsoft.com/library/en-us/dnsmtphn2k3/html/agameapplication.asp?frame=true>

 

Chapter 11: Advanced Topics

 

Security:

A Practical Guide to the Smartphone Application Security and Code Signing Model for Developers

 

<http://msdn.microsoft.com/library/en-us/dnsmtphn2k3/html/smartphone_security.asp?frame=true>

 

Sending and Receiving SMS Messages:

Receiving SMS Messages Inside a Managed Application

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/ReceivingSMSMessages.asp?frame=true>

 

Sending SMSs from your Microsoft .NET Compact Framework-based Applications

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfsendsms.asp?frame=true>

 

Debugging:

Microsoft .NET Compact Framework Debugging

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/CompactFXDebug.asp?frame=true>

 

Performance:

An Overview of the .Net Compact Framework Garbage Collector

 

<http://weblogs.asp.net/stevenpr/archive/2004/07/26/197254.aspx>

 

Microsoft .NET Compact Framework Multi-threading Tips

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfmultithreadedapp.asp?frame=true>

 

Microsoft .NET Compact Framework Background Processing Techniques

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/BackgroundProcess.asp?frame=true>

 

Improving Microsoft .NET Compact Framework-based Application Form Load Performance

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfimproveformloadperf.asp?frame=true>

 

Developing Well Performing .NET Compact Framework Applications

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfperf.asp?frame=true>

 

.Net Compact Framework Advanced Memory Management

 

<http://weblogs.asp.net/mikezintel/archive/2004/12/08/278153.aspx>

 

Miscellaneous:

Creating Self-Updating Applications With the .NET Compact Framework

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/AutoUpdater.asp?frame=true>

 

Improving .NET Compact Framework HTTP Communications using HttpWebRequest and Custom ASP.NET Providers

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/httpcomm.asp?frame=true>

 

Connecting a Smartphone 2003 Application to a Remoting Infrastructure

 

<http://www.devx.com/dotnet/article/22460>

 

.NET Compact Framework Mobile Web Server Architecture

 

<http://msdn.microsoft.com/library/en-us/dnnetcomp/html/NETCFMA.asp?frame=true>

 

Chapter 12: What's Next

 

What's New in the .NET Compact Framework 2.0

 

<http://msdn2.microsoft.com/library/ws1c3xeh.aspx>

 

 

Other Resources (Links gathered from comments)

Pragmatic Smartphone Application Hints and Tricks:
http://homepages.inspire.net.nz/~gambit/Article/

Programming Smartphone 2002/2003/SE with Embedded Visual Basic (eVB):
http://www.omnisoft.com/articles/spevb/default.asp

Smartphone "Tip-o-the-Day"
http://spaces.msn.com/members/lesgainous/

 

 

 

June 27

Microsoft ASP.NET v1.1 Membership Management Component Prototype

Microsoft ASP.NET v1.1 Membership Management Component Prototype is a collection of classes and sample scripts that allows a developer to more easily authenticate users, authorize users, and store per-user property data in a user profile.

Warning:

There are several things you should consider before using this component in your application:

  • There is no support provided by Microsoft for this component. No updates or new versions will be released.

  • The license for this component expires 90 days after the release of ASP.NET 2.0.

  • If you use this component in your ASP.NET 1.1 application, there will be significant work required to upgrade that application to use the ASP.NET 2.0 Membership and Roles feature.

  • If you are interested in leveraging Membership and Roles functionality in your application, we recommend that you build your application using ASP.NET 2.0 Beta 2 instead of using this component. There is a Go-Live license for ASP.NET 2.0 Beta 2 which allows you to deploy your applications in product environments. Migrating your application from the Beta 2 version of ASP.NET 2.0 to the final version of ASP.NET 2.0 will be much easier than migrating your application from the ASP.NET 1.1 Member Roles Prototype to the final version of ASP.NET 2.0

Microsoft ASP.NET v1.1 Member Management Component Prototype

Download File

April 10

Microsoft Office Visio 2003 Connector for the Microsoft Baseline Security Analyzer (MBSA)

Do you know the security status of your network? Get a visual. The Visio Connector for MBSA lets you view the results of a Microsoft Baseline Security Analyzer scan in a clear, comprehensive Microsoft Office Visio 2003 network diagram.

When the Visio Connector for MBSA is installed, it monitors network shapes on the Visio drawing that contain one of the following Custom Properties:

· Network Name
 
· IP Address
 
Once a network diagram has been created, the Visio Connector for MBSA can run a MBSA scan on the network and display color-coded results on a Visio diagram with the ability to provide detailed reports.

download :

MBSA V1.2.1  Visio 2003

Microsoft Office Visio 2003 Connector for the Microsoft Baseline Security Analyzer (MBSA):

March 15

How to Access AR smart card from .NET application

// ***********************************************************
using System;
using System.Security.Cryptography; // CSP
using System.Runtime.InteropServices; // Platform invoke (call regular dlls)
 
 
namespace ConsoleApplication1
{
 
/// <summary>
/// Summary description for Class1.
/// </summary>
 
class Class1
{
/// <summary>
/// The main entry point for the application.
/// </summary>
 
[STAThread]
static void Main(string[] args)
{
 byte [] cipher = {1,2,3,4,5};
 
 System.Security.Cryptography.CspParameters par = new CspParameters(/*RSA_FULL*/ 1, "AR Base Cryptographic Provider");
 par.KeyContainerName = "key1";
 RSACryptoServiceProvider AR_RSA = new RSACryptoServiceProvider(par);
 byte[] signature = AR_RSA.SignData(cipher, new SHA1CryptoServiceProvider());
 SHA1CryptoServiceProvider AR_SHA1 = new SHA1CryptoServiceProvider();
}
}
}
 
// ***********************************************************
 
also make sure you have our CAPI provider registered, look in the installation or in the registry :
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider]
March 09

Secure Software Forum

Secure Software Forum

Microsoft is partnering with several companies and customers on the Secure Software Forum, aimed at bringing focus to application security as a lifecycle and industry-wide issue. For more information on this worldwide event, visit http://www.securesoftwareforum.com/

March 03

How to boost login phase using kerberos

first read this article about Kerberos principles, then read how to protect yourself against kerberos attackes here.

if you'll try to work with Web services and NTLM authentication protocols you'll c that the server is checking for cardentials on every request.

you can use fiddler tool to sniff the request and see how the http request's are made.

you can use WSproxy.unsafeAuthenticatedConnectionSharing = true;

in oreder to avoid those dubble requests , where the WSproxy is your web service proxy.

but it's not safe, to avoid this Ping-Pong you should use kerberos using WSE 2.0 on http channel or  you can use NegotiateStream as  shown at dominick baier blog on TCP channel

March 01

Samoa: Formal Tools for Securing Web Services

The underlying principles, and indeed the difficulties, of using cryptography to secure RPC protocols have been known for many years, and there has been a sustained and successful effort to devise formal methods for specifying and verifying the security goals of such protocols.

The goal of the Samoa Project is to exploit recent theoretical advances in the analysis of security protocols in the practical setting of XML web services. Some early outcomes of this research include an implementation of declarative security attributes for web services and the design of a logic-based approach to checking SOAP-based protocols.

 

Tool Downloads
  • WSE Policy Advisor

    WSE Policy Advisor is a security plug-in for Web Services Enhancements 2.0 for Microsoft .NET (WSE). It can be invoked either from the WSE Configuration Editor or as a stand-alone tool. It examines the policy files that configure WSE, summarizes their security properties, highlights typical security risks, and provides some remedial advice. Ensure you have installed SP2 of WSE 2.0 before attempting to install WSE Policy Advisor.

  • TulaFale: A Security Tool for Web Services

    TulaFale is a new specification language for writing machine-checkable descriptions of SOAP-based security protocols and their properties. TulaFale is based on the pi calculus (for writing collections of SOAP processors running in parallel), plus XML syntax (to express SOAP messaging), logical predicates (to construct and filter SOAP messages), and correspondence assertions (to specify authentication goals of protocols). Our implementation compiles TulaFale into the applied pi calculus, and then runs Blanchet's resolution-based protocol verifier. Hence, we can automatically verify authentication and secrecy properties of SOAP protocols.

February 09

The Enterprise Library Application Blocks

Application blocks help to address the common problems that developers face from one project to the next. They are designed to encapsulate the Microsoft recommended best practices for .NET applications. They can be plugged into .NET applications quickly and easily. For example, the Data Access Application Block provides access to the most frequently used features of ADO.NET, exposing them through easily-used classes. The application block also adds related functionality not directly supported by the underlying class libraries.

take a look at the Security Application Block that helps you to manage users, add users and much more. take a look at the secuirty quick start application.

 
There are no photo albums.
No list items have been added yet.