646 \end{textblock} |
646 \end{textblock} |
647 |
647 |
648 \end{frame} |
648 \end{frame} |
649 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
649 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
650 |
650 |
651 |
651 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
652 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
652 \begin{frame}[c] |
653 \begin{frame}[c] |
653 \frametitle{JavaScript + Node.js} |
654 \frametitle{Why Scala?} |
|
655 |
|
656 \begin{textblock}{6}(1,3) |
|
657 \begin{tabular}{l} |
|
658 \mbox{}\hspace{-1mm}\includegraphics[scale=0.36]{pics/twitter.png}\\[-1mm] |
|
659 \includegraphics[scale=0.30]{pics/linked.png}\\ |
|
660 \includegraphics[scale=0.30]{pics/guardian.jpg}\\[-3mm] |
|
661 \mbox{}\hspace{-2mm}\includegraphics[scale=0.38]{pics/morgan.png}\\[-3mm] |
|
662 \includegraphics[scale=0.30]{pics/suisse.png}\\ |
|
663 \includegraphics[scale=0.20]{pics/edf.png}\\[-1mm] |
|
664 \includegraphics[scale=0.08]{pics/novell.png}\\[-1mm] |
|
665 \includegraphics[scale=0.30]{pics/foursquare.png}\\ |
|
666 \includegraphics[scale=0.30]{pics/hsbc.png}\\ |
|
667 {\large\bf ...} |
|
668 \end{tabular} |
|
669 \end{textblock} |
|
670 |
|
671 \only<2->{ |
|
672 \begin{textblock}{6}(6,3) |
|
673 \includegraphics[scale=0.35]{pics/jobgraph.png}\\ |
|
674 \end{textblock}} |
|
675 |
|
676 \only<3->{ |
|
677 \begin{textblock}{6}(7.3,9.2) |
|
678 \begin{tabular}{l} |
|
679 \footnotesize 2013: 1$\%$\\[-2mm] |
|
680 \footnotesize 2014: 3$\%$\\[-2mm] |
|
681 \footnotesize 2015: 9$\%$\\[-2mm] |
|
682 \footnotesize 2016: 27$\%$\\[-2mm] |
|
683 \footnotesize 2017: 81$\%$\\[-2mm] |
|
684 \footnotesize 2018: 243$\%$ \raisebox{-1mm}{\includegraphics[scale=0.02]{pics/smiley.jpg}} |
|
685 \end{tabular} |
|
686 \end{textblock}} |
|
687 |
|
688 \only<3->{ |
|
689 \begin{textblock}{6}(6,9.5) |
|
690 \footnotesize 5 yrs $\begin{cases}\mbox{}\\[1.4cm]\end{cases}$ |
|
691 \end{textblock}} |
|
692 |
|
693 \only<4->{ |
|
694 \begin{textblock}{11}(5,14.1) |
|
695 \textcolor{gray}{ |
|
696 \footnotesize {\bf in London today:} 1 Scala job for every 30 Java jobs;\\[-2mm] |
|
697 Scala programmers seem to get up to 20\% better salary} |
|
698 \end{textblock}} |
|
699 |
|
700 |
|
701 \only<5->{ |
|
702 \begin{textblock}{1}(3,6) |
|
703 \begin{bubble}[8.5cm] |
|
704 \normalsize |
|
705 Scala is a functional and object-oriented programming |
|
706 language; compiles to the JVM; does not need null-pointer |
|
707 exceptions; a course on Coursera\\ |
|
708 \mbox{}\hfill\url{http://www.scala-lang.org} |
|
709 \end{bubble} |
|
710 \end{textblock}} |
|
711 |
|
712 |
|
713 \end{frame} |
|
714 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
715 |
|
716 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
717 \begin{frame}[c] |
|
718 \frametitle{Scala + Play} |
|
719 |
654 |
720 A simple response from the server: |
655 A simple response from the server: |
721 |
656 |
722 \small |
657 \small |
723 \lstinputlisting{../progs/app0.scala} |
658 \lstinputlisting[language=JavaScript]{../progs/ap0.js} |
724 \medskip |
659 \medskip\pause |
725 |
660 |
726 \small |
661 \small |
727 alternative response:\smallskip\\ |
662 alternative response:\smallskip\\ |
728 |
663 |
729 |
664 |
730 \lstinline{Ok("<H1>Hello world!</H1>").as(HTML)} |
665 \lstinline[language=JavaScript]{response.write('<H1>Hello World</H1>');} |
731 |
666 |
732 \end{frame} |
667 \end{frame} |
733 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
668 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
734 |
669 |
735 |
670 |
736 |
671 |
737 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
672 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
738 \mode<presentation>{ |
673 \begin{frame}[c] |
739 \begin{frame}[c] |
674 |
740 |
675 \footnotesize |
741 {\lstset{language=Scala}\fontsize{8}{10}\selectfont |
676 \lstinputlisting[language=JavaScript]{../progs/ap1.js} |
742 \texttt{\lstinputlisting{../progs/app1.scala}}} |
677 |
743 |
678 \end{frame} |
744 |
679 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
745 \end{frame}} |
680 |
746 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
681 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
747 |
682 \begin{frame}[c] |
748 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
683 \frametitle{Cookies} |
749 \mode<presentation>{ |
|
750 \begin{frame}[c] |
|
751 \frametitle{\begin{tabular}{c}Cookies\end{tabular}} |
|
752 |
|
753 |
684 |
754 \begin{textblock}{1}(1.5,5) |
685 \begin{textblock}{1}(1.5,5) |
755 \begin{tabular}{c} |
686 \begin{tabular}{c} |
756 \includegraphics[scale=0.15]{pics/servers.png}\\[-2mm] |
687 \includegraphics[scale=0.15]{pics/servers.png}\\[-2mm] |
757 \small Servers from\\[-2mm] |
688 \small Servers from\\[-2mm] |
795 \end{itemize} |
726 \end{itemize} |
796 \end{textblock}} |
727 \end{textblock}} |
797 |
728 |
798 \only<5>{ |
729 \only<5>{ |
799 \begin{textblock}{11}(1,3) |
730 \begin{textblock}{11}(1,3) |
800 \begin{tikzpicture} |
731 \begin{bubble}[10cm]\small |
801 \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] |
732 {\bf EU Privacy Directive about Cookies:}\smallskip\\ ``In May 2011, a |
802 {\normalsize\color{darkgray} |
733 European Union law was passed stating that websites that leave |
803 \begin{minipage}{10cm}\raggedright\small |
734 non-essential cookies on visitors' devices have to alert the visitor |
804 {\bf EU Privacy Directive about Cookies:}\smallskip\\ |
735 and get acceptance from them. This law applies to both individuals and |
805 ``In May 2011, a European Union law was passed stating that websites that leave non-essential cookies on visitors' devices have to alert the visitor and get acceptance from them. This law applies to both individuals and businesses based in the EU regardless of the nationality of their website's visitors or the location of their web host. It is not enough to simply update a website's terms and conditions or privacy policy. The deadline to comply with the new EU cookie law was 26th May 2012 and failure to do so could mean a fine of up to \pounds{}500,000.'' |
736 businesses based in the EU regardless of the nationality of their |
806 \hfill\small\textcolor{gray}{$\rightarrow$BBC News}, \textcolor{blue}{\url{goo.gl/RI4qhh}} |
737 website's visitors or the location of their web host. It is not enough |
807 \end{minipage}}; |
738 to simply update a website's terms and conditions or privacy |
808 \end{tikzpicture} |
739 policy. The deadline to comply with the new EU cookie law was 26th May |
|
740 2012 and failure to do so could mean a fine of up to |
|
741 \pounds{500,000}.'' \hfill\small\textcolor{gray}{$\rightarrow$BBC |
|
742 News}, \textcolor{blue}{\url{goo.gl/RI4qhh}} |
|
743 \end{bubble} |
809 \end{textblock}} |
744 \end{textblock}} |
810 |
745 |
811 \end{frame}} |
746 \end{frame} |
812 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
747 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
813 |
748 |
814 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
749 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
815 \mode<presentation>{ |
|
816 \begin{frame}[t] |
750 \begin{frame}[t] |
817 \begin{itemize} |
751 \begin{itemize} |
818 \item While cookies are per web-page, this can be easily circumvented. |
752 \item While cookies are per web-page, this can be easily circumvented. |
819 \end{itemize} |
753 \end{itemize} |
820 |
754 |
886 \draw[red, <->, line width = 0.5mm] (X) -- (Y); |
820 \draw[red, <->, line width = 0.5mm] (X) -- (Y); |
887 \node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {}; |
821 \node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {}; |
888 \end{tikzpicture} |
822 \end{tikzpicture} |
889 \end{textblock} |
823 \end{textblock} |
890 |
824 |
891 |
825 \end{frame} |
892 |
826 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
893 \end{frame}} |
827 |
894 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
828 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
895 |
829 \begin{frame}[c] |
896 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
830 \frametitle{My First Real Webapp} |
897 \mode<presentation>{ |
|
898 \begin{frame}[c] |
|
899 \frametitle{\begin{tabular}{c}My First Webapp\end{tabular}} |
|
900 |
831 |
901 {\bf GET request:}\smallskip |
832 {\bf GET request:}\smallskip |
902 \begin{enumerate} |
833 \begin{enumerate} |
903 \item read the cookie from client |
834 \item read the cookie from client |
904 \item if none is present, set \texttt{visits} to \textcolor{blue}{$0$} |
835 \item if none is present, set \texttt{counter} to \textcolor{blue}{zero} |
905 \item if cookie is present, extract \texttt{visits} counter |
836 \item if cookie is present, extract \texttt{counter} |
906 \item if \texttt{visits} is greater or equal \textcolor{blue}{$10$}, \\ |
837 \item if \texttt{counter} is greater or equal \textcolor{blue}{$5$}, \\ |
907 print a valued customer message\\ |
838 print a valued customer message\\ |
908 otherwise just a normal message |
839 otherwise just a normal message |
909 \item increase \texttt{visits} by \textcolor{blue}{$1$} and store new cookie with client |
840 \item increase \texttt{counter} by \textcolor{blue}{$1$} and store new cookie with client |
910 \end{enumerate} |
841 \end{enumerate} |
911 |
842 |
912 |
843 \end{frame} |
913 \end{frame}} |
844 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
914 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
845 |
915 |
846 |
916 |
847 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
917 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
918 \mode<presentation>{ |
|
919 \begin{frame}[c] |
848 \begin{frame}[c] |
920 \mbox{}\\[-9mm] |
849 \mbox{}\\[-9mm] |
921 |
850 |
922 {\lstset{language=Scala}\fontsize{8}{10}\selectfont |
|
923 \texttt{\lstinputlisting{../progs/app2.scala}}} |
|
924 |
|
925 \footnotesize |
851 \footnotesize |
926 \begin{itemize} |
852 \lstinputlisting[language=JavaScript]{../progs/ap2.js} |
927 \item cookie value encoded as hash |
853 |
928 \end{itemize} |
854 \end{frame} |
929 \end{frame}} |
855 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
930 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
856 |
931 |
857 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
932 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
933 \mode<presentation>{ |
|
934 \begin{frame}[c] |
858 \begin{frame}[c] |
935 |
859 |
936 \begin{center} |
860 \begin{center} |
937 \includegraphics[scale=1.8]{pics/barrier.jpg} |
861 \includegraphics[scale=1.8]{pics/barrier.jpg} |
938 \end{center} |
862 \end{center} |
939 |
863 |
940 \begin{itemize} |
864 \begin{itemize} |
941 \item data integrity needs to be ensured |
865 \item data integrity needs to be ensured |
942 \end{itemize} |
866 \end{itemize} |
943 |
867 |
944 \end{frame}} |
868 \end{frame} |
945 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
869 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
946 |
870 |
947 |
871 |
948 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
872 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
949 \mode<presentation>{ |
|
950 \begin{frame}[c] |
873 \begin{frame}[c] |
951 \mbox{}\\[-7mm] |
874 \mbox{}\\[-7mm] |
952 |
875 |
953 {\lstset{language=Scala}\fontsize{8}{10}\selectfont |
876 \footnotesize |
954 \texttt{\lstinputlisting{../progs/app3.scala}}} |
877 \lstinputlisting[language=JavaScript]{../progs/ap3.js} |
955 |
878 |
956 \small |
879 \end{frame} |
957 \begin{itemize} |
|
958 \item the counter/hash pair is intended to prevent tampering |
|
959 \end{itemize} |
|
960 \end{frame}} |
|
961 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
880 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
962 |
881 |
963 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
882 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
964 \mode<presentation>{ |
883 \begin{frame}[c] |
965 \begin{frame}[c] |
884 \frametitle{SHA-1} |
966 \frametitle{\begin{tabular}{c}SHA-1\end{tabular}} |
|
967 |
885 |
968 \begin{itemize} |
886 \begin{itemize} |
969 \item SHA-1 is a cryptographic hash function\\ |
887 \item SHA-1 is a cryptographic hash function\\ |
970 (MD5, SHA-256, SHA-512, \ldots) |
888 (MD5, SHA-256, SHA-512, \ldots) |
971 \item message $\rightarrow$ digest |
889 \item message $\rightarrow$ digest |
972 \item attacks exist: $2^{80} \rightarrow 2^{61}$ \bigskip\pause |
890 \item attacks exist: $2^{80} \rightarrow 2^{61}$ \bigskip\pause |
973 \item but dictionary attacks are much more effective for extracting passwords (later) |
891 \item but dictionary attacks are much more effective for extracting passwords (later) |
974 \end{itemize} |
892 \end{itemize} |
975 |
893 |
976 \end{frame}} |
894 \end{frame} |
977 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
895 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
978 |
896 |
979 |
897 |
980 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
898 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
981 \mode<presentation>{ |
899 \begin{frame}[c] |
982 \begin{frame}[c] |
900 \mbox{}\\[-2mm] |
983 \mbox{}\\[-9mm] |
901 |
984 |
902 {\footnotesize\lstinputlisting[language=JavaScript]{../progs/ap4.js}} |
985 {\lstset{language=Scala}\fontsize{8}{10}\selectfont |
903 |
986 \texttt{\lstinputlisting{../progs/app4.scala}}} |
904 \begin{textblock}{1}(9,0) |
987 |
905 \begin{tikzpicture}[scale=1.3] |
988 \begin{textblock}{1}(9,1) |
906 \draw[white] (0,0) node (X) {}; |
989 \begin{tikzpicture}[scale=1.3] |
907 \draw[white] (3.5,0) node (Y) {}; |
990 \draw[white] (0,0) node (X) {}; |
|
991 \draw[white] (3,0) node (Y) {}; |
|
992 \draw[red, <-, line width = 2mm] (X) -- (Y); |
908 \draw[red, <-, line width = 2mm] (X) -- (Y); |
993 \node [inner sep=5pt,label=above:\textcolor{black}{\small should be random}] at ($ (X)!.5!(Y) $) {}; |
909 \node [inner sep=5pt,label=above:\textcolor{black}{\small should be random}] at ($ (X)!.5!(Y) $) {}; |
994 \end{tikzpicture} |
910 \end{tikzpicture} |
995 \end{textblock} |
911 \end{textblock} |
996 |
912 |
997 \begin{textblock}{1}(6.6,5.1) |
913 \begin{textblock}{1}(12.6,6.5) |
|
914 \begin{tikzpicture}[scale=1.3] |
|
915 \draw[white] (0,0) node (X) {}; |
|
916 \draw[white] (-1,-1) node (Y) {}; |
|
917 \draw[red, <-, line width = 2mm] (X) -- (Y); |
|
918 \node [inner sep=5pt,label=above:{}] at ($ (X)!.5!(Y) $) {}; |
|
919 \end{tikzpicture} |
|
920 \end{textblock} |
|
921 |
|
922 \begin{textblock}{1}(9.9,11.5) |
998 \begin{tikzpicture}[scale=1.3] |
923 \begin{tikzpicture}[scale=1.3] |
999 \draw[white] (0,0) node (X) {}; |
924 \draw[white] (0,0) node (X) {}; |
1000 \draw[white] (1,-1) node (Y) {}; |
925 \draw[white] (1,-1) node (Y) {}; |
1001 \draw[red, <-, line width = 2mm] (X) -- (Y); |
926 \draw[red, <-, line width = 2mm] (X) -- (Y); |
1002 \node [inner sep=5pt,label=above:{}] at ($ (X)!.5!(Y) $) {}; |
927 \node [inner sep=5pt,label=above:{}] at ($ (X)!.5!(Y) $) {}; |
1003 \end{tikzpicture} |
928 \end{tikzpicture} |
1004 \end{textblock} |
929 \end{textblock} |
1005 |
930 |
1006 \end{frame}} |
931 \end{frame} |
1007 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
932 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
1008 |
933 |
1009 |
934 |
1010 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
935 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
1011 \mode<presentation>{ |
936 \mode<presentation>{ |
1138 \footnotesize graphics card\\[-1mm] |
1062 \footnotesize graphics card\\[-1mm] |
1139 \footnotesize ca.~\pounds{}300 |
1063 \footnotesize ca.~\pounds{}300 |
1140 \end{tabular} |
1064 \end{tabular} |
1141 \end{textblock}} |
1065 \end{textblock}} |
1142 |
1066 |
1143 |
1067 \end{frame} |
1144 |
|
1145 \end{frame}} |
|
1146 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
1068 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
1147 |
1069 |
1148 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
1070 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
1149 \mode<presentation>{ |
1071 \begin{frame}[c] |
1150 \begin{frame}[c] |
1072 \frametitle{Passwords} |
1151 \frametitle{\begin{tabular}{c}Passwords\end{tabular}} |
1073 |
1152 |
1074 How to recover from a break in?\pause\medskip |
1153 How to recover from a breakin?\pause\medskip |
|
1154 |
1075 |
1155 \begin{itemize} |
1076 \begin{itemize} |
1156 \item Do not send passwords in plain text. |
1077 \item Do not send passwords in plain text. |
1157 \item Security questions are tricky to get right. |
1078 \item Security questions are tricky to get right. |
1158 \item QQ (Chinese Skype) authenticates you via contacts. |
1079 \item QQ (Chinese Skype) authenticates you via contacts. |
1159 \end{itemize} |
1080 \end{itemize} |
1160 |
1081 |
1161 \end{frame}} |
1082 \end{frame} |
1162 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
1083 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
1163 |
1084 |
1164 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
1085 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
1165 \mode<presentation>{ |
1086 \begin{frame}[c] |
1166 \begin{frame}[c] |
1087 \frametitle{This Course} |
1167 \frametitle{\begin{tabular}{c}This Course\end{tabular}} |
|
1168 |
1088 |
1169 \begin{itemize} |
1089 \begin{itemize} |
1170 \item break-ins (buffer overflows) |
1090 \item break-ins (buffer overflows) |
1171 \item access control\\ (role based, data security / data integrity) |
1091 \item access control\\ (role based, data security / data integrity) |
1172 \item electronic voting |
1092 \item electronic voting |