Upgrade to Pro — share decks privately, control downloads, hide ads and more …

E-potpis na slobodnom softveru i kako posle Jave?

E-potpis na slobodnom softveru i kako posle Jave?

DORS/CLUC 2015, Zagreb

Goran Rakić

May 19, 2015
Tweet

More Decks by Goran Rakić

Other Decks in Technology

Transcript

  1. E - p o t p i s n a

    s l o b o d n o m s o f t v e r u i š t a p o s l e J a v a a p l e t a ? G o r a n R a k i ć g r a k i c @d e v b a s e . n e t t w # d o r s c l u c O i z l a g a č u G o r a n R a k i ć j e p r o g r a me r s a z n a č a j n i m i s k u s t v o m u r a z v o j u z a v e b . I d e n t i f i k u j e s e k a o č l a n z a j e d n i c e s l o b o d n o g s o f t v e r a i s n a ž n o p o d r ž a v a o t v o r e n e s t a n d a r d e . Z a n i ma g a e I D , t e h n o l o g i j e k a o š t o s u d i g i t a l n i p o t p i s ( * A d E S p r o f i l i , ž i v o t n i v e k d o k u me n t a , i n t e r o p e r a b i l n o s t ) , S A ML i X f o r ms . A u t o r j e p o p u l a r n e b i b l i o t e k e z a č i t a n j e k a r t i č n e l i č n e k a r t e , a d o s t u p n a j ei b i b l i o t e k a z a č i t a n j e s a o b r a ć j n e d o z v o l e p o E U s p e c i f i k a c i j i . B i o j e č l a n r a d n e g r u p e z a o c e n u u s a g l a š e n o s t i p r a k t i č n o g r a d a i p o l i t i k e i z d a v a o c a u p r o c e s u r e g i s t r a c i j e s e r t i f i k a c i o n o g t e l a z a i z d a v a n j e k v a l i f i c i r a n i h s e r t i f i k a t a i s a r a d n i k u i z r a d i p r a k t i č n i h p r a v i l a r a d a z a p r v o r e g i s t r o v a n o t e l o z a i z d a v a n j e v r e me n s k o g ž i g a u S r b i j i . V i š e g o d i š n j i j e u č e s n i k O p e n O f f i c e . o r g i L i b r e O f f i c e p r o j e k a t a i k o o r d i n a t o r p r o j e k t a l o k a l i z a c i j e .
  2. D O R S / C L U C 2

    0 1 1 • 2 0 1 1 d o 2 0 1 5 : ) • Š t a j e n o v o z a č e t i r i g o d i n e ? • J a v a a p l e t i z a me n i l i I E A c t i v e X / C a p i c o m, k a r t i c e p r o r a d i l e p o d G N U / L i n u x o m • e I D A S
  3. E l e k t r o n s k

    i p o t p i s a u t e n t i č n o s t i n t e g r i t e t n e p o r e c i v o s t k o j i m k l j u č e m i š t a j e t o p o t p i s a n o t o o s t a j e p o t p i s a n o
  4. I d e n t i t e t p

    o t p i s n i k a • S e r t i f i k a c i o n o t e l o v e z u j e i d e n t i t e t p o t p i s n i k a s a j a v n i m k l j u č e m k r o z X . 5 0 9 s e r t i f i k a t
  5. • Z a k v a l i f i

    k o v a n i e - p o t p i s , t a j n i k l j u č g e n e r i š e u u r e đ a j u i n i k a d a g a n e n a p u š t a • A p l i k a c i j a ma p r u ž a i n t e r f e j s k a u p t r e b i k l j u č a n a k o n „ o t k l j u č a v a n j a “ P I N - o m
  6. S i g n a t u r e C

    r e a t i o n D a t a – S C D S i g n a t u r e C r e a t i o n D e v i c e – S C D e v S e c u r e S i g n a t u r e C r e a t i o n D e v i c e – S S C D Q u a l i f i e d S i g n a t u r e C r e a t i o n D e v i c e – Q S C D
  7. F o r ma t z a p i s

    a • H e š i r a mo d o k u me n t • Š i f r u j e mo h e š t a j n i m k l j u č e m – t o j e e - p o t p i s • D o d a mo s e r t i f i k a t p o t p i s n i k a • D o d a mo p u t a n j u s e r t i f i k a t a ( s e r t i f i k a t e i z d a v a o c a ) • D o d a mo C R L l i s t e / O C S P o d g o v o r e • D o d a mo v r e me n s k i ž i g • D o d a mo . . .
  8. P K C S # 7 , C MS ,

    S / MI ME , X ML - D S i g , C A d E S / X A d E S / P A d E S p r o f i l i , r a z n i k o n t e j n e r i / A S i C , . . .
  9. h t t p s : / / x k

    c d . c o m/ 9 2 7 /
  10. E l e k t r o n s k

    i p o t p i s n a G N U / L i n u x d e s k t o p u
  11. • P o s t a v i mo Wi

    n d o w s u V M- u • P r e p u s t i mo U S B č i t a č V M- u • I n s t a l i r a mo Wi n d o w s d r a j v e r e z a č i t a č i Wi n d o w s mi d l v r z a k a r t i c u / t o k e n • K o r i s t i mo A d o b e R e a d e r d a p o t p i š e mo P D F • … t a k o k o r i s t i mo e - p o t p i s n a G N U / L i n u x u : )
  12. p c s c d - l i t e

    i f h a n d l e r ~ l i b c c i d p k c s 1 1 . s o / p k c s 1 1 - p r o x y • Mi d l v e r z a k a r t i c u / t o k e n j e s h a r e d - o b j e c t k o j i a p l i k a c i j a ma n u d i P K C S 1 1 A P I i n t e r f e j s z a l i s t a n j e k l j u č e v a i o p e r a c i j u š i f r o v a n j a . Mo r a mo i ma t i mi d l v e r z a G N U / L i n u x • Mi d l v e r s a k a r t i c o m p r i č a n a n i v o u A P D U n a r e d b i k o j e i s p o r u č u j e č i t a č u k r o z p c s c d - l i t e • p c s c d - l i t e p r o s l e đ u j e n a r e d b e č i t a č u p r e k o i f h a n d l e r a . V e ć i n a U S B č i t a č a i mp l e me n t i r a C C I D i n t e r f e j s , i f h a n d l e r j e u l i b c c i d b i b l i o t e c i • A k o i ma mo s a mo P K C S 1 1 mi d l v e r z a Wi n d o w s mo ž e mo g a p o k r e t a t i k r o z w i n e / n a V M- u . . . i p k c s 1 1 - p r o x y p o v e ž e G N U / L i n u x a p l i k a c i j u i Wi n d o w s mi l d v e r
  13. • N a j b o l j e t

    e h n i č k o u p u t s t v o z a l o k a l n e k a r t i c e
  14. • E l e k t r o n s

    k i p o t p i s k r o z L i b r e O f f i c e
  15. P K C S # 7 , C MS ,

    S / MI ME , X ML - D S i g , C A d E S / X A d E S / P A d E S p r o f i l i , r a z n i k o n t e j n e r i / A S i C , . . . • O D F p o t p i s p o X ML - D S i g f o r ma t u , n e p o d r ž a v a n a p r e d n a s v o j s t v a ( p r o f i l e z a d u g o r o č n o a r h i v i r a n j e , t i me s t ma p ) • O d L i b r e O f f i c e 4 . 4 o mo g u ć a v a i z v o z u p o t p i s a n i P D F , p o P A d E S f o r ma t u . P o d r š k a z a t i me s t ma p u L i b r e O f f i c e 5 . 0 • O D F 1 . 2 o mo g u ć a v a i X A d E S a l i p o p u l a r n e a p l i k a c i j e n e n u d e o p c i j u p o t p i s i v a n j a i p r o v e r e . . .
  16. X A d E S = O O o -

    X A d E S - S i g - I T j o i n u p . e c . e u r o p a . e u / s o f t w a r e / o o o - x a d e s s i g - i t / d e s c r i p t i o n • E k s t e n z i j a z a O p e n O f f i c e . o r g k o j a o mo g u ć a v a p o t p i s i p r o v e r u X A d E S p o t p i s a u O D F 1 . 2 , s a mo z a t e k s t u a l n e d o k u me n t e ( . o d t )
  17. X A d E S = O O o -

    X A d E S - S i g - I T I z g u b l j e n 2 0 1 1 . . . D o k u me n t a c i j a n a i t a l i j a n s k o m. . . O D F 1 . 2 f o r ma t . . .
  18. • P o d r ž a v a v

    i d l j i v P D F p o t p i s , u me t n u t u s l i č i c u k o j a o z n a č a v a me s t o p o t p i s a u d o k u me n t u • I a k o j e P A d E S b e z v i d l j i v e r e p r e z e n t a c i j e p o t p u n o v a l i d a n , k o r i s n i c i A d o b e R e a d e r p r o g r a ma s u n a v i k l i d a u p o t p i s a n o m d o k u me n t u p o s t o j i i o v a s l i č i c a
  19. D e a r J S i g n P

    d f u s e r s , A f t e r 4 y e a r s o f J S i g n P d f e x i s t e n c e , I ' v e d e c i d e d t o d i s c o n t i n u e t h e p r o j e c t d e v e l o p me n t .
  20. SMIME(1SSL) OpenSSL SMIME(1SSL) DESCRIPTION The smime command handles S/MIME mail.

    It can encrypt, decrypt, sign and verify S/MIME messages. PKCS7(1SSL) OpenSSL PKCS7(1SSL) DESCRIPTION The pkcs7 command processes PKCS#7 files in DER or PEM format.
  21. J a v a ? • J a v a

    t a k o đ e mo ž e d a p r i s t u p a P K C S # 1 1 mi d l v e r u • J a v a a p l e t i mo g u s e u g r a d i t i u v e b s t r a i c u • J a v a a p l e t n a č e l n o r a d i v i š e p l a t f o r ms k i . A k o i ma mo P K C S # 1 1 mi d l v e r k a r t i c e i l i t o k e n a z a G N U / L i n u x , mo ž e mo d a o č e k u j e mo d a ć e i J a v a a p l e t r a d i t i n a G N U / L i n u x u . . . • O v o j e v e l i k i k o r a k n a p r e d u o d n o s u n a I E A c t i v e X
  22. J a v a ? • A l j k

    a v i p r o g r a me r i n e ma r o m „ z a k l j u č a j u “ a p l e t z a Wi n d o w s . . . p r o v e r a v a j u O S , č i t a j u Wi n d o w s r e g i s t r y , t r a ž e P K C S # 1 1 mi d l v e r u o b l i k u . d l l - a i t d . . • T e o r i j s k i k o r i s n i c i mo g u d a „ h a k n u “ J R E t a k o d a a p l e t p r o r a d i s a G N U / L i n u x P K C S # 1 1 mi d l v e r o m, p r i me r p o r t a l a e P o r e z i P o r e s k e u p r a v e u S r b i j i • V e z a J a v a P K C S # 1 1 i J a v a p c s c d i ma b u g o v a , ↔ ↔ p o t r e b n o j e v i š e w o r k a r o u n d o v a • P o t r e b n o j e p o g o d i t i 3 2 / 6 4 - b i t k o mb i n a c i j u b r o w s e r a , j a v e , P K C S # 1 1 mi d l v e r a i p c s c d - a • J a v a p l u g i n k o r i s t i N P A P I , z a k o j i G o o g l e C h r o me i z b a c u j e , a Mi c r o s o f t E d g e u o p š t e n e ma p o d r š k u
  23. s d - d s s h t t p

    s : / / g i t h u b . c o m/ a r h s / s d - d s s d e mo P K C S # 7 , C MS , S / MI ME , X ML - D S i g , C A d E S / X A d E S / P A d E S p r o f i l i , r a z n i k o n t e j n e r i / A S i C , . . . • O p e n - s o u r c e a p l e t i s e r v e r - s i d e k o mp o n e n t a • P r o j e k a t f i n a n r i s a n o d s t r a n e E U • V i š e p l a t f o r ms k i • P o d r ž a v a s v e n a p r e d n e f o r ma t e p o t p i s a ( * A d E S ) , u k l j u č u j u ć i i A S i C k o n t e j n e r e • D e mo mo ž e d a s e k o r i s t i i k a o e n d - u s e r a p l i k a c i j a z a p o t p i s i v a n j e e l e k t r o n s k i h d o k u me n a t a
  24. e I D A S E l e k t

    r o n s k i p e č a t • N i j e D i g i t a l s e a l ( š i f r o v a n j e ) v e ć e - p o t p i s s a s e r t i f i k a t o m k o j i s e o d n o s i n a p r a v n o l i c e • P o g o d a n z a a u t o ma t s k u o b r a d u p o d a t a k a
  25. • H a r mo n i z o v

    a n i o k v i r E T S I / C E N s t a n d a r d a
  26. e I D A S S e r v e

    r S i g n i n g C l o u d S i g n i n g R e mo t e S i g n i n g S i g n i n g T r u s t S e r v i c e • P o t p i s u o b l a k u . P r u ž a l a c u s l u g e u p r a v l j a k l j u č e v i ma u i me k o r i s n i k a , n e ma v i š e t o k e n a i k a r t i c a . • Š a n s a z a ma s o v n o k o r i š ć e n j e
  27. R e mo t e S i g n i

    n g ( c ) i z r a đ e n j e k o r i š t e n j e m p o d a c i m a z a i z r a d u e l e k t r o n i č k o g p o t p i s a k o j e p o t p i s n i k m o ž e , u z v i s o k u r a z i n u p o u z d a n j a , k o r i s t i t i p o d s v o j o m i s k l j u č i v o m k o n t r o l o m ; P r o t e c t i o n P r o f i l e S e r v e r S i d e C E N / T S 4 1 9 2 4 1 • D e b a t a p o p i t a n j u p o u z d a n e i d e n t i f i k a c i j e k o r i s n i k a p r i k o r i š ć e n j u – d a l i z a h t e v a t i s e c u r e e l e me n t ( p a n a m o s t a j u „ d r a j v e r i “ i „ mi d l v e r i “ ) i l i d o z v o l i t i O T P i s l i č n o k a o d o d a t n i f a k t o r u z P I N . . .
  28. • K a k o s e r e š

    i t i J a v a a p l e t a ?
  29. We b C r y p t o We b

    C r y p t o K e y D i s c o v e r y … S e c u r e E l e me n t ?
  30. • W3 C f o k u s i r

    a n n a D R M i p r i v r e me n e k l j u č e v e . . . n e r a d i s a k l j u č e v i ma u k a r t i c a ma / t o k e n i ma . . .
  31. o p e n - e i d / h

    w c r y p t o . j s window.hwcrypto.getCertificate().then( function(cert) { log_text("Using certificate:\n" + cert.hex); window.hwcrypto.sign( cert, {type: hashtype, hex:hash}).then( function(response) { ... }, function(err) { ... }); • G i t H u b p r o j e k a t • J a v a S c r i p t A P I z a e l e k t r o n s k o p o t p i s i v a n j e • K a k o d a d o đ e mo d o P K C S # 1 1 mi d l v e r a ? • U o k v i r u p r o j e k t a i mp l e me n t a c i j a mo ž e d a k o r i s t i n a t i v n i b r o w s e r p l u g i n , l o k a l n o i n s t a l i r a n i s e r v i s , n a t i v n u mo b i l n u a p l i k a c i j u , . . . i l i j a v a a p l e t • V e b a p l i k a c i j a z a v i s i o d h w c r y t p o . j s A P I - j a , a p o g o d n a i mp l e me n t a c i j a s e u č i t a v a d i n a mi č k i • D o s t u p n o d a n a s !
  32. J a v a a p l e t i

    B r o w s e r P l u g i n s L o c a l h o s t S e r v i c e C l o u d S i g n i n g
  33. G o r a n R a k i ć

    g r a k i c @d e v b a s e . n e t t w # d o r s c l u c • H v a l a n a p a ž n j i