SlideShare a Scribd company logo
1 of 28
Download to read offline
OOo Digital Signatures

Malte Timmermann
Technical Architect
Sun Microsystems GmbH
About the Speaker
●   Technical Architect in
    OpenOffice.org/StarOffice development
●   OOo/StarOffice developer since 1991/94
●   Main focus: Core Development
    –   Security
    –   Accessibility
    –   Past: EditEngine, Help System, ...
Agenda
●   Why Digital Signatures?
●   Technology for Digital Signatures
●   Implementation in
    OpenOffice.org/StarOffice
●   Future Outlook
Why Digital Signatures?
●   Authentication
●   Authorization
●   Verify Document Integrity
Authentication
●   A Basic Security Issue is Authentication
●   Authentication is the process of
    confirming the identity of an entity (a
    user, a machine, a company)
●   Securely identify the Author of a
    Document
Authorization
●   Authentication serves as the basis for
    Authorization
●   Specifically, once it knows the identity of
    a subject, an application may then
    specify what set of operations that
    subject may perform
Authorization
●   Macro Security
    –   Decide whether to run a macro or not
         ●   Decision based on author, not on macro
             content, because you can't review every macro
             you receive
    –   Fine Grained Macro Security
         ●   Macros from different authors can have different
             access rights to systems resources
Authorization
●   Digital Rights Management
    –   Digital Signatures can be used for simple
        DRM: Who is allowed to read/modify/print
        the document?
    –   DRM cannot be enforced with this, only be
        implemented in specific applications
Verify Document Integrity
●   Verify that the Document Content was
    not altered
    –   A document might simply be corrupted
        because of broken file transfer, but it can
        also be manipulated by Intention
    –   Checksums / Hash Values can be used to
        verify the Content
Technology for Digital Signatures
●   Hash Values
●   Encryption Algorithms
●   Public Key Certificates
Hash Values
●   One Way Hash Functions
    –   Easy to compute, but difficult to reverse
    –   Difficult to find two input values which result in
        same output value
    –   Can be used to calculate Hash Values for the
        document content, which are much smaller
        than the Document Content itself
    –   Hash Values can be stored at a separate
        place or as part of the Signature
    –   Use same Hash Function to compute Hash
        Values for a received Document, compare
        with the saved Values
Encryption Algorithms
●   Change Data so it can only be read with
    the proper Encryption Key
    –   Original text is called “Plain Text”
    –   Transformed text is called “Cipher Text”
    –   Recovering Plain Text from Cipher Text
        only possible with correct Key
●   Encryption Types
    –   Symmetric Encryption
    –   Asymmetric Encryption
Symmetric Encryption
●   Same Key is used for Encryption and
    Decryption
●   Also called “Secret Key” Ciphers
    –   Two communicating parties must share a
        secret key. This requirement creates some
        difficulties in key management and key
        distribution
●   Improve Crypto Strength
    –   Symmetric Ciphers can be stacked to
        improve Crypto strength of the whole
        system, such as in the case of triple-DES
Asymmetric Encryption
●   Pair of Keys, one is used for Encryption,
    the other for Decryption
●   Private Key is only known by the Owner,
    Public Key can be know by everybody
    and Easily being distributed via Public
    Channels
Asymmetric Encryption
●   In some Asymmetric Systems the
    Encryption and Decryption is reversible
    –   This means that one can apply the decryption
        operation with the private key to the plaintext to
        get ciphertext, and one can recover the
        plaintext by applying the encryption operation
        with the public key to the ciphertext.
    –   Only the holder of the private key can generate
        the ciphertext with these systems, so the
        ciphertext can serve as a digital signature of
        the plaintext, and anyone with the public key
        can verify the authenticity of the signature
Public Key Certificates
●   Users of public-key applications and
    systems must be confident that the
    public key of a subject is genuine
●   Public-key certificates are used to
    establish trust. A public-key certificate is
    a binding of a public key to a subject,
    whereby the certificate is digitally signed
    by the private key of another entity, often
    called a Certification Authority (CA)
Public Key Certificates
●   Holds together Information about the
    Owner
    –   Name, Email Address, Public Key,
        Company Name, ...
●   The standard digital certificate format is
    ITU-T X.509.
●   An X.509 certificate binds a public key to
    a Distinguished Name
Implementation in
OpenOffice.org/StarOffice
●   W3C XML DSIG
●   OOo Security Framework
W3C XML DSIG
●   OpenOffice.org implements Digital
    Signatures following W3C XML DSIG
    Recommendations
    –   Structure of the Signature itself is XML
    –   Used Encryption and Hash Algorithms are
        stored within the Signature
    –   Signature can easily be verified with
        different implementations
W3C XML DSIG
●   XML Content can be verified via DOM,
    physical representation doesn't matter
●   Implementation for Binary Data like
    Pictures is also available
OOo Security Framework
●   Application shouldn't care about
    Certificate Deployment and
    Management
●   Use existing Infrastructure
    –   MS Crypto on Windows
    –   Mozilla / NSS on Linux and Solaris
OOo Security Framework
●   LibXMLSec, LibXML2
●   OpenOffice.org uses LibXMLSec and
    LibXML2 to create and verify Digital
    Signatures
●   LibXMLSec can handle MS Crypto API
    and NSS
●   The OOo Security Framework is
    designed to support different
    implementations, like Java JSR 105/106
Demonstrations
●   Digital Signatures
    –   Adding some Signatures
    –   Broken Signatures
Demonstrations
●   Macro Security
    –   Security Levels
    –   Trusted Sources and Authors
Other Security Options
●   Document Encryption
●   Warn if certain Information are saved,
    signed or printed and have
    –   Versions
    –   Redlining Information
    –   Notes
●   Remove Personal Information on Saving
●   Recommend Password Protection on
    Saving
Demonstrations
●   Other Security Options
Future Outlook
●   Fine Grained Macro Security
    –   UNO already offers a mechanism for this
    –   Needs a lot of changes in UNO API
        Implementations
●   W3C Encryption using Certificates
    –   Needs Enhancements to our current
        framework
    –   Workflow and Key Retrieval undefined
●   (Digital Rights Management)
OOo Digital Signatures



malte.timmermann@sun.com

More Related Content

What's hot

Microservices Manchester: Authentication in Microservice Systems by David Borsos
Microservices Manchester: Authentication in Microservice Systems by David BorsosMicroservices Manchester: Authentication in Microservice Systems by David Borsos
Microservices Manchester: Authentication in Microservice Systems by David BorsosOpenCredo
 
Towards Securing Computer Network Environment By Using Kerberos-based Network...
Towards Securing Computer Network Environment By Using Kerberos-based Network...Towards Securing Computer Network Environment By Using Kerberos-based Network...
Towards Securing Computer Network Environment By Using Kerberos-based Network...FATIN FAZAIN MOHD AFFANDI
 
Authorization and Authentication in Microservice Environments
Authorization and Authentication in Microservice EnvironmentsAuthorization and Authentication in Microservice Environments
Authorization and Authentication in Microservice EnvironmentsLeanIX GmbH
 
Audit free cloud storage via deniable attribute based encryption
Audit free cloud storage via  deniable attribute based encryptionAudit free cloud storage via  deniable attribute based encryption
Audit free cloud storage via deniable attribute based encryptionMano Sriram
 
Outsmarting Smart Contracts - an essential walkthrough a blockchain security ...
Outsmarting Smart Contracts - an essential walkthrough a blockchain security ...Outsmarting Smart Contracts - an essential walkthrough a blockchain security ...
Outsmarting Smart Contracts - an essential walkthrough a blockchain security ...SecuRing
 
Json web token api authorization
Json web token api authorizationJson web token api authorization
Json web token api authorizationGiulio De Donato
 
Delivering transparent data_encryption_while_centrally_managing_keys_eskm-blo...
Delivering transparent data_encryption_while_centrally_managing_keys_eskm-blo...Delivering transparent data_encryption_while_centrally_managing_keys_eskm-blo...
Delivering transparent data_encryption_while_centrally_managing_keys_eskm-blo...Bloombase
 
Data Security Essentials - JavaOne 2013
Data Security Essentials - JavaOne 2013Data Security Essentials - JavaOne 2013
Data Security Essentials - JavaOne 2013javagroup2006
 
Securing your apps with OAuth2 and OpenID Connect - Roland Guijt - Codemotion...
Securing your apps with OAuth2 and OpenID Connect - Roland Guijt - Codemotion...Securing your apps with OAuth2 and OpenID Connect - Roland Guijt - Codemotion...
Securing your apps with OAuth2 and OpenID Connect - Roland Guijt - Codemotion...Codemotion
 
Decentralized access control with anonymous authentication of data stored in ...
Decentralized access control with anonymous authentication of data stored in ...Decentralized access control with anonymous authentication of data stored in ...
Decentralized access control with anonymous authentication of data stored in ...Vasanth Mca
 
ITProceed 2015 - Securing Sensitive Data with Azure Key Vault
ITProceed 2015 - Securing Sensitive Data with Azure Key VaultITProceed 2015 - Securing Sensitive Data with Azure Key Vault
ITProceed 2015 - Securing Sensitive Data with Azure Key VaultTom Kerkhove
 
Lecture 9 key distribution and user authentication
Lecture 9 key distribution and user authentication Lecture 9 key distribution and user authentication
Lecture 9 key distribution and user authentication rajakhurram
 
Blockchin architecture & use cases -part-2
Blockchin architecture & use cases -part-2Blockchin architecture & use cases -part-2
Blockchin architecture & use cases -part-2Mohammad Asif
 
Securing sensitive data with Azure Key Vault
Securing sensitive data with Azure Key VaultSecuring sensitive data with Azure Key Vault
Securing sensitive data with Azure Key VaultTom Kerkhove
 
Key Management and Distribution
Key Management and DistributionKey Management and Distribution
Key Management and DistributionSyed Bahadur Shah
 
Blockchain On Azure
Blockchain On AzureBlockchain On Azure
Blockchain On AzureJohan Zammit
 

What's hot (20)

Microservices Manchester: Authentication in Microservice Systems by David Borsos
Microservices Manchester: Authentication in Microservice Systems by David BorsosMicroservices Manchester: Authentication in Microservice Systems by David Borsos
Microservices Manchester: Authentication in Microservice Systems by David Borsos
 
Towards Securing Computer Network Environment By Using Kerberos-based Network...
Towards Securing Computer Network Environment By Using Kerberos-based Network...Towards Securing Computer Network Environment By Using Kerberos-based Network...
Towards Securing Computer Network Environment By Using Kerberos-based Network...
 
Authorization and Authentication in Microservice Environments
Authorization and Authentication in Microservice EnvironmentsAuthorization and Authentication in Microservice Environments
Authorization and Authentication in Microservice Environments
 
Audit free cloud storage via deniable attribute based encryption
Audit free cloud storage via  deniable attribute based encryptionAudit free cloud storage via  deniable attribute based encryption
Audit free cloud storage via deniable attribute based encryption
 
Outsmarting Smart Contracts - an essential walkthrough a blockchain security ...
Outsmarting Smart Contracts - an essential walkthrough a blockchain security ...Outsmarting Smart Contracts - an essential walkthrough a blockchain security ...
Outsmarting Smart Contracts - an essential walkthrough a blockchain security ...
 
Json web token api authorization
Json web token api authorizationJson web token api authorization
Json web token api authorization
 
Delivering transparent data_encryption_while_centrally_managing_keys_eskm-blo...
Delivering transparent data_encryption_while_centrally_managing_keys_eskm-blo...Delivering transparent data_encryption_while_centrally_managing_keys_eskm-blo...
Delivering transparent data_encryption_while_centrally_managing_keys_eskm-blo...
 
Data Security Essentials - JavaOne 2013
Data Security Essentials - JavaOne 2013Data Security Essentials - JavaOne 2013
Data Security Essentials - JavaOne 2013
 
Securing your apps with OAuth2 and OpenID Connect - Roland Guijt - Codemotion...
Securing your apps with OAuth2 and OpenID Connect - Roland Guijt - Codemotion...Securing your apps with OAuth2 and OpenID Connect - Roland Guijt - Codemotion...
Securing your apps with OAuth2 and OpenID Connect - Roland Guijt - Codemotion...
 
Bletchley
BletchleyBletchley
Bletchley
 
Key management
Key managementKey management
Key management
 
Decentralized access control with anonymous authentication of data stored in ...
Decentralized access control with anonymous authentication of data stored in ...Decentralized access control with anonymous authentication of data stored in ...
Decentralized access control with anonymous authentication of data stored in ...
 
ITProceed 2015 - Securing Sensitive Data with Azure Key Vault
ITProceed 2015 - Securing Sensitive Data with Azure Key VaultITProceed 2015 - Securing Sensitive Data with Azure Key Vault
ITProceed 2015 - Securing Sensitive Data with Azure Key Vault
 
WS - SecurityPolicy
WS - SecurityPolicyWS - SecurityPolicy
WS - SecurityPolicy
 
Lecture 9 key distribution and user authentication
Lecture 9 key distribution and user authentication Lecture 9 key distribution and user authentication
Lecture 9 key distribution and user authentication
 
Blockchin architecture & use cases -part-2
Blockchin architecture & use cases -part-2Blockchin architecture & use cases -part-2
Blockchin architecture & use cases -part-2
 
WS - Security
WS - SecurityWS - Security
WS - Security
 
Securing sensitive data with Azure Key Vault
Securing sensitive data with Azure Key VaultSecuring sensitive data with Azure Key Vault
Securing sensitive data with Azure Key Vault
 
Key Management and Distribution
Key Management and DistributionKey Management and Distribution
Key Management and Distribution
 
Blockchain On Azure
Blockchain On AzureBlockchain On Azure
Blockchain On Azure
 

Viewers also liked

SI E3 Kinect Launch Outcomes Deck
SI E3 Kinect Launch Outcomes DeckSI E3 Kinect Launch Outcomes Deck
SI E3 Kinect Launch Outcomes DeckOz Sultan
 
OpenOffice.org/StarOffice & DRM, OMC Workshop 2006
OpenOffice.org/StarOffice & DRM, OMC Workshop 2006OpenOffice.org/StarOffice & DRM, OMC Workshop 2006
OpenOffice.org/StarOffice & DRM, OMC Workshop 2006Malte Timmermann
 
Connecting with Audiences via Social Media
Connecting with Audiences via Social MediaConnecting with Audiences via Social Media
Connecting with Audiences via Social Mediajoelb
 
English vocavulari and Tecno
English vocavulari and TecnoEnglish vocavulari and Tecno
English vocavulari and TecnoDaniel Moreno
 
Africa Power Point
Africa Power PointAfrica Power Point
Africa Power Pointguestc6b1e
 
Corporate Change Mgt for Social
Corporate Change Mgt for SocialCorporate Change Mgt for Social
Corporate Change Mgt for SocialOz Sultan
 
Presentatie Tech4You 3 augustus 2015 Marieke den Rooijen - Van den Berg bij B...
Presentatie Tech4You 3 augustus 2015 Marieke den Rooijen - Van den Berg bij B...Presentatie Tech4You 3 augustus 2015 Marieke den Rooijen - Van den Berg bij B...
Presentatie Tech4You 3 augustus 2015 Marieke den Rooijen - Van den Berg bij B...Jos Quaedvlieg
 
Powerpoint Jeugdsubculturen en Jongerencultuur
Powerpoint Jeugdsubculturen en JongerencultuurPowerpoint Jeugdsubculturen en Jongerencultuur
Powerpoint Jeugdsubculturen en JongerencultuurMaayke Cappoen
 
Толстая модель. История разработки ORM
Толстая модель. История разработки ORMТолстая модель. История разработки ORM
Толстая модель. История разработки ORMMikhail Shamin
 

Viewers also liked (16)

Monsoon v3
Monsoon v3Monsoon v3
Monsoon v3
 
Treno Della Vita
Treno Della VitaTreno Della Vita
Treno Della Vita
 
Kiddicare deck
Kiddicare deckKiddicare deck
Kiddicare deck
 
SI E3 Kinect Launch Outcomes Deck
SI E3 Kinect Launch Outcomes DeckSI E3 Kinect Launch Outcomes Deck
SI E3 Kinect Launch Outcomes Deck
 
OpenOffice.org/StarOffice & DRM, OMC Workshop 2006
OpenOffice.org/StarOffice & DRM, OMC Workshop 2006OpenOffice.org/StarOffice & DRM, OMC Workshop 2006
OpenOffice.org/StarOffice & DRM, OMC Workshop 2006
 
Connecting with Audiences via Social Media
Connecting with Audiences via Social MediaConnecting with Audiences via Social Media
Connecting with Audiences via Social Media
 
English vocavulari and Tecno
English vocavulari and TecnoEnglish vocavulari and Tecno
English vocavulari and Tecno
 
Africa Power Point
Africa Power PointAfrica Power Point
Africa Power Point
 
Corporate Change Mgt for Social
Corporate Change Mgt for SocialCorporate Change Mgt for Social
Corporate Change Mgt for Social
 
Presentatie Tech4You 3 augustus 2015 Marieke den Rooijen - Van den Berg bij B...
Presentatie Tech4You 3 augustus 2015 Marieke den Rooijen - Van den Berg bij B...Presentatie Tech4You 3 augustus 2015 Marieke den Rooijen - Van den Berg bij B...
Presentatie Tech4You 3 augustus 2015 Marieke den Rooijen - Van den Berg bij B...
 
CAM INGLES 1
CAM INGLES 1CAM INGLES 1
CAM INGLES 1
 
CAM INGLES 1
CAM INGLES 1CAM INGLES 1
CAM INGLES 1
 
Treno Della Vita
Treno Della VitaTreno Della Vita
Treno Della Vita
 
Hamleys+rg
Hamleys+rgHamleys+rg
Hamleys+rg
 
Powerpoint Jeugdsubculturen en Jongerencultuur
Powerpoint Jeugdsubculturen en JongerencultuurPowerpoint Jeugdsubculturen en Jongerencultuur
Powerpoint Jeugdsubculturen en Jongerencultuur
 
Толстая модель. История разработки ORM
Толстая модель. История разработки ORMТолстая модель. История разработки ORM
Толстая модель. История разработки ORM
 

Similar to OpenOffice.org Digital Signatures, OOoCon 2004

How to write secure code
How to write secure codeHow to write secure code
How to write secure codeFlaskdata.io
 
Sql_DG_presentation.pptx
Sql_DG_presentation.pptxSql_DG_presentation.pptx
Sql_DG_presentation.pptxArunRangrej1
 
Iaetsd a survey on cloud storage security with
Iaetsd a survey on cloud storage security withIaetsd a survey on cloud storage security with
Iaetsd a survey on cloud storage security withIaetsd Iaetsd
 
Symmetric key encryption
Symmetric key encryptionSymmetric key encryption
Symmetric key encryptionmdhar123
 
Internet security evaluation system documentation nikitha
Internet security evaluation system documentation nikithaInternet security evaluation system documentation nikitha
Internet security evaluation system documentation nikithaSusmitha Reddy
 
Digital signaturepattern 10 30
Digital signaturepattern 10 30Digital signaturepattern 10 30
Digital signaturepattern 10 30Joaquin Ojeda
 
Track 5 session 2 - st dev con 2016 - security iot best practices
Track 5   session 2 - st dev con 2016 - security iot best practicesTrack 5   session 2 - st dev con 2016 - security iot best practices
Track 5 session 2 - st dev con 2016 - security iot best practicesST_World
 
Encryption symmetric key
Encryption symmetric keyEncryption symmetric key
Encryption symmetric keymdhar123
 
multiple encryption in clouud computing
multiple encryption in clouud computingmultiple encryption in clouud computing
multiple encryption in clouud computingRauf Wani
 
Cisco cybersecurity essentials chapter -5
Cisco cybersecurity essentials chapter -5Cisco cybersecurity essentials chapter -5
Cisco cybersecurity essentials chapter -5Mukesh Chinta
 
Toronto MuleSoft Meetup: Virtual Meetup #3
Toronto MuleSoft Meetup: Virtual Meetup #3Toronto MuleSoft Meetup: Virtual Meetup #3
Toronto MuleSoft Meetup: Virtual Meetup #3Alexandra N. Martinez
 
Cyber security workshop talk.pptx
Cyber security workshop talk.pptxCyber security workshop talk.pptx
Cyber security workshop talk.pptxkamalakantas
 
20-security.ppt
20-security.ppt20-security.ppt
20-security.pptajajkhan16
 
Attributes based encryption with verifiable outsourced decryption
Attributes based encryption with verifiable outsourced decryptionAttributes based encryption with verifiable outsourced decryption
Attributes based encryption with verifiable outsourced decryptionKaashivInfoTech Company
 
Web-of-Things and Services Security
Web-of-Things and Services SecurityWeb-of-Things and Services Security
Web-of-Things and Services SecurityOliver Pfaff
 
Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)Asad Ali
 
SSL Implementation - IBM MQ - Secure Communications
SSL Implementation - IBM MQ - Secure Communications SSL Implementation - IBM MQ - Secure Communications
SSL Implementation - IBM MQ - Secure Communications nishchal29
 

Similar to OpenOffice.org Digital Signatures, OOoCon 2004 (20)

How to write secure code
How to write secure codeHow to write secure code
How to write secure code
 
Sql_DG_presentation.pptx
Sql_DG_presentation.pptxSql_DG_presentation.pptx
Sql_DG_presentation.pptx
 
Iaetsd a survey on cloud storage security with
Iaetsd a survey on cloud storage security withIaetsd a survey on cloud storage security with
Iaetsd a survey on cloud storage security with
 
Symmetric key encryption
Symmetric key encryptionSymmetric key encryption
Symmetric key encryption
 
Encryption in Cryptography
Encryption in CryptographyEncryption in Cryptography
Encryption in Cryptography
 
Internet security evaluation system documentation nikitha
Internet security evaluation system documentation nikithaInternet security evaluation system documentation nikitha
Internet security evaluation system documentation nikitha
 
Digital signaturepattern 10 30
Digital signaturepattern 10 30Digital signaturepattern 10 30
Digital signaturepattern 10 30
 
Track 5 session 2 - st dev con 2016 - security iot best practices
Track 5   session 2 - st dev con 2016 - security iot best practicesTrack 5   session 2 - st dev con 2016 - security iot best practices
Track 5 session 2 - st dev con 2016 - security iot best practices
 
Encryption symmetric key
Encryption symmetric keyEncryption symmetric key
Encryption symmetric key
 
multiple encryption in clouud computing
multiple encryption in clouud computingmultiple encryption in clouud computing
multiple encryption in clouud computing
 
Cisco cybersecurity essentials chapter -5
Cisco cybersecurity essentials chapter -5Cisco cybersecurity essentials chapter -5
Cisco cybersecurity essentials chapter -5
 
Toronto MuleSoft Meetup: Virtual Meetup #3
Toronto MuleSoft Meetup: Virtual Meetup #3Toronto MuleSoft Meetup: Virtual Meetup #3
Toronto MuleSoft Meetup: Virtual Meetup #3
 
Cyber security workshop talk.pptx
Cyber security workshop talk.pptxCyber security workshop talk.pptx
Cyber security workshop talk.pptx
 
20-security.ppt
20-security.ppt20-security.ppt
20-security.ppt
 
Attributes based encryption with verifiable outsourced decryption
Attributes based encryption with verifiable outsourced decryptionAttributes based encryption with verifiable outsourced decryption
Attributes based encryption with verifiable outsourced decryption
 
Web-of-Things and Services Security
Web-of-Things and Services SecurityWeb-of-Things and Services Security
Web-of-Things and Services Security
 
fengmei.ppt
fengmei.pptfengmei.ppt
fengmei.ppt
 
Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)
 
fengmei.ppt
fengmei.pptfengmei.ppt
fengmei.ppt
 
SSL Implementation - IBM MQ - Secure Communications
SSL Implementation - IBM MQ - Secure Communications SSL Implementation - IBM MQ - Secure Communications
SSL Implementation - IBM MQ - Secure Communications
 

More from Malte Timmermann

2014 12-08 - odf plugfest - operations based odf editing with ox documents
2014 12-08 - odf plugfest - operations based odf editing with ox documents2014 12-08 - odf plugfest - operations based odf editing with ox documents
2014 12-08 - odf plugfest - operations based odf editing with ox documentsMalte Timmermann
 
OpenOffice.org and ODF Accessibility Today (OOoCon 2008 Bejing)
OpenOffice.org and ODF Accessibility Today (OOoCon 2008 Bejing)OpenOffice.org and ODF Accessibility Today (OOoCon 2008 Bejing)
OpenOffice.org and ODF Accessibility Today (OOoCon 2008 Bejing)Malte Timmermann
 
OpenOffice.org and ODF Accessibility, ABI Workshop 2006
OpenOffice.org and ODF Accessibility, ABI Workshop 2006OpenOffice.org and ODF Accessibility, ABI Workshop 2006
OpenOffice.org and ODF Accessibility, ABI Workshop 2006Malte Timmermann
 
OpenOffice.org and ODF Accessibility, OOoCon 2006
OpenOffice.org and ODF Accessibility, OOoCon 2006OpenOffice.org and ODF Accessibility, OOoCon 2006
OpenOffice.org and ODF Accessibility, OOoCon 2006Malte Timmermann
 
Linux Accessibility Workshop, Sun Accessibility
Linux Accessibility Workshop, Sun AccessibilityLinux Accessibility Workshop, Sun Accessibility
Linux Accessibility Workshop, Sun AccessibilityMalte Timmermann
 
Sun ODF Plugin for MS Office
Sun ODF Plugin for MS OfficeSun ODF Plugin for MS Office
Sun ODF Plugin for MS OfficeMalte Timmermann
 

More from Malte Timmermann (7)

2014 12-08 - odf plugfest - operations based odf editing with ox documents
2014 12-08 - odf plugfest - operations based odf editing with ox documents2014 12-08 - odf plugfest - operations based odf editing with ox documents
2014 12-08 - odf plugfest - operations based odf editing with ox documents
 
OX Documents Explained
OX Documents ExplainedOX Documents Explained
OX Documents Explained
 
OpenOffice.org and ODF Accessibility Today (OOoCon 2008 Bejing)
OpenOffice.org and ODF Accessibility Today (OOoCon 2008 Bejing)OpenOffice.org and ODF Accessibility Today (OOoCon 2008 Bejing)
OpenOffice.org and ODF Accessibility Today (OOoCon 2008 Bejing)
 
OpenOffice.org and ODF Accessibility, ABI Workshop 2006
OpenOffice.org and ODF Accessibility, ABI Workshop 2006OpenOffice.org and ODF Accessibility, ABI Workshop 2006
OpenOffice.org and ODF Accessibility, ABI Workshop 2006
 
OpenOffice.org and ODF Accessibility, OOoCon 2006
OpenOffice.org and ODF Accessibility, OOoCon 2006OpenOffice.org and ODF Accessibility, OOoCon 2006
OpenOffice.org and ODF Accessibility, OOoCon 2006
 
Linux Accessibility Workshop, Sun Accessibility
Linux Accessibility Workshop, Sun AccessibilityLinux Accessibility Workshop, Sun Accessibility
Linux Accessibility Workshop, Sun Accessibility
 
Sun ODF Plugin for MS Office
Sun ODF Plugin for MS OfficeSun ODF Plugin for MS Office
Sun ODF Plugin for MS Office
 

Recently uploaded

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 

Recently uploaded (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 

OpenOffice.org Digital Signatures, OOoCon 2004

  • 1. OOo Digital Signatures Malte Timmermann Technical Architect Sun Microsystems GmbH
  • 2. About the Speaker ● Technical Architect in OpenOffice.org/StarOffice development ● OOo/StarOffice developer since 1991/94 ● Main focus: Core Development – Security – Accessibility – Past: EditEngine, Help System, ...
  • 3. Agenda ● Why Digital Signatures? ● Technology for Digital Signatures ● Implementation in OpenOffice.org/StarOffice ● Future Outlook
  • 4. Why Digital Signatures? ● Authentication ● Authorization ● Verify Document Integrity
  • 5. Authentication ● A Basic Security Issue is Authentication ● Authentication is the process of confirming the identity of an entity (a user, a machine, a company) ● Securely identify the Author of a Document
  • 6. Authorization ● Authentication serves as the basis for Authorization ● Specifically, once it knows the identity of a subject, an application may then specify what set of operations that subject may perform
  • 7. Authorization ● Macro Security – Decide whether to run a macro or not ● Decision based on author, not on macro content, because you can't review every macro you receive – Fine Grained Macro Security ● Macros from different authors can have different access rights to systems resources
  • 8. Authorization ● Digital Rights Management – Digital Signatures can be used for simple DRM: Who is allowed to read/modify/print the document? – DRM cannot be enforced with this, only be implemented in specific applications
  • 9. Verify Document Integrity ● Verify that the Document Content was not altered – A document might simply be corrupted because of broken file transfer, but it can also be manipulated by Intention – Checksums / Hash Values can be used to verify the Content
  • 10. Technology for Digital Signatures ● Hash Values ● Encryption Algorithms ● Public Key Certificates
  • 11. Hash Values ● One Way Hash Functions – Easy to compute, but difficult to reverse – Difficult to find two input values which result in same output value – Can be used to calculate Hash Values for the document content, which are much smaller than the Document Content itself – Hash Values can be stored at a separate place or as part of the Signature – Use same Hash Function to compute Hash Values for a received Document, compare with the saved Values
  • 12. Encryption Algorithms ● Change Data so it can only be read with the proper Encryption Key – Original text is called “Plain Text” – Transformed text is called “Cipher Text” – Recovering Plain Text from Cipher Text only possible with correct Key ● Encryption Types – Symmetric Encryption – Asymmetric Encryption
  • 13. Symmetric Encryption ● Same Key is used for Encryption and Decryption ● Also called “Secret Key” Ciphers – Two communicating parties must share a secret key. This requirement creates some difficulties in key management and key distribution ● Improve Crypto Strength – Symmetric Ciphers can be stacked to improve Crypto strength of the whole system, such as in the case of triple-DES
  • 14. Asymmetric Encryption ● Pair of Keys, one is used for Encryption, the other for Decryption ● Private Key is only known by the Owner, Public Key can be know by everybody and Easily being distributed via Public Channels
  • 15. Asymmetric Encryption ● In some Asymmetric Systems the Encryption and Decryption is reversible – This means that one can apply the decryption operation with the private key to the plaintext to get ciphertext, and one can recover the plaintext by applying the encryption operation with the public key to the ciphertext. – Only the holder of the private key can generate the ciphertext with these systems, so the ciphertext can serve as a digital signature of the plaintext, and anyone with the public key can verify the authenticity of the signature
  • 16. Public Key Certificates ● Users of public-key applications and systems must be confident that the public key of a subject is genuine ● Public-key certificates are used to establish trust. A public-key certificate is a binding of a public key to a subject, whereby the certificate is digitally signed by the private key of another entity, often called a Certification Authority (CA)
  • 17. Public Key Certificates ● Holds together Information about the Owner – Name, Email Address, Public Key, Company Name, ... ● The standard digital certificate format is ITU-T X.509. ● An X.509 certificate binds a public key to a Distinguished Name
  • 18. Implementation in OpenOffice.org/StarOffice ● W3C XML DSIG ● OOo Security Framework
  • 19. W3C XML DSIG ● OpenOffice.org implements Digital Signatures following W3C XML DSIG Recommendations – Structure of the Signature itself is XML – Used Encryption and Hash Algorithms are stored within the Signature – Signature can easily be verified with different implementations
  • 20. W3C XML DSIG ● XML Content can be verified via DOM, physical representation doesn't matter ● Implementation for Binary Data like Pictures is also available
  • 21. OOo Security Framework ● Application shouldn't care about Certificate Deployment and Management ● Use existing Infrastructure – MS Crypto on Windows – Mozilla / NSS on Linux and Solaris
  • 22. OOo Security Framework ● LibXMLSec, LibXML2 ● OpenOffice.org uses LibXMLSec and LibXML2 to create and verify Digital Signatures ● LibXMLSec can handle MS Crypto API and NSS ● The OOo Security Framework is designed to support different implementations, like Java JSR 105/106
  • 23. Demonstrations ● Digital Signatures – Adding some Signatures – Broken Signatures
  • 24. Demonstrations ● Macro Security – Security Levels – Trusted Sources and Authors
  • 25. Other Security Options ● Document Encryption ● Warn if certain Information are saved, signed or printed and have – Versions – Redlining Information – Notes ● Remove Personal Information on Saving ● Recommend Password Protection on Saving
  • 26. Demonstrations ● Other Security Options
  • 27. Future Outlook ● Fine Grained Macro Security – UNO already offers a mechanism for this – Needs a lot of changes in UNO API Implementations ● W3C Encryption using Certificates – Needs Enhancements to our current framework – Workflow and Key Retrieval undefined ● (Digital Rights Management)