Few days ago, I finished reading the book Digital Fortress by Dan Brown. It was a book which didn't let me take a rest in the middle of reading. Every chapter, every page leads to a huge curiosity on whats going to happen next and how they will overcome it. Surely, Digital Fortress is a really good thriller book for everybody. Besides the good part of the book, I have some comments on its content from a technical point of view. I agree to the fact that a book for a common reader can not contain most accurate technical details of something described inside the book. That's totally OK because that's not a research paper but instead a novel. However my curious mind mostly got attracted to the technical details and tried to reason why things happen like that and why they didn't do that in some other way.
The most obvious question which came into my mind is related to the invention of the Internet. DARPA (Defense Advanced Research Project Agency) started to build such a distributed system mainly due to security concerns from physical attacks on a centralized command and control center or a data center right? Finally it evolved into the Internet what we see today with a huge potential in commercial and social applications. Even today, distributed systems are the way to face any threats of losing a single point in a system without losing the functionality. The attack can come physically or through the network but we can face it when we have the functionality distributed over the network.
In the book Digital Fortress, one question that bothered me so much was, why this TRANSLTR happened to be a single super computer which does the whole code breaking work. Due to it's centralized architecture, it faced both physical and network threats. When the cooling mechanism went down, they were about to lose the whole code breaking system. That means even an accurately targeted missile into this building of TRANSLTR machine can completely blow off whole code breaking capabilities. In the mean time, network based attacks also targets this centralized system.
The second question is completely related to it. Why the data-bank is not distributed. They should have done that because it appears like the data-bank is a more critical component that this TRANSLTR thing. If these guys store the ballistic missile launch codes, identities of foreign spies, different information related to military installments outside US soil, etc, this is critical. In the mean time, TRANSLTR had access to this centralized data-bank without having to go through some firewall protection. This is a very bad design. They had a firewall for their code breaking machine but not in between their main storage and TRANSLTR inside the same premises apparently.
There's another question which sometimes made me angry while reading. TRANSLTRs functionalities and its daily tasks are transparent to many people. OKay, a cipher text is inserted into the code breaking system and it is taking hours whithout being able to decrypt it. So, what? Every Tom Dick and Harry started to be aware of it. Maintaining the system as technicians and also as people who manage its financial costs is a one thing. Code breaking and national security is another thing. In the Digital Fortress book, many people who have different jobs to do, started to interrupt the work of cryptographers and question the ongoing processes of the code breaking system. It is true that at the end, those who questioned the things were right. However it doesn't justify the security threat of exposing the cryptographic tasks to those who do some other jobs.
Anyway at the end, everything got solved beautifully and had some romantic moments such as David proposing from Spain over the network to Susan at the NSA main data-bank control room or somewhere. Digital Fortress is a nice thriller book which I read after a long time. I think I should find more books from Dan Brown and read in the future.