{"id":1069,"date":"2009-10-15T17:20:27","date_gmt":"2009-10-15T22:20:27","guid":{"rendered":"http:\/\/www.coresecuritypatterns.com\/blogs\/?p=1069"},"modified":"2020-08-08T04:14:56","modified_gmt":"2020-08-08T04:14:56","slug":"wire-speed-cryptography-for-soa-security","status":"publish","type":"post","link":"https:\/\/websecuritypatterns.com\/blogs\/2009\/10\/15\/wire-speed-cryptography-for-soa-security\/","title":{"rendered":"Wire-speed Cryptography for SOA Security and Compliance"},"content":{"rendered":"<p>I&nbsp;admit that I am&nbsp;not a SOA expert or pretend to be one&nbsp;!&nbsp;&nbsp;Lately,&nbsp;I had a chance to explore few security features intended for securing&nbsp;XML Web Services and Java EE applications. With my little knowledge to SOA, I&nbsp;found that XML Web services play a vital role in SOA to enable loosely-coupled services and ensuring interoperability. From a security perspective, the core foundation of securing SOA solutions&nbsp; builds on XML Web Services Security standards and the underlying Java platform (unless you are using Microsoft .NET)&nbsp;. Last two weeks, <a href=\"http:\/\/blogs.sun.com\/soyuz\/\" target=\"_blank\" rel=\"noopener noreferrer\">Chad Prucha<\/a> and I were test-driving SOA applications using Oracle Weblogic and Oracle Fusion Middleware on a Sun CMT server (T5440) particularly test driving SSL and WS-Security scenarios using WS-Policy\/WS-SecurityPolicy standards.&nbsp; Our primary aim&nbsp;was to take advantage of On-chip Cryptographic acceleration provided by the UltraSPARC T2 processors of the T5440 server supporting the cryptographic mechanisms\/cipher suites&nbsp;used by SSL and WS-SecurityPolicy. Believe it or not, it worked as piece of cake&#8230;.&nbsp;and the performance numbers were stunningly amazing.&nbsp;The Sun CMT servers (using its on-chip crypto accelerators)&nbsp;cruised on SSL and WS-Security with its cryptographic performance&#8230;.RSA, AES, SHA2&#8230;too long to list here.&nbsp; If you consider yourself as a SOA enthusiast and have these following questions &#8211; Why should&nbsp;we care about Wire-speed Cryptographic acceleration for SOA or J2EE or <a href=\"http:\/\/www.websecuritypatterns.com\/blogs\/wp-content\/uploads\/2009\/10\/ws_perf_j1_final_nagappan_tyagi.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">XML Web Services performance <\/a>?&nbsp; Why it should even&nbsp;be considered&nbsp;in first place ? Is there&nbsp;is&nbsp;any security benefits ?&nbsp; If you do have those questions, then&nbsp;you may find this blog entry helpful otherwise please ignore.<\/p>\n<h2><\/h2>\n<h2>Wire-speed Crypto Acceleration for SOA Security<\/h2>\n<h2><\/h2>\n<p>Cryptographic operations plays a critical role in securing SOA application components particularly Java EE (formerly J2EE) applications and XML Web services supporting their&nbsp;transport-layer security&nbsp;(SSL) and message-layer security (WS-Security including XML&nbsp;Encryption, XML Digital Signature, WS-Policy, WS-SecurityPolicy)&nbsp;requirements. Adopting to cryptographic techniques helps IT organizations securing&nbsp;critical&nbsp;application infrastructures and adhere to industry-specific regulatory compliance mandates such as PCI DSS, HIPAA, FISMA and so forth.<\/p>\n<p>But using Crypto for accomplishing SOA Message-level and Transport-level security induces significant performance degradation and taxes your CPU, Memory and Network bandwidth.&nbsp; SOA security experts often resort to using dedicated XML security appliances for delegating CPU intensive&nbsp;cryptographic operations such as Public-key cryptography (ex.RSA, DSA) based encryption and digital-signature, Symmetric-key based encryption (ex. AES, 3DES) to dedicated&nbsp;hardware-based accelarators &#8211; Which helps freeing up the main CPU resources and resulting significant performan<strong>c<\/strong>e gains in overall application throughput.&nbsp; In simpler terms,&nbsp;cryptographic accelerators and HSMs allows offloading computationally expensive&nbsp; cryptographic functions to dedicated hardware that supports cryptographic algorithms and handle cryptographic operations.&nbsp;Under the hood, the cryptographic functions are usually&nbsp;pushed through PKCS#11 standard interfaces using Solaris Cryptographic Framework (On Solaris) and OpenCryptoki (On&nbsp;Linux), or CryptoAPI&nbsp;framework&nbsp;(CAPI\/CNG) in the case of&nbsp;Microsoft Windows environment.&nbsp; As a result, cryptographic accelerators proven to demonstrate significant gains in SOA application throughput and&nbsp;scalability&nbsp;by reducing the known CPU bottlenecks and related latency issues&nbsp;caused by cryptographic operations.<\/p>\n<p>Over the past year I have become a big fan of&nbsp;Sun CMT Servers&nbsp;\u2014 and more specifically its Cryptographic capabilities, which makes it very compelling for delivering ultra-fast security for security sensitive SOA and Java EE applications.<\/p>\n<h2><\/h2>\n<h2>On-chip Crypto Acceleration using Sun CMT Servers<\/h2>\n<h2><\/h2>\n<p>Sun CMT servers are <em>(Based On UltraSPARC T1\/T2\/T2Plus processors) based on Chip Multithreading Technology &#8211; CMT, <\/em>which introduced on-chip cryptographic acceleration support&nbsp;through a dedicated cryptographic<a href=\"http:\/\/www.websecuritypatterns.com\/blogs\/wp-content\/uploads\/2009\/06\/ultrasparct2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1075 alignright\" src=\"http:\/\/www.websecuritypatterns.com\/blogs\/wp-content\/uploads\/2009\/06\/ultrasparct2.png\" alt=\"\" width=\"97\" height=\"94\"><\/a> accelerator implemented on each core of the chip (8 Crypto Accelerators\/Chip) &#8211; referred to as &#8220;Niagara Crypto Provider&#8221; (NCP). The&nbsp;introductory UltraSPARC T1 processor included a NCP&nbsp;implementation that facilitated public-key cryptographic mechanisms including RSA and DSA algorithms.&nbsp;The latest UltraSPARC T2 and T2+&nbsp;processors extended more algorithms support&nbsp;by introducing&nbsp;symmetric-key based encryption\/decryption mechanisms such as DES, 3DES, AES-128, AES-192, AES-256, RC4, Hashing operations such as MD5, SHA1, SHA256 and support for ECC algorithms (ECCp-160 and ECCb-163). In addition, the UltraSPARC T2 processors provides an on-chip Random Number Generator (N2RNG) to support random number generation operations intended for cryptographic applications. In practice,&nbsp;NCP makes use of <strong><span>Solaris Cryptographic Framework<\/span><\/strong><span> <strong>(SCF)<\/strong><\/span> for allowing user-level applications to offload their cryptographic operations and in effect&nbsp;the user applications can&nbsp;take advantage of NCP based on-chip cryptographic acceleration.<\/p>\n<p>You had the gist of the story&#8230;now I am rushing out&nbsp;to catch&nbsp;the plane to&nbsp;Boston&nbsp;in an hour&#8230;&#8230;&nbsp;! Yes, last three days I was attending&nbsp; <a title=\"Oracle Open World 2009\" href=\"http:\/\/www.oracle.com\/us\/openworld\/index.htm\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Oracle Open World<\/strong> <\/a>and co-presented with Chad on topic &nbsp;&#8220;Wire Speed Cryptography for SOA and Java EE applications&#8221;&nbsp;&#8211; In our presentation, we put together all the concepts and&nbsp; tried our best to illustrate the applied&nbsp;crypto&nbsp;mechanisms related to SOA security and&nbsp;the secret sauce configuration\/deployment of Sun CMT based cryptographic acceleration&nbsp;for delivering wire-speed security performance for SOA and Java EE applications.&nbsp; You may find the presentation is tailored to Oracle SOA and Weblogic but frankly speaking it applies well to all Java EE based SOA application deployments.<\/p>\n<div id=\"attachment_1455\" style=\"width: 442px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.websecuritypatterns.com\/blogs\/wp-content\/uploads\/2009\/10\/securingoraclesoaonsolaris-s312707-prucha-nagappan-oow-finalpdf.pdf\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1455\" class=\"size-full wp-image-1455 \" src=\"http:\/\/www.websecuritypatterns.com\/blogs\/wp-content\/uploads\/2009\/10\/frontpg.png\" alt=\"\" width=\"432\" height=\"324\"><\/a><p id=\"caption-attachment-1455\" class=\"wp-caption-text\">Click here to download the slides<\/p><\/div>\n<h2><\/h2>\n<div style=\"width: 425px\">\n<strong><a title=\"Wire-speed Cryptographic Acceleration for SOA and Java EE Security\" href=\"http:\/\/www.slideshare.net\/ramesh_r_nagappan\/wirespeed-cryptographic-acceleration-for-soa-and-java-ee-security\">Wire-speed Cryptographic Acceleration for SOA and Java EE Security<\/a><\/strong><\/p>\n<div style=\"padding: 5px 0 12px\">View more <a href=\"http:\/\/www.slideshare.net\/\">presentations<\/a> from <a href=\"http:\/\/www.slideshare.net\/ramesh_r_nagappan\">Ramesh Nagappan<\/a>.<\/div>\n<\/div>\n<h2><\/h2>\n<p>Enjoy the slides for now ! Feel free to ping for questions&#8230;&#8230;&#8230;all I can promise now&#8230;&nbsp;is sooner you will see a detailed Sun Blueprint on this topic ! So please stay tuned.<\/p>\n<p>\ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&nbsp;admit that I am&nbsp;not a SOA expert or pretend to be one&nbsp;!&nbsp;&nbsp;Lately,&nbsp;I had a chance to explore few security features intended for securing&nbsp;XML Web Services and Java EE applications. With my little knowledge to SOA, I&nbsp;found that XML Web services play a vital role in SOA to enable loosely-coupled services and ensuring interoperability. From a security perspective, the core foundation&#8230; <a href=\"https:\/\/websecuritypatterns.com\/blogs\/2009\/10\/15\/wire-speed-cryptography-for-soa-security\/\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4,5,20,21,8,9],"tags":[37,57,62,65,75],"class_list":["post-1069","post","type-post","status-publish","format-standard","hentry","category-compliance","category-identity-management","category-java-ee","category-java-security","category-pki-main","category-security","tag-j2ee","tag-pki-main","tag-security","tag-soa","tag-ws-security"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/websecuritypatterns.com\/blogs\/wp-json\/wp\/v2\/posts\/1069","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/websecuritypatterns.com\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/websecuritypatterns.com\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/websecuritypatterns.com\/blogs\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/websecuritypatterns.com\/blogs\/wp-json\/wp\/v2\/comments?post=1069"}],"version-history":[{"count":1,"href":"https:\/\/websecuritypatterns.com\/blogs\/wp-json\/wp\/v2\/posts\/1069\/revisions"}],"predecessor-version":[{"id":2839,"href":"https:\/\/websecuritypatterns.com\/blogs\/wp-json\/wp\/v2\/posts\/1069\/revisions\/2839"}],"wp:attachment":[{"href":"https:\/\/websecuritypatterns.com\/blogs\/wp-json\/wp\/v2\/media?parent=1069"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/websecuritypatterns.com\/blogs\/wp-json\/wp\/v2\/categories?post=1069"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/websecuritypatterns.com\/blogs\/wp-json\/wp\/v2\/tags?post=1069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}