1 / 53

Välkommen till Bankgiro Link BGC-forum för utvecklare på programföretagen

Välkommen till Bankgiro Link BGC-forum för utvecklare på programföretagen. Syftet. Att ge den senaste informationen om Bankgiro Link-projektet Informera om och diskutera kring aktuella tekniska frågor. Presentation. Mikael Rendahl – BGC Partners

crescent
Télécharger la présentation

Välkommen till Bankgiro Link BGC-forum för utvecklare på programföretagen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Välkommen till Bankgiro Link BGC-forum för utvecklare på programföretagen Bankgiro Link

  2. Syftet • Att ge den senaste informationen om Bankgiro Link-projektet • Informera om och diskutera kring aktuella tekniska frågor Bankgiro Link

  3. Presentation • Mikael Rendahl – BGC Partners • Mathias Engan – Produktchef Kommunikationstjänster • Per Skärström – Projektledare • Christian Lindkvist – Konstruktionsansvarig webb • Ricky Lundstål – Konstruktionsansvarig API • Hans Sterby – Designansvarig Bankgiro Link • Michael Strömberg – Javaintegration Bankgiro Link

  4. Bankgiro Link Projektstatus Per Skärström Bankgiro Link

  5. Projektet • Totalt 19 500 timmar. • Vi har 27 st medarbetare i projektet. • Denna fas av projektet har pågått från december -04 och avslutas 15/9. • Vi har en pilot av Bankgiro Link i drift sen sommaren -04. Bankgiro Link

  6. Status • Konstruktion avslutades 25/4. • Integrationstest avslutades 20/5 • Systemtest planeras avslutas 17/6. • Acceptanstest planeras avslutas 9/9. • Bankgiro Link driftsätts den 15/9. • Redan idag finns möjligheten att testa en beta-version av Bankgiro Link:s API. Bankgiro Link

  7. Bankgiro Link Marknadsorientering Mathias Engan Bankgiro Link

  8. Bankgiro Link – nytt kommunikationssätt Kommunikation över Internet med säkerhetslösning baserad på PKI Fler möjligheter för bankkunden Bättre kontroll för bankkunden Flexiblare säkerhetslösning Nästa utvecklingssteg bortom BgCom. Bankgiro Link

  9. Inledning Huvudmålet med utvecklingen av Bankgiro Link är att ta fram en ersättare till Telebankgiro Telebankgiro måste vara avvecklat senast 2007-03-31 Planerad produktionssättning tillsammans med R1 (hösten 2005) Bankgiro Link

  10. Filkommunikation LB, KI, AG LM, OC, GP, AG m fl Grundläggande funktioner Inloggning Lista filer att hämta Hämta fil Skicka fil Lista inskickade filer Godkänna fil Utloggning Behörighetskontroller Individnivå Fullmaktskontroller För de banker som vill Tredjepartsklienter Integration med affärssystem Fristående Bankgiro Link: Funktionalitet Bankgiro Link

  11. Tre bra saker med Bankgiro Link • Säkerhetslösning baserad på certifikat, behörigheter och (för vissa banker) elektroniska fullmaktskontroller • Bättre för kunden • Mer information om och därigenom bättre kontroll över kundens produkter (filbaserade) • Bättre för kunden • Lättare att bygga väl integrerade lösningar i kundens affärssystem • Bättre för kunden Bankgiro Link

  12. Möjlighet för programvaruföretag Kunderna vill ha smidig och enkel kommunikation med BGC för att • leverera betalningsuppdrag • hämta redovisning • kontrollera betalningsöverföringen • överföra annan affärsinformation Krav på ny funktionalitet i affärssystem Möjlighet för programvaruföretag att förenkla och förbättra Bankgiro Link

  13. Affärssystem Browser Bankgiro Link Lagring Arbetsflöde webbklient/Internetbank 4. Logga in 1. Fakturor i leverantörsreskontra 2. Skapa betalfil 5. Skicka in betalfil 3. Spara betalfil 8. Automatisk avstämning kundreskontra 7. Ladda redovisning 6. Hämta redovisning Bankgiro Link

  14. Klientprogramvara Automatisera överföringen av filer till och från BGC Integrera med affärssystemet • Inbetalningar rakt in i reskontra • Utbetalningar direkt från reskontra Förenkla, förbättra kundens vardag Fler och bättre funktioner för handläggare • Viewer, utskriftsfunktioner, arkivfunktionalitet, etc • Hantera ”pappersbetalningar” (bildfiler) Bankgiro Link

  15. Affärssystem Browser Bankgiro Link Lagring Integrerad kommunikation 2. Logga in 1. Fakturor i leverantörsreskontra 3. Skicka in betalfil 5. Automatisk avstämning kundreskontra 4. Hämta redovisning Bankgiro Link

  16. Ett tillfälle! Utveckling och försäljning av programvara tillhör inte BGCs kärnaffär. Telebankgiro avvecklas • Cirka 70000 (ca 40000 aktiva) kunder påverkas • Skapar behov av ersättningsfunktionalitet • Ny eller uppgraderad mjukvara behövs BGC skapar och öppnar ett gränssnitt mot Bankgiro Link Underlätta utvecklingen av effektiva betalningsverktyg Bankgiro Link

  17. Bankgiro Link Teknisk orientering Ricky Lundstål, Hans Sterby, Christian Lindkvist Bankgiro Link

  18. BGC:s teknikval • Plattform: Windows 2003 Server • Webbserver: Microsoft IIS 6 • Utvecklingsmiljö: Microsoft.NET • Språk: C# & ASP.NET • Dataintegration: XML & Web Services • Öppen standard • Interoperabilitet över plattformar • Klientutvecklares val av teknik är fritt Bankgiro Link

  19. Säkerhet - standarder • SSL • Skydd mot avlyssning • WS-Security http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf • Meddelandeintegritet • Meddelandekonfidentialitet • Autentisering på meddelandenivå • Approved OASIS Standard (April 2004) • http://www.oasis-open.org/specs/ Bankgiro Link

  20. Säkerhet - standarder • WS-Trust http://specs.xmlsoap.org/ws/2005/02/trust/WS-Trust.pdf • Bygger på WS-Security • förmedla tillit och delade nycklar mellan olika parter • ett ramverk för ”security tokens” • ”Published Specification” (maj 2004) • WS-Secure Conversation http://www-106.ibm.com/developerworks/library/specification/ws-secon/ • Baseras på WS-Security och WS-Trust • säker kommunikation för meddelanden • Hantera s.k. ”security contexts” • derivera meddelandenycklar från etablerade ”security contexts” • ”Published Specification” (maj 2004) Bankgiro Link

  21. Säkerhet i Bankgiro Link • Anrop via SSL • Challenge/Response enligt standard (WS-Trust). • Applikationsspecifik kryptering • Certifikat och signeringsklienter (CSP) • BankID (hårda & mjuka) Nexus 4.2 (hösten 2005) • Telia/Posten e-ID NetID • Nordea e-ID SmartTrust/Nexus Bankgiro Link

  22. Signerings-klient Klient BankGiro Link - CustomSecurityContextTokenHandler Säkerhet i Bankgiro Link – Inloggning Signera slumptalet Begär ett Challenge (slumptal) Slumptalet returneras Skicka signerat slumptal Token (SCT) samt hemlig nyckel returneras Inloggad Bankgiro Link

  23. Signerings-klient Klient BankGiro Link - CustomSecurityContextTokenHandler Säkerhet i Bankgiro Link – Inloggning Signera slumptalet Begär ett Challenge (slumptal) Slumptalet returneras Skicka signerat slumptal Token (SCT) samt hemlig nyckel returneras Inloggad Bankgiro Link

  24. Demo – Bankgiro Link Webb • Inloggning • Signeringsklienterna som stöds • NetiD – ActiveX-komponent • SmartTrust – ActiveX-komponent • Certifikaten • Posten eID (PKCS7) • Nordea eID (PKCS7) • Praktiskt hur det går till i webbapplikationen. Bankgiro Link

  25. Klient CustomSecurityContextTokenHandler Så här loggar du in • Hämta slumptal • <wsa:To>…</wsa:Action> • CustomSecurityContextTokenHandler.ashx • Challenge • <wst:SignChallenge><wst:Challenge>0CIVnrRepvNSvlkgUgrF8BWBXFk4Icjoob1HPtnoEj4=</wst:Challenge></wst:SignChallenge> RequestSecurityToken RequestSecurityTokenResponse Bankgiro Link

  26. Klient CustomSecurityContextTokenHandler fortsättning … • <wst:BinaryExchange> , Attributen ”ValueType” och ”EncodingType” • <wssc:SecurityContextToken wsu:Id="SecurityToken-9b51475a-d2c3-4730-87d3-8677bb543d18" xmlns:wssc="http://schemas.xmlsoap.org/ws/2004/04/sc"><wssc:Identifier>uuid:f707ed89-a2fd-4b6a-8eee-2fef7bf29ca3</wssc:Identifier> • <wst:BinarySecret wst:Type="http://schemas.xmlsoap.org/ws/2004/04/security/trust/ SymmetricKey">/LZb2VamALfV0cBgltdUMQ==</wst:BinarySecret> RequestSecurityTokenResponse RequestSecurityTokenResponse Bankgiro Link

  27. Paus Bankgiro Link

  28. Grundläggande för anropen • Returnerar alltid status med: • StatusId: ”0” || ”-1” • Meddelandekod: 0-999 • Meddelande: ”Ok” || Felmeddelande • Datumtidsstämpel Bankgiro Link

  29. Status-objektet Bankgiro Link

  30. Felmeddelanden • Appendix A • Xml-dokument Bankgiro Link

  31. Krav för varje anrop • Användaren är inloggad • Inaktivitet tillåts i 20 minuter • Maximal tid 60 minuter • Krypterat • Signerat • Argumentet ProgramID (tilldelas av BGC) • Argumentet SequenceNumber • UUID/GUID (ISO/IEC 11578:1996) Bankgiro Link

  32. Kryptering och signering av anrop • Den delade nyckeln bör ej användas i meddelanden • Istället genereras ”sessionsnycklar” (Derived Keys) • DerivedKeyToken genereras utifrån SecurityContextToken & den symmetriska nyckel som erhölls vid inloggningen • Anropet krypteras och signeras med två DerivedKeyTokens Bankgiro Link

  33. Kryptering och signering av anrop • <wsa:Action> anger den metod som anropas. • <wsa:To> anger url’en till webbtjänsten som anropas. • <wssc:SecurityContextToken><wssc:Identifier> • <wssc:DerivedKeyToken> En är för signaturen och den andra för krypteringen av datat. • <xenc:CipherValue> innehåller det krypterade datat. Bankgiro Link

  34. Anrop • Hämta behörighet – GetUserRights • Skicka in fil med betalningsuppdrag – SendFile • Attestera Fil – AttestFile • Makulera fil som ännu inte attesterats – DeleteFile • Hämta lista över inskickade filer – GetUploadedFileList • Hämta lista över redovisningsfiler – GetResultFileList • Ladda ner fil – GetFile • Logga ut – LogOut Bankgiro Link

  35. Anrop • Hämta behörighet – GetUserRights • Skicka in fil med betalningsuppdrag – SendFile • Attestera Fil – AttestFile • Makulera fil som ännu inte attesterats – DeleteFile • Hämta lista över inskickade filer – GetUploadedFileList • Hämta lista över redovisningsfiler – GetResultFileList • Ladda ner fil – GetFile • Logga ut – LogOut Bankgiro Link

  36. GetUserRights • Hämtar användarens behörighetsstruktur • Medger kontroll av behörigheten på klienterna • Inga argument utöver SequenceNumber & ProgramID • Tre roller: • Uploader • Downloader • Signer Bankgiro Link

  37. Signer KI LB 123453 123454 123455 123-1234 123-1235 123-1236 123-1237 Behörighetsstrukturen Produkt Kundnummer Bankgironummer Roll Bankgiro Link

  38. Behörigheter för anrop • Användaren måste alltid inneha minst en roll • Krav på behörighet: • GetUserRights, LogOut – valfri roll • SendFile – Uploader • AttestFile – Signer • DeleteFile – Uploader/Signer • GetUploadedFileList – Uploader/Signer • GetResultFileList – Downloader • GetFile (inskickade & oattesterade) – Uploader/Signer • GetFile (redovisningsfiler) – Downloader Bankgiro Link

  39. GetUserRights Bankgiro Link

  40. Anrop • Hämta behörighet – GetUserRights • Skicka in fil med betalningsuppdrag – SendFile • Attestera Fil – AttestFile • Makulera fil som ännu inte attesterats – DeleteFile • Hämta lista över inskickade filer – GetUploadedFileList • Hämta lista över redovisningsfiler – GetResultFileList • Ladda ner fil – GetFile • Logga ut – LogOut Bankgiro Link

  41. SendFile • Skickar in betalningsuppdrag till BGC • Filen ska signeras av användaren • Viktiga argument • fileSignature – Signatur över kondensat (SHA1) av hela filen samt summering av filens betalningsuppdrag (base64) • fileData – filinnehållet (base64) • attestFlag – möjliggör en direkt attestering • product – anger den produkt som filen innehåller • customerNumber – kundnummer under vilket filen skickas in • Returnerar filidentifikation Bankgiro Link

  42. Anrop • Hämta behörighet – GetUserRights • Skicka in fil med betalningsuppdrag – SendFile • Attestera Fil – AttestFile • Makulera fil som ännu inte attesterats – DeleteFile • Hämta lista över inskickade filer – GetUploadedFileList • Hämta lista över redovisningsfiler – GetResultFileList • Ladda ner fil – GetFile • Logga ut – LogOut Bankgiro Link

  43. GetUploadedFileList • Hämtar lista över inskickade filer (oattesterade, bearbetade, stoppade, …) • Styrs av användarens behörighet • Inga argument utöver SequenceNumber & ProgramID Bankgiro Link

  44. Demo – Bankgiro Link Webb • Skicka fil • Hämta fillistan inskickade filer. • Hela listan returneras i anropet från WS:en. • Attestera fil. • Vid attest hämtar vi först filen och sedan gör vi motsvarande signering som vid skicka fil. • Makulera / ta bort fil. • Skicka in filens ID till WS:en som tar bort filen. • Hämta fil. • Skicka in filens ID och hämta filens innehåll. Bankgiro Link

  45. Bankgiro Link Java-interoperabilitet Michael Strömberg Bankgiro Link

  46. Bankgiro Link – krav • SSL-kryptering • WS-Security • WS-Trust • WS-SecureConversation • Certifikat • BankID • Telia Elektroniskt ID-kort SIS-godkänt Bankgiro Link

  47. Web service-lösningar Har slumpmässigt valt tre av de mest använda web service Java API:er. • Sun JWSDP • webMethods Glue • Apache Axis • wsdl2java används för att översätta wsdl-specen till java stubbar. Bankgiro Link

  48. SSL-kryptering • Använd Java Secure Sockets Extension 1.4 (JSSE) • Inbyggt i webMethods Glue • Java SSL är väldigt känslig mot latens i nätet • SSL skyddar bara mellan två ändpunkter och erbjuder inte samma meddelandeskydd som ws-security erbjuder. Bankgiro Link

  49. ws-security stöd • Standardiserar hur säkerhetsinformation hanteras i SOAP-meddelanden. • Sun JWSDP • Använd XWS-Security API • webMethods Glue • Inbyggt • Apache AXIS • Använd WSS4J API Bankgiro Link

  50. ws-trust & ws-secureconversation stöd • Beskrivning • ws-trust adresserar problematiken kring olika säkerhetsformat, tillit, och säkerhetsdomäner • ws-secureconversation beskriver hur två aktörer kan authentisera en följd av meddelanden • Inga Java implementationer verkar stödja ws-trust eller ws-secureconversation • I dagsläget är det standard praxis att hacka ihop de funktioner som saknas från ws-trust och ws-secureconversation Bankgiro Link

More Related