SlideShare a Scribd company logo
1 of 20
Advanced  Crypto  Service  Provider    
–  Kryptografia  jako  usługa
Warszawa,	
  16	
  marca	
  2015	
  	
  
	
  	
  
Błażej	
  Pawlak	
  
Crypto	
  Competence	
  Center,	
  Copenhagen	
  @	
  IBM	
  Dania
IBM  4765  PCIe  Cryptographic  Coprocessor
Problem
Brak	
  bezpiecznego,	
  zdalnego	
  dostępu	
  do	
  sprzętowych	
  usług	
  
kryptograficznych	
  na	
  poziomie	
  API	
  oraz	
  web	
  service.
Rozwiązanie
• System	
  w	
  architekturze	
  klient	
  –	
  serwer,	
  gdzie	
  serwer	
  w	
  imieniu	
  klienta	
  
komunikuje	
  się	
  z	
  koprocesorem	
  kryptograficznym.
!
!
!! ACSP	
  servers
ACSP	
  client
TLS
Rozwiązanie
• Usługa	
  REST	
  z	
  prostszym	
  API	
  –	
  „zCloud	
  ACSP	
  REST	
  service”
!
!
!!!REST	
  
client
ACSP	
  REST	
  on	
  WAS	
  

+

ACSP	
  client
ACSP	
  servers
TLS TLS
!
!
!
!
!
!
INSECURE
ZONE
PUBLIC
ZONE
BLUE
SECURE
ZONE
RED
HTTPS TLS connection
– Client & server mutual authentication
iOS device with Touch ID
– Touch ID on iOS 8
TCP TLS connection
– Client & server mutual authentication
ACSP REST Service
– z/OS, AIX, Linux, Windows
– Websphere Liberty Core profile
– ACSP client
ACSP Servers
with cryptographic hardware
– z/OS, AIX, Linux, z/Linux
– ACSP server
– CEX2, 4764, CEX3, CEX4S, CEX5S, 4765
Kluczowa  funkcjonalność
• Zdalny	
  dostęp	
  do	
  koprocesora	
  kryptograficznego.	
  
• Szyfrowanie	
  oraz	
  deszyfrowanie	
  z	
  użyciem	
  algorytmów	
  symetrycznych	
  
(w	
  demo	
  to	
  AES).	
  
• Generowanie	
  i	
  weryfikacja	
  za	
  pomocą	
  funkcji	
  skrótu	
  SHA	
  
• Generowanie	
  oraz	
  weryfikacja	
  podpisu	
  cyfrowego	
  (PoC).
Korzyści
• Zdalny	
  dostęp	
  do	
  „mocnej”	
  kryptografii	
  sprzętowej	
  firmy	
  IBM.	
  
• Zwiększenie	
  wykorzystania	
  zasobów	
  koprocesora	
  kryptograficznego.
iOS  ACSP  REST  Demo

Szyfrowanie  wiadomości

z  iPhone  6
!
!
!
!
!
!
INSECURE
ZONE
PUBLIC
ZONE
BLUE
SECURE
ZONE
RED
HTTPS TLS connection
– Client & server mutual authentication
iOS device with Touch ID
– Touch ID on iOS 8
TCP TLS connection
– Client & server mutual authentication
ACSP REST Service
– z/OS, AIX, Linux, Windows
– Websphere Liberty Core profile
– ACSP client
ACSP Servers
with cryptographic hardware
– z/OS, AIX, Linux, z/Linux
– ACSP server
– CEX2, 4764, CEX3, CEX4S, CEX5S, 4765
5
4
3
2
1
Kluczowa  funkcjonalność
• Zdalny	
  dostęp	
  do	
  koprocesora	
  kryptograficznego.	
  
• Szyfrowanie	
  oraz	
  deszyfrowanie	
  z	
  użyciem	
  algorytmów	
  symetrycznych	
  
(w	
  demo	
  to	
  AES).	
  
• Generowanie	
  i	
  weryfikacja	
  za	
  pomocą	
  funkcji	
  skrótu	
  SHA	
  
• Generowanie	
  oraz	
  weryfikacja	
  podpisu	
  cyfrowego	
  (PoC).
Pytania?
1. Client protocol [cca] instantiated
2. Connecting [ssl on 127.0.0.1:-1] to [192.168.77.200:8994]
3. ACSP01250I Created TLS/SSL connection to [192.168.77.200:8994] using cipher suite
[SSL_RSA_WITH_AES_128_CBC_SHA] with protocols [[TLSv1.2]]

4. Connected for transport [ssl] protocol [cca] from own socket [ssl on 127.0.0.1:54211] to
[192.168.77.200:8994]

5. ACSP01110I Connected to [ssl:cca] on host [192.168.77.200] using service [$$acp-serv]
6. Connection [1] to [192.168.77.200] with transport [ssl] and protocol [cca] has been created
7. The connection pool now holds [1] connections.
Połączenie  REST  klient  –  serwer
POST	
  /zCloud-­‐JaxRS/crypto/cipher	
  HTTP/1.1	
  
Content-­‐Type:	
  application/json	
  
Host:	
  rest.cccc.dk.bal.ibm.com:29443	
  
Connection:	
  close	
  
User-­‐Agent:	
  Curl/2.1.1	
  (Macintosh;	
  OS	
  X/10.10.2)	
  GCDHTTPRequest	
  
Content-­‐Length:	
  274	
  
{	
  
	
  	
  	
  	
  "cipherRequest":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "operation":	
  "ENCRYPT",	
  
	
  	
  	
  	
  	
  	
  	
  	
  "text":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "textType":	
  "BASE64",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "textValue":	
  "QUNTUC5BRVMxMjguS0VZ"	
  
	
  	
  	
  	
  	
  	
  	
  	
  },	
  
	
  	
  	
  	
  	
  	
  	
  	
  "key":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "keyLabel":	
  "ACSP.AES256.KEY",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "keyType":	
  "AES"	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  }	
  
}
REST  klient  –  serwer.  Zapytanie  JSON
1.	
  	
  	
  	
  Submitting	
  [34]	
  bytes	
  for	
  [CSNBRNGL]	
  to	
  host	
  [192.168.77.200]	
  using	
  connection	
  [1]	
  
2.	
  	
  	
  	
  Submitting	
  [217]	
  bytes	
  for	
  [CSNBSAE]	
  to	
  host	
  [192.168.77.200]	
  using	
  connection	
  [1]	
  
Szyfrowanie  REST  –  AES
Połączenie  ACSP  klient  –  serwer
1.	
  	
  	
  extracting	
  user	
  from	
  certificate	
  DN=CN=client1,OU=IWP	
  Operations,O=Internet	
  Widgits	
  Pty	
  Ltd,ST=Copenhagen,C=DK	
  using	
  SAN:	
  ACSP:CLIENT1	
  
2.	
  	
  	
  extracting	
  user	
  from	
  certificate	
  DN=CN=client1,OU=IWP	
  Operations,O=Internet	
  Widgits	
  Pty	
  Ltd,ST=Copenhagen,C=DK	
  using	
  SAN:	
  ACSP:CLIENT1	
  
3.	
  	
  	
  Incoming	
  connect	
  for	
  [cca]	
  on	
  port	
  [8994]	
  from	
  client	
  [192.168.77.200:54247]	
  
4.	
  	
  	
  ACSP01196I	
  Client	
  [192.168.77.200	
  /	
  192.168.77.200]	
  connect	
  to	
  port	
  8994	
  using	
  ssl	
  for	
  protocol	
  cca	
  
5.	
  	
  	
  Socket	
  receive/send	
  buffer	
  sizes	
  [87379/330075]	
  with	
  Nagle's	
  algorithm	
  used	
  [false]	
  
6.	
  	
  	
  ACSP01190I	
  Awaiting	
  connect	
  -­‐	
  name[ssl-­‐cca]	
  transport[ssl]	
  protocol[cca]	
  port[8994]	
  -­‐	
  Count[1]	
  Sessions[1]	
  
7.	
  	
  	
  Identified	
  handler	
  of	
  class	
  [com.ibm.acsp.cca.ProtocolCcaServer]	
  for	
  port	
  number	
  [8994]	
  
8.	
  	
  	
  Protocol	
  handler	
  [cca	
  on	
  layer	
  tcp	
  on	
  127.0.0.1:8994]	
  waiting	
  for	
  peer	
  [cca	
  at	
  192.168.77.200:54247]	
  
Szyfrowanie  ACSP  serwer  –  AES
1.	
  	
  	
  Received	
  JCCA	
  call	
  for	
  verb	
  [CSNBRNGL]	
  
2.	
  	
  	
  Adding	
  rule	
  [RANDOM]	
  
3.	
  	
  	
  Flushing	
  [cca	
  on	
  layer	
  tcp	
  on	
  127.0.0.1:8994]	
  output	
  stream	
  to	
  [cca	
  at	
  192.168.77.200:54247]	
  
4.	
  	
  	
  Number	
  of	
  connects	
  [1]	
  -­‐	
  requests	
  [1]]	
  -­‐	
  responses	
  [1]	
  
5.	
  	
  	
  Protocol	
  handler	
  [cca	
  on	
  layer	
  tcp	
  on	
  127.0.0.1:8994]	
  waiting	
  for	
  peer	
  [cca	
  at	
  192.168.77.200:54247]	
  
6.	
  	
  	
  Received	
  JCCA	
  call	
  for	
  verb	
  [CSNBSAE]	
  
7.	
  	
  	
  Adding	
  rule	
  [AES]	
  
8.	
  	
  	
  Adding	
  rule	
  [PKCS-­‐PAD]	
  
9.	
  	
  	
  Adding	
  rule	
  [KEYIDENT]	
  
10.	
  	
  Adding	
  rule	
  [INITIAL]	
  
11.	
  	
  Flushing	
  [cca	
  on	
  layer	
  tcp	
  on	
  127.0.0.1:8994]	
  output	
  stream	
  to	
  [cca	
  at	
  192.168.77.200:54247]	
  
12.	
  	
  Number	
  of	
  connects	
  [1]	
  -­‐	
  requests	
  [2]]	
  -­‐	
  responses	
  [2]	
  
13.	
  	
  Protocol	
  handler	
  [cca	
  on	
  layer	
  tcp	
  on	
  127.0.0.1:8994]	
  waiting	
  for	
  peer	
  [cca	
  at	
  192.168.77.200:54247]	
  
14.	
  	
  ACSP01195I	
  Closed	
  scheme	
  [tcp:cca]	
  on	
  port	
  [8997]	
  with	
  name	
  [tcp-­‐cca]	
  
Pytania?

More Related Content

Viewers also liked

Cloud storage or computing & its working
Cloud storage or computing & its workingCloud storage or computing & its working
Cloud storage or computing & its workingpiyush mishra
 
ACS Seminar: Components & perceptions of SerVal in B2B cloud computing
ACS Seminar: Components & perceptions of SerVal in B2B cloud computingACS Seminar: Components & perceptions of SerVal in B2B cloud computing
ACS Seminar: Components & perceptions of SerVal in B2B cloud computingRoland Padilla
 
Cloud models and platforms
Cloud models and platformsCloud models and platforms
Cloud models and platformsPrabhat gangwar
 
Cloud computing ppt
Cloud computing pptCloud computing ppt
Cloud computing pptAmex Ka
 
Unit 1.4 working of cloud computing
Unit 1.4 working of cloud computingUnit 1.4 working of cloud computing
Unit 1.4 working of cloud computingeShikshak
 
Cloud Computing and the Next-Generation of Enterprise Architecture - Cloud Co...
Cloud Computing and the Next-Generation of Enterprise Architecture - Cloud Co...Cloud Computing and the Next-Generation of Enterprise Architecture - Cloud Co...
Cloud Computing and the Next-Generation of Enterprise Architecture - Cloud Co...Stuart Charlton
 
Introduction of Cloud computing
Introduction of Cloud computingIntroduction of Cloud computing
Introduction of Cloud computingRkrishna Mishra
 

Viewers also liked (7)

Cloud storage or computing & its working
Cloud storage or computing & its workingCloud storage or computing & its working
Cloud storage or computing & its working
 
ACS Seminar: Components & perceptions of SerVal in B2B cloud computing
ACS Seminar: Components & perceptions of SerVal in B2B cloud computingACS Seminar: Components & perceptions of SerVal in B2B cloud computing
ACS Seminar: Components & perceptions of SerVal in B2B cloud computing
 
Cloud models and platforms
Cloud models and platformsCloud models and platforms
Cloud models and platforms
 
Cloud computing ppt
Cloud computing pptCloud computing ppt
Cloud computing ppt
 
Unit 1.4 working of cloud computing
Unit 1.4 working of cloud computingUnit 1.4 working of cloud computing
Unit 1.4 working of cloud computing
 
Cloud Computing and the Next-Generation of Enterprise Architecture - Cloud Co...
Cloud Computing and the Next-Generation of Enterprise Architecture - Cloud Co...Cloud Computing and the Next-Generation of Enterprise Architecture - Cloud Co...
Cloud Computing and the Next-Generation of Enterprise Architecture - Cloud Co...
 
Introduction of Cloud computing
Introduction of Cloud computingIntroduction of Cloud computing
Introduction of Cloud computing
 

Similar to Advanced Crypto Service Provider – kryptografia jako usługa

Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-PolskaModsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-PolskaLeszek Mi?
 
[PLCUG] Power shell (PL)
[PLCUG] Power shell (PL)[PLCUG] Power shell (PL)
[PLCUG] Power shell (PL)Jaroslaw Sobel
 
PLNOG 9: Robert Ślaski - SKALOWALNE SZYFROWANIE USŁUG W SIECI OPERATORA - prz...
PLNOG 9: Robert Ślaski - SKALOWALNE SZYFROWANIE USŁUG W SIECI OPERATORA - prz...PLNOG 9: Robert Ślaski - SKALOWALNE SZYFROWANIE USŁUG W SIECI OPERATORA - prz...
PLNOG 9: Robert Ślaski - SKALOWALNE SZYFROWANIE USŁUG W SIECI OPERATORA - prz...PROIDEA
 
PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...
PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...
PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...PROIDEA
 
PLNOG 18 - Maciej Flak - Network as a Sensor czyli wykorzystanie NetFlow do m...
PLNOG 18 - Maciej Flak - Network as a Sensor czyli wykorzystanie NetFlow do m...PLNOG 18 - Maciej Flak - Network as a Sensor czyli wykorzystanie NetFlow do m...
PLNOG 18 - Maciej Flak - Network as a Sensor czyli wykorzystanie NetFlow do m...PROIDEA
 
Marcin Motylski - Globalna Chmura Obliczeniowa
Marcin Motylski - Globalna Chmura ObliczeniowaMarcin Motylski - Globalna Chmura Obliczeniowa
Marcin Motylski - Globalna Chmura ObliczeniowaPROIDEA
 
Łukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiej
Łukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiejŁukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiej
Łukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiejPROIDEA
 
PLNOG16: Pion Systemów Sieciowych i Bezpieczeństwa, Robert Rosiak
PLNOG16: Pion Systemów Sieciowych i Bezpieczeństwa, Robert RosiakPLNOG16: Pion Systemów Sieciowych i Bezpieczeństwa, Robert Rosiak
PLNOG16: Pion Systemów Sieciowych i Bezpieczeństwa, Robert RosiakPROIDEA
 
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...PROIDEA
 
Citrix NetScaler Gateway i Azure MFA
Citrix NetScaler Gateway i Azure MFACitrix NetScaler Gateway i Azure MFA
Citrix NetScaler Gateway i Azure MFAPawel Serwan
 
PLNOG 18 - Marcin Motylski - Budowa wirtualnego Data Center
PLNOG 18 - Marcin Motylski - Budowa wirtualnego Data CenterPLNOG 18 - Marcin Motylski - Budowa wirtualnego Data Center
PLNOG 18 - Marcin Motylski - Budowa wirtualnego Data CenterPROIDEA
 
PLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOps
PLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOpsPLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOps
PLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOpsPROIDEA
 
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...PROIDEA
 
Citrix provisioning services
Citrix provisioning servicesCitrix provisioning services
Citrix provisioning servicesPawel Serwan
 
PLNOG15: End of theoretical talks on SDN! Time for real solutions - Cisco SP ...
PLNOG15: End of theoretical talks on SDN! Time for real solutions - Cisco SP ...PLNOG15: End of theoretical talks on SDN! Time for real solutions - Cisco SP ...
PLNOG15: End of theoretical talks on SDN! Time for real solutions - Cisco SP ...PROIDEA
 
Wojciech Apel - Szokujące doświadczenia z wdrażaniem rozwiązań IPTV w sieciac...
Wojciech Apel - Szokujące doświadczenia z wdrażaniem rozwiązań IPTV w sieciac...Wojciech Apel - Szokujące doświadczenia z wdrażaniem rozwiązań IPTV w sieciac...
Wojciech Apel - Szokujące doświadczenia z wdrażaniem rozwiązań IPTV w sieciac...PROIDEA
 
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...PROIDEA
 
PLNOG 13: Artur Gmaj: Architecture of Modern Data Center
PLNOG 13: Artur Gmaj: Architecture of Modern Data CenterPLNOG 13: Artur Gmaj: Architecture of Modern Data Center
PLNOG 13: Artur Gmaj: Architecture of Modern Data CenterPROIDEA
 
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PROIDEA
 

Similar to Advanced Crypto Service Provider – kryptografia jako usługa (20)

Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-PolskaModsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
 
[PLCUG] Power shell (PL)
[PLCUG] Power shell (PL)[PLCUG] Power shell (PL)
[PLCUG] Power shell (PL)
 
PLNOG 9: Robert Ślaski - SKALOWALNE SZYFROWANIE USŁUG W SIECI OPERATORA - prz...
PLNOG 9: Robert Ślaski - SKALOWALNE SZYFROWANIE USŁUG W SIECI OPERATORA - prz...PLNOG 9: Robert Ślaski - SKALOWALNE SZYFROWANIE USŁUG W SIECI OPERATORA - prz...
PLNOG 9: Robert Ślaski - SKALOWALNE SZYFROWANIE USŁUG W SIECI OPERATORA - prz...
 
PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...
PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...
PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...
 
PLNOG 18 - Maciej Flak - Network as a Sensor czyli wykorzystanie NetFlow do m...
PLNOG 18 - Maciej Flak - Network as a Sensor czyli wykorzystanie NetFlow do m...PLNOG 18 - Maciej Flak - Network as a Sensor czyli wykorzystanie NetFlow do m...
PLNOG 18 - Maciej Flak - Network as a Sensor czyli wykorzystanie NetFlow do m...
 
Marcin Motylski - Globalna Chmura Obliczeniowa
Marcin Motylski - Globalna Chmura ObliczeniowaMarcin Motylski - Globalna Chmura Obliczeniowa
Marcin Motylski - Globalna Chmura Obliczeniowa
 
Łukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiej
Łukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiejŁukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiej
Łukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiej
 
PLNOG16: Pion Systemów Sieciowych i Bezpieczeństwa, Robert Rosiak
PLNOG16: Pion Systemów Sieciowych i Bezpieczeństwa, Robert RosiakPLNOG16: Pion Systemów Sieciowych i Bezpieczeństwa, Robert Rosiak
PLNOG16: Pion Systemów Sieciowych i Bezpieczeństwa, Robert Rosiak
 
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...
PLNOG19 - Emil Gągała - Przewodnik nowoczesnego sieciowca po pasjonującym, No...
 
Citrix NetScaler Gateway i Azure MFA
Citrix NetScaler Gateway i Azure MFACitrix NetScaler Gateway i Azure MFA
Citrix NetScaler Gateway i Azure MFA
 
PLNOG 18 - Marcin Motylski - Budowa wirtualnego Data Center
PLNOG 18 - Marcin Motylski - Budowa wirtualnego Data CenterPLNOG 18 - Marcin Motylski - Budowa wirtualnego Data Center
PLNOG 18 - Marcin Motylski - Budowa wirtualnego Data Center
 
PLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOps
PLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOpsPLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOps
PLNOG 22 - Krzysztof Załęski - Praktyczne zastosowanie narzędzi NetDevOps
 
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...
 
Citrix provisioning services
Citrix provisioning servicesCitrix provisioning services
Citrix provisioning services
 
PLNOG15: End of theoretical talks on SDN! Time for real solutions - Cisco SP ...
PLNOG15: End of theoretical talks on SDN! Time for real solutions - Cisco SP ...PLNOG15: End of theoretical talks on SDN! Time for real solutions - Cisco SP ...
PLNOG15: End of theoretical talks on SDN! Time for real solutions - Cisco SP ...
 
Wojciech Apel - Szokujące doświadczenia z wdrażaniem rozwiązań IPTV w sieciac...
Wojciech Apel - Szokujące doświadczenia z wdrażaniem rozwiązań IPTV w sieciac...Wojciech Apel - Szokujące doświadczenia z wdrażaniem rozwiązań IPTV w sieciac...
Wojciech Apel - Szokujące doświadczenia z wdrażaniem rozwiązań IPTV w sieciac...
 
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
 
PLNOG 13: Artur Gmaj: Architecture of Modern Data Center
PLNOG 13: Artur Gmaj: Architecture of Modern Data CenterPLNOG 13: Artur Gmaj: Architecture of Modern Data Center
PLNOG 13: Artur Gmaj: Architecture of Modern Data Center
 
Jaki hosting pod wordpressa
Jaki hosting pod wordpressaJaki hosting pod wordpressa
Jaki hosting pod wordpressa
 
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
 

Advanced Crypto Service Provider – kryptografia jako usługa

  • 1. Advanced  Crypto  Service  Provider     –  Kryptografia  jako  usługa Warszawa,  16  marca  2015         Błażej  Pawlak   Crypto  Competence  Center,  Copenhagen  @  IBM  Dania
  • 2. IBM  4765  PCIe  Cryptographic  Coprocessor
  • 3. Problem Brak  bezpiecznego,  zdalnego  dostępu  do  sprzętowych  usług   kryptograficznych  na  poziomie  API  oraz  web  service.
  • 4. Rozwiązanie • System  w  architekturze  klient  –  serwer,  gdzie  serwer  w  imieniu  klienta   komunikuje  się  z  koprocesorem  kryptograficznym. ! ! !! ACSP  servers ACSP  client TLS
  • 5. Rozwiązanie • Usługa  REST  z  prostszym  API  –  „zCloud  ACSP  REST  service” ! ! !!!REST   client ACSP  REST  on  WAS  
 +
 ACSP  client ACSP  servers TLS TLS
  • 6. ! ! ! ! ! ! INSECURE ZONE PUBLIC ZONE BLUE SECURE ZONE RED HTTPS TLS connection – Client & server mutual authentication iOS device with Touch ID – Touch ID on iOS 8 TCP TLS connection – Client & server mutual authentication ACSP REST Service – z/OS, AIX, Linux, Windows – Websphere Liberty Core profile – ACSP client ACSP Servers with cryptographic hardware – z/OS, AIX, Linux, z/Linux – ACSP server – CEX2, 4764, CEX3, CEX4S, CEX5S, 4765
  • 7. Kluczowa  funkcjonalność • Zdalny  dostęp  do  koprocesora  kryptograficznego.   • Szyfrowanie  oraz  deszyfrowanie  z  użyciem  algorytmów  symetrycznych   (w  demo  to  AES).   • Generowanie  i  weryfikacja  za  pomocą  funkcji  skrótu  SHA   • Generowanie  oraz  weryfikacja  podpisu  cyfrowego  (PoC).
  • 8. Korzyści • Zdalny  dostęp  do  „mocnej”  kryptografii  sprzętowej  firmy  IBM.   • Zwiększenie  wykorzystania  zasobów  koprocesora  kryptograficznego.
  • 9. iOS  ACSP  REST  Demo
 Szyfrowanie  wiadomości
 z  iPhone  6
  • 10. ! ! ! ! ! ! INSECURE ZONE PUBLIC ZONE BLUE SECURE ZONE RED HTTPS TLS connection – Client & server mutual authentication iOS device with Touch ID – Touch ID on iOS 8 TCP TLS connection – Client & server mutual authentication ACSP REST Service – z/OS, AIX, Linux, Windows – Websphere Liberty Core profile – ACSP client ACSP Servers with cryptographic hardware – z/OS, AIX, Linux, z/Linux – ACSP server – CEX2, 4764, CEX3, CEX4S, CEX5S, 4765 5 4 3 2 1
  • 11. Kluczowa  funkcjonalność • Zdalny  dostęp  do  koprocesora  kryptograficznego.   • Szyfrowanie  oraz  deszyfrowanie  z  użyciem  algorytmów  symetrycznych   (w  demo  to  AES).   • Generowanie  i  weryfikacja  za  pomocą  funkcji  skrótu  SHA   • Generowanie  oraz  weryfikacja  podpisu  cyfrowego  (PoC).
  • 13.
  • 14. 1. Client protocol [cca] instantiated 2. Connecting [ssl on 127.0.0.1:-1] to [192.168.77.200:8994] 3. ACSP01250I Created TLS/SSL connection to [192.168.77.200:8994] using cipher suite [SSL_RSA_WITH_AES_128_CBC_SHA] with protocols [[TLSv1.2]]
 4. Connected for transport [ssl] protocol [cca] from own socket [ssl on 127.0.0.1:54211] to [192.168.77.200:8994]
 5. ACSP01110I Connected to [ssl:cca] on host [192.168.77.200] using service [$$acp-serv] 6. Connection [1] to [192.168.77.200] with transport [ssl] and protocol [cca] has been created 7. The connection pool now holds [1] connections. Połączenie  REST  klient  –  serwer
  • 15. POST  /zCloud-­‐JaxRS/crypto/cipher  HTTP/1.1   Content-­‐Type:  application/json   Host:  rest.cccc.dk.bal.ibm.com:29443   Connection:  close   User-­‐Agent:  Curl/2.1.1  (Macintosh;  OS  X/10.10.2)  GCDHTTPRequest   Content-­‐Length:  274   {          "cipherRequest":  {                  "operation":  "ENCRYPT",                  "text":  {                          "textType":  "BASE64",                          "textValue":  "QUNTUC5BRVMxMjguS0VZ"                  },                  "key":  {                          "keyLabel":  "ACSP.AES256.KEY",                          "keyType":  "AES"                  }          }   } REST  klient  –  serwer.  Zapytanie  JSON
  • 16. 1.        Submitting  [34]  bytes  for  [CSNBRNGL]  to  host  [192.168.77.200]  using  connection  [1]   2.        Submitting  [217]  bytes  for  [CSNBSAE]  to  host  [192.168.77.200]  using  connection  [1]   Szyfrowanie  REST  –  AES
  • 17. Połączenie  ACSP  klient  –  serwer 1.      extracting  user  from  certificate  DN=CN=client1,OU=IWP  Operations,O=Internet  Widgits  Pty  Ltd,ST=Copenhagen,C=DK  using  SAN:  ACSP:CLIENT1   2.      extracting  user  from  certificate  DN=CN=client1,OU=IWP  Operations,O=Internet  Widgits  Pty  Ltd,ST=Copenhagen,C=DK  using  SAN:  ACSP:CLIENT1   3.      Incoming  connect  for  [cca]  on  port  [8994]  from  client  [192.168.77.200:54247]   4.      ACSP01196I  Client  [192.168.77.200  /  192.168.77.200]  connect  to  port  8994  using  ssl  for  protocol  cca   5.      Socket  receive/send  buffer  sizes  [87379/330075]  with  Nagle's  algorithm  used  [false]   6.      ACSP01190I  Awaiting  connect  -­‐  name[ssl-­‐cca]  transport[ssl]  protocol[cca]  port[8994]  -­‐  Count[1]  Sessions[1]   7.      Identified  handler  of  class  [com.ibm.acsp.cca.ProtocolCcaServer]  for  port  number  [8994]   8.      Protocol  handler  [cca  on  layer  tcp  on  127.0.0.1:8994]  waiting  for  peer  [cca  at  192.168.77.200:54247]  
  • 18. Szyfrowanie  ACSP  serwer  –  AES 1.      Received  JCCA  call  for  verb  [CSNBRNGL]   2.      Adding  rule  [RANDOM]   3.      Flushing  [cca  on  layer  tcp  on  127.0.0.1:8994]  output  stream  to  [cca  at  192.168.77.200:54247]   4.      Number  of  connects  [1]  -­‐  requests  [1]]  -­‐  responses  [1]   5.      Protocol  handler  [cca  on  layer  tcp  on  127.0.0.1:8994]  waiting  for  peer  [cca  at  192.168.77.200:54247]   6.      Received  JCCA  call  for  verb  [CSNBSAE]   7.      Adding  rule  [AES]   8.      Adding  rule  [PKCS-­‐PAD]   9.      Adding  rule  [KEYIDENT]   10.    Adding  rule  [INITIAL]   11.    Flushing  [cca  on  layer  tcp  on  127.0.0.1:8994]  output  stream  to  [cca  at  192.168.77.200:54247]   12.    Number  of  connects  [1]  -­‐  requests  [2]]  -­‐  responses  [2]   13.    Protocol  handler  [cca  on  layer  tcp  on  127.0.0.1:8994]  waiting  for  peer  [cca  at  192.168.77.200:54247]   14.    ACSP01195I  Closed  scheme  [tcp:cca]  on  port  [8997]  with  name  [tcp-­‐cca]  
  • 19.