What are Secure Network Communication and Secure Socket Layer?
Secure Network Communication (SNC) is an interface that enables you to secure communication paths between SAP system components. Strong authentication, integrity protection, and privacy protection is provided. The actual protection is provided by an external security product that is available to the SAP system using the SNC interface. The interface complies with the Internet standard Generic Security Services Application Programming Interface (GSS API) version 2. The default product provided by SAP is the SAP Cryptographic Library, which you can use for SNC between SAP system server components.
Secure Sockets Layer (SSL) is an Internet standard protocol developed by Netscape that is used to secure communications across the Internet. The SSL protocol layer exists between the network layer protocol (for example, TCP/IP) and the application layer protocol (for example, HTTP). The protocol uses public key technology to secure the communication between a client and a server. The SSL protocol provides encrypted connections, SSL server authentication, SSL client authentication, and SSL mutual authentication (both server and client authentication).
To access Internet addresses that use SSL connections, you use URLs starting with HTTPS: instead of HTTP:. For more information, see:
http://www.netscape.com/security/techbriefs/ssl.html or
http://developer.netscape.com/docs/manuals/security/sslin/contents.htm
When and for what are SNC licenses required?
The SAP Crypto Software is free of charge for SNC implementations between SAP servers. The customer must purchase additional licenses from our partners for SNC implementations between the frontend and SAP server.
You use SNC principally to encrypt the communication channel. If the customer wants encrypted communication between the frontend and the SAP server and uses the WinGUI, the customer must purchase additional SNC licenses. This is also the case for Single Sign-On with WinGUI and the SAP server, which can only be implemented using SNC. If the customer uses Web-based access to SAP systems (using the WebGUI), the customer does not require additional licenses for Single Sign-On (this is implemented without SNC) and encryption between the frontend and the SAP server (this uses SSL).
Since when is it possible to secure RFC connections using Secure Network Communication?
Since SAP R/3 4.0.
What can I do to audit my system?
There are various mechanisms to audit your system described in the SAP WebASecurity Guide and the Audit Information System.(Transactions SM19, RZ20, RZ21 or SECR).
Does SAP require that all servers are run behind a firewall?
The realization of an independent SAP security concept is possible because SAP provides an application infrastructure with its own server and frontend components. Wherever possible, this concept is based on ensuring general end-to-end security. That is why no specific security components such as firewalls, reverse-proxies, or virtual private networks are presupposed. However, SAP does not have its own operating system and does support databases from other vendors, who are responsible for their own security concepts and mechanisms.
The SAP Security Guide explains in detail what precautions are necessary at operating system and database level to minimize the weaknesses of these components. This includes, for example, the separation of the administrators for the operating system, for the SAP system and for the database, the protection of the program and configuration files of the SAP system and the operating sytem, as well as the secure configuration of the network functions of the operating system. The SAP Security Guide can be found on the SAP Service Marketplace alias securityguide.
When using Single Sign-On products, is it possible to ensure that certain systems can only be accessed from specifc PCs?
You can do this using SAProuter (even without SNC). With SAProuter, you can control which IP addresses (client PCs) can access an SAP system, using an access control list.
What does the SAP Router do in the SAP secure environment?
The SAP Router is a program (executable file) that is included on the installation CD. Basically, the SAP Router regulates who (which address) is allowed to go to where (another address). This is configured in a number of files. More information is provided by the training course BC305 (Advanced R/3 System Administration).
Which algorithms are provided by the sapcryptolib?
The sapcryptolib implements the following interfaces: SSL, SNC, and SSF (without encryption). The algorithms that are used depends on the interface and protocol.
For SSL the SAPCRYPTOLIP needs an RSA-PSE. The following ordered list of ciphersuites from server and client is offered to the peer during the SSL handshake:
1. SSL_RSA_WITH_RC4_128_SHA
2. SSL_RSA_WITH_RC4_128_MD5
3. SSL_RSA_WITH_3DES_EDE_CBC_SHA
4. SSL_RSA_WITH_DES_CBC_SHA
5. SSL_RSA_EXPORT_WITH_DES40_CBC_SHA
6. SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5
7. SSL_RSA_EXPORT_WITH_RC4_40_MD5
8. SSL_RSA_WITH_NULL_SHA
9. SSL_RSA_WITH_NULL_MD5
For SNC/GSS-API you also need an RSA-PSE. The RSA procedure is used for authentication and key exchange. The connection is encrypted with 3DES-EDE "Triple-DES".
When creating a PSE for RSA keys 1024-bits are used per default, for DSA keys 512- bits are used per default. The DSA keys in the SAPCrypto are only used for the electronic signature of the SAPSECU (signed URLs for content server, SSO2 ticket)
A complete list of the implemented algorithms follows:
SYM_ENC Algorithms | |
rc2CBC | OID 1.2.840.113549.3.2, ?? Unidentified parameter: |
rc4 | OID 1.2.840.113549.3.4, NULL parameter |
DES-ECB | OID 1.3.14.3.2.6, NULL parameter |
DES-CBC | OID 1.3.14.3.2.7, Parameter DES-IV (default zeros) |
DES3-CBC | OID 1.3.36.3.1.3.2.1, Parameter DES-IV (default zeros) |
DES3-CBC-buggy | OID 1.3.36.3.1.3.2, Parameter DES-IV (default zeros) |
DES-EDE | OID 1.3.14.3.2.17, NULL parameter |
DES-EDE3-CBC | OID 1.2.840.113549.3.7, Parameter DES-IV (default zeros) |
desECB | Same algorithm as DES-ECB |
desCBC | Same algorithm as DES-CBC |
desEDE | Same algorithm as DES-EDE |
desCBC_pad | OID 1.3.36.3.1.5, Parameter DES-IV (default zeros) |
desCBC_no_pad | OID 1.3.36.3.1.26, Parameter DES-IV (default zeros) |
desECB3 | Same algorithm as DES-EDE |
desCBC3 | Same algorithm as DES3-CBC |
desCBC3_pad | OID 1.3.36.3.1.13, Parameter DES-IV (default zeros) |
NullEncryption | OID 1.3.36.3.1.38, NULL parameter |
DES-CBC-ISO0 | OID 1.3.36.3.1.1.4.1.2, Parameter DES-IV (default zeros) |
DES-CBC-ISO1 | OID 1.3.36.3.1.1.4.1.1, Parameter DES-IV (default zeros) |
DES3-CBC-ISO0 | OID 1.3.36.3.1.3.4.1.2, Parameter DES-IV (default zeros) |
DES3-CBC-ISO1 | OID 1.3.36.3.1.3.4.1.1, Parameter DES-IV (default zeros) |
desCBC3_nopad | OID 1.3.36.3.1.13.1, Parameter DES-IV (default zeros) |
DES-EDE3-CBC-nopad | OID 1.2.840.113549.3.7.1, Parameter DES-IV (default zeros) |
rc2CBC_nopad | OID 1.2.840.113549.3.2.1, ?? Unidentified parameter: |
AES128-ECB | OID 2.16.840.1.101.3.4.1.1, NULL parameter |
AES128-CBC | OID 2.16.840.1.101.3.4.1.2, Parameter DES-IV (default zeros) |
AES192-ECB | OID 2.16.840.1.101.3.4.1.21, NULL parameter |
AES192-CBC | OID 2.16.840.1.101.3.4.1.22, Parameter DES-IV (default zeros) |
AES256-ECB | OID 2.16.840.1.101.3.4.1.41, NULL parameter |
AES256-CBC | OID 2.16.840.1.101.3.4.1.42, Parameter DES-IV (default zeros) |
| |
ASYM_ENC Algorithms | |
RSA | OID 1.2.840.113549.1.1.1, NULL parameter |
rsa | OID 2.5.8.1.1, Parameter Keysize (default 512) |
encISO9796-2Withrsa | OID 1.3.36.7.2.1, NULL parameter |
id-RSAES-OAEP | OID 1.2.840.113549.1.1.7, ?? Unidentified parameter |
| |
HASH Algorithms | |
RSA-MD2 | OID 1.2.840.113549.2.2, NULL parameter |
RSA-MD4 | OID 1.2.840.113549.2.4, NULL parameter |
RSA-MD5 | OID 1.2.840.113549.2.5, NULL parameter |
NIST-SHA | OID 1.3.14.3.2.18, NULL parameter |
SHA-1 | OID 1.3.14.3.2.26, NULL parameter |
md2 | Same algorithm as RSA-MD2 |
md4 | Same algorithm as RSA-MD4 |
md5 | Same algorithm as RSA-MD5 |
RIPEMD-160 | OID 1.3.36.3.2.1, NULL parameter |
ripemd160 | Same algorithm as RIPEMD-160 |
sha | Same algorithm as NIST-SHA |
sha1 | Same algorithm as SHA-1 |
| |
SIG Algorithms | |
NIST-DSA | OID 1.3.14.3.2.12, Parameter p, q, g |
md5-DES-CBC | OID 1.3.6.1.5.3.1, Parameter DES-IV (default zeros) |
md5-DES-CBC3 | OID 1.3.36.3.1.33, Parameter DES-IV (default zeros) |
md5-IDEA | OID 1.3.36.3.1.31, NULL parameter |
md2WithRsa | OID 1.3.14.7.2.3.1, NULL parameter |
md4WithRsa | OID 1.3.14.3.2.2, NULL parameter |
md5WithRsa | OID 1.3.14.3.2.3, NULL parameter |
sigS_ISO9796-2Withsha1 | OID 1.3.36.3.4.2.2.1, NULL parameter |
sigS_ISO9796-2Withripemd160 | OID 1.3.36.3.4.2.2.2, NULL parameter |
sigS_ISO9796-2rndWithsha1 | OID 1.3.36.3.4.3.2.1, NULL parameter |
sigS_ISO9796-2rndWithripemd160 | OID 1.3.36.3.4.3.2.2, NULL parameter |
shaWithRSASignature | OID 1.3.14.3.2.15, NULL parameter |
sha1WithRSASignature | OID 1.3.14.3.2.29, NULL parameter |
ecdsa-with-SHA1 | OID 1.2.840.10045.4.1, ?? Unidentified parameter: |
rsaSignatureWithsha1 | OID 1.3.36.3.3.1.1, NULL parameter |
dsa | Same algorithm as NIST-DSA |
id-ecPublicKey | OID 1.2.840.10045.2.1, ?? Unidentified parameter |
dsaWithSHA | OID 1.3.14.3.2.13, Parameter p, q, g |
dsaWithSHA1 | OID 1.3.14.3.2.27, Parameter p, q, g |
dsaCommon | OID 1.3.14.3.2.20, NULL parameter |
dsaCommonWithSHA | OID 1.3.14.3.2.21, NULL parameter |
dsaCommonWithSHA1 | OID 1.3.14.3.2.28, NULL parameter |
md2WithRsaEncryption | OID 1.2.840.113549.1.1.2, NULL parameter |
md4WithRsaEncryption | OID 1.3.14.3.2.4, NULL parameter |
md5WithRsaEncryption | OID 1.2.840.113549.1.1.4, NULL parameter |
sha1WithRsaEncryption | OID 1.2.840.113549.1.1.5, NULL parameter |
md2WithRsaTimeDate | OID 1.3.36.3.1.22, NULL parameter |
md4WithRsaTimeDate | OID 1.3.36.3.1.24, NULL parameter |
md5WithRsaTimeDate | OID 1.3.36.3.1.25, NULL parameter |
md5WithRsa_TelesecSig | OID 0.2.262.1.10.1.1.4, NULL parameter |
id-dsa-with-sha1 | OID 1.2.840.10040.4.3, No parameter |
id-dsa | OID 1.2.840.10040.4.1, Parameter p, q, g |
| |
KEY AGREEMENT Algorithms | |
dhKeyAgreement | OID 1.2.840.113549.1.3.1, Parameter p, a |
dhWithCommonModulus | OID 1.3.14.3.2.16, NULL parameter |
| |
When I attempt to download a copy of the SAP Cryptographic Libray, the download site contains a message about Export Control Regulations, but no link to download the library. How do I download the SAP Cryptographic library?
This download process on the SAP Service Marketplace has been developed specially, and has a very special mechanism. This ensures that SAP knows who has downloaded the software, - a flag is set internally in an SAP customer database after the download is complete. SAP AG needs to report to the German government offices who has received the software, because it contains cryptographic elements. This is one of the German export regulations.
This is also the reason why SAP employees see only the screen with the export regulation restrictions that says that they are not allowed to download the software. The SAP Service Marketplace knows (because of your login) that you are an SAP employee and are not allowed to download the software. Customers are also not allowed to download the software if either of the two conditions below is not met:
1. The customer's COUNTRY must be released for download in our customer database, otherwise no customer in that country can download the software.
2. The non-military flag is set in the customer record in the SAP customer database.
In the SAP customer database, where the customer records are maintained, there is a flag for "Non-military company". Every local SAP country organization has to verify for each customer whether that company is a "Non-military" company. For more information, contact Thomas Koleyko from the Corporate Export department at SAP AG in Walldorf.
To allow the customer to download the SAP Cryptographic Library, set the "Non-military" flag in the customer record in the SAP customer database system. Only if this is set, can the company download the SAPCryptoLib. Of course, you should first check if you are allowed to set this flag for the company. Please wait one day after this flag is changed in the SAP customer database (ISP) system, as it must be distributed to the SAP Service Marketplace. For more information, see SAP Note 397175.
Is it possible to enforce different authentication mechanisms, such as allowing ordinary users to use user ID/password while system administrators and so on use strong authentication-like certificates?
Yes, this is possible. For more information, see the relevant passage in our SNC cookbook (especially snc/accept_insecure_gui = U), which you will find on the SAP Service Marketplace under http://service.sap.com/security -> Security in Detail -> Secure Management System -> Secure Network Communications, and SAP Notes 379081 and 142595.
What are the license conditions for the SAP-Cryptographic Library?
See SAP Note 597059:
The "SAP Cryptographic Library" (SAPCRYPTOLIB) is available in the SAP Service Marketplace (http://service.sap.com) for software downloading (export control, see Note 397175):
Select the Quick Link in the SAP Service Marketplace: http://service.sap.com/download, then follow the link to "SAP Cryptographic Software".
The following "License Disclaimer" is contained (LICENCE.TXT) in the CAR archives provided for download there:
<Beginnning of Disclaimer>
License Disclaimer for the SAPCRYPTOLIB (SAP's Cryptographic Library)
The SAP Cryptographic Library may only be used as an integral part of SAP products and not as part of other non-SAP products.
The legal use of the SAP Cryptographic Library for Secure Network Communications (SNC) is limited to securing backend server components provided by SAP or entitled SAP partners. The use of the SAP Cryptographic Library for SNC protected communications on a personal computer that runs client components (for example, SAP GUI for Windows or SAP GUI for JAVA) is not permitted.
The use of the SAP Cryptographic Library to secure the SAProuter communication when using the SAPNet - R/3 Frontend for remote support is permitted without restriction.
<End of Disclaimer>
The following explanations on the license conditions for using the "SAP Cryptographic Library" (SAPCRYPTOLIB) are intended to prevent any misunderstandings:
The SAPCRYPTOLIB can be used both as an SNC product and as an SSL Toolkit. The restrictions listed in the "License Disclaimer" apply to the use of the SNC.
No further restrictions apply to the use of the SAPCRYPTOLIB as an SSL implementation in all SAP products. In other words, the SAPCRYPTOLIB may be used both in server and in frontend components, including for the SSL backup of the communication of SAP products for SAP or non-SAP products.